Linux系统的超级管理员用户是root用户,root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的,一旦出了home目录,大多数地方普通用户仅有只读和执行权限,无修改权限。
1.su-sudo 命令
①su命令可以切换用户。
su [-] [用户名]
su命令:英语 switch user
- 表示切换后加载环境变量,建议带上
用户名可以省略,若省略则默认切换到root
切换用户后,可以通过exit命令退回到上一个用户。
②sudo命令可以让普通命令带有root权限。
sudo 其他命令
需要让root用户执行visudo命令,通过增加配置项可让普通用户有sudo命令的执行权限。
2.用户和用户组
Linux可以支持多用户,多用户组,用户加入多个组,Linux权限管控的单元是用户级别和用户组级别。
①用户组(以下命令需用root用户执行)
创建用户组:
groupadd 用户组名
删除用户组:
groupdel 用户组名
②用户(以下命令需用root用户执行)
创建用户:
useradd [-g -d] 用户名
选项 -g 指定用户的组,若不指定会创建同名组并自动加入
选项 -d 指定该用户Home路径,若不指定Home目录,则会默认在 /home/用户名
例如:useradd t01 -g Test -d /home/test22
删除用户:
userdel [-r] 用户名
选项 -r 可删除用户的Home目录,若不使用 -r删除用户时则会保留其Home目录
查看用户所属组:
id [用户名]
参数:被查看的用户,若不提供则查看自身
修改用户所属组:
usermod -aG [用户组] [用户名]
将指定用户加入指定用户组
③getent 命令
使用getent命令可以查看当前系统有哪些用户
getent passwd
信息为:用户名 密码 用户ID 组ID 描述信息 Home目录 执行终端(默认bash)
getent group
信息为:组名称 组认证 组ID
3.权限控制信息
①命令 ls -l 列出的权限信息依次为:
文件或文件夹的权限控制信息,所属用户,所属用户组。
②权限细节:
首位:d 表示文件夹,- 表示文件,l表示软链接。
后面九个槽位分别为所属用户权限、所属用户组权限和其他用户权限,每种都有 r w x 三个槽位。
其中,r(read)代表读权限,w(write)代表写权限,x(execute)代表执行权限。
r,针对文件表示可以查看文件内容,针对文件夹表示可以查看文件夹内容,如ls命令。
w,针对文件表示可以修改此文件,针对文件夹表示可以在文件夹内进行创建,删除,改名等操作。
x,针对文件表示可以将文件作为程序执行,针对文件夹表示可以更改工作目录到此文件夹,即 cd 进入。
4.chmod 命令
使用 chmod 命令可以修改文件或文件夹的权限信息,但只有文件或文件夹的所属用户或者root用户可以修改。
chmod [-R] 权限 文件或文件夹
chmod命令:英语 change mode
选项 -R 表示对文件夹内的全部内容进行同样的操作
例如:chmod u=rwx,g=rx,o=x test
r记为4,w记为2,x记为1,r w x 相互组合得到8种权限组合。
上述命令可简化为:chmod 751 test
5.chown 命令
使用 chown 命令可以修改文件或文件夹的所属用户和用户组。
普通用户无法将所属修改为其他用户或用户组,所以此命令只适用于root用户执行。
chown [-R] [用户][:][用户组] 文件或文件夹
chown 命令:英语 change own
选项 -R 表示对文件夹内的全部内容进行相同的操作
选项用户和用户组分别表示要修改成的所属用户和用户组,中间用冒号隔开
例如:chown root test
例如:chown :root test
例如:chown root:root test