了解linux用户和权限
一、了解root用户及如何切换用户
1.root用户
root 用户是一个拥有最高权限的特殊用户账户,也被称为 “超级用户”(Superuser)。它拥有对系统的完全控制权,几乎可以执行任何操作,包括修改系统核心配置、管理其他用户、删除关键文件等。
root 用户的核心特点
最高权限
root 用户不受系统常规权限限制(如文件读写、进程管理、系统服务控制等),可以直接访问和修改系统中的所有资源。
系统管理的核心
许多关键的系统操作(如安装底层软件、配置网络协议、修改用户权限规则等)必须以 root 身份执行,普通用户无权操作。
风险与责任并存
由于权限过高,root 操作失误可能导致严重后果(如误删系统文件导致系统崩溃、恶意程序获取 root 权限后
root 用户的常见使用场景
安装或卸载需要系统级权限的软件(如内核模块、系统服务)。
修改系统配置文件(如/etc
目录下的网络、用户配置文件)。
管理其他用户账户(创建、删除用户,修改用户权限)。
查看或修改受保护的系统日志、进程信息。
执行磁盘分区、格式化等底层存储操作。
2.如何切换用户
Linux/Unix 系统
命令行中使用 su
命令:
语法:su [-] 用户名
普通用户切换到其它用户需要输入密码,而root用户切换到其他用户则不需要密码。
使用 sudo
命令:普通用户若在sudoers
配置文件中授权,可通过 sudo 命令
临时以 root 权限执行操作(如 sudo apt install 软件
),无需切换账户
在root用户下,输入visudo命令,会打开vi编辑器打开:/etc/sudoers
在文件最后输入:普通用户名 ALL=(ALL) NOASSWD:ALL
NOASSWD:ALL表示使用sudo命令,无需输入密码
最后通过wq保存,即可在普通用户模式下使用sudo命令临时以 root 权限执行操作。
二、用户及用户组
在计算机系统(尤其是类 Unix 系统,如 Linux、macOS 等)中,用户(User) 和用户组(Group) 是权限管理的核心机制,用于控制不同账户对系统资源(文件、目录、设备等)的访问权限。
linux系统中可以配置多个用户和用户组,用户也可以加入到多个用户组中。
1.用户组管理
创建用户组: groupadd 用户名
删除用户组: groupdel 用户名
2.用户管理
创建用户:useradd [-g -d] 用户
-g:指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
-d:-d指定用户home路径,不指定,home目录默认在:/home/用户名
删除用户: userdel [-r] 用户名
-r:删除用户的home目录,不使用-r,删除用户时,home目录保留
查看用户所属组:id [用户名]
参数不提供则查询自身
修改用户及所属组:usermod -aG 用户组 用户名,将指定用户加入指定用户组。
3.getent
该命令可以查看当前系统中有哪些用户。
语法: getent passwd
共有七个信息,分别是:
用户名:密码:用户id:组id:描述信息:home目录:执行终端
三、查看权限控制信息
1.查看Linux文件的权限管控信息
认知权限信息
通过ls -l可以以列表形式查看内容,并显示权限细节。
示例:
2.读、写、执行三种权限的含义
读权限(r),针对文件可以查看文件内容,针对文件夹可以查看文件夹内容
如ls命令
写权限(w),针对文件可以修改文件内容,针对文件夹可以在文件夹内创建删除和改名等操作。
执行权限(x),针对文件表示可以将文件作为程序执行,针对文件夹,可以更改工作目录到此文件夹。