目录
1、root用户
- 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)。
- root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
- 普通用户的权限,一般在其HOME目录内是不受限的。
- 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。
1.1、su和exit命令
作用:su命令就是用于账户切换的系统命令,英文单词:Switch User 的简写
语法:su - [用户名]
- -:符号是可选的,表示是否在切换用户后加载环境变量,建议带上。
- 用户名:表示要切换的用户,用户名可以省略,省略表示切换到root。
- 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d。
注意事项:
- 使用普通用户,切换到其它用户需要输入密码,如切换到root用户。
- 使用root用户切换到其它用户,无需密码,可以直接切换。
1.2、sudo命令
作用:可以使用sudo命令,为普通的命令授权,临时以root身份执行。
语法:sudo 其他命令
- 在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权。
- 注意:并不是所有的用户,都有权利使用sudo,首先需要为普通用户配置sudo认证。
为普通用户配置sudo认证:
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在文件的最后添加:NOPASSWD: ALL:
- 其中最后的NOPASSWD:ALL 表示使用sudo命令时,无需输入密码。
2、用户和用户组
Linux系统可用于多个用户、多个用户组、用户可以加入多个用户组中。
Linux中关于权限的管控级别有2个,分别是:
- 针对用户的权限控制
- 针对用户组的权限控制
2.1、用户管理
注意:命令需在root用户下执行
- 创建用户
- 语法:useradd [-g -d] 用户名。
- -g:指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。
- -d:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名。
- 删除用户
- 语法:userdel [-r] 用户名
- -r:删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
- 查看用户所属组
- 语法:id [用户名]
- 用户名:被查看的用户,默认查看自身
- 修改用户所属组
- 语法:usermod -aG 用户组 用户名,将指定用户加入指定用户组
- 查看当前系统中所有用户
- 语法:getent passwd
共有7个组成部分,每一部分的含义分别是:
- 用户名:密码(x):用户ID:用户组ID:描述信息(无用):HOME目录:执行终端(默认bash)
2.2、用户组管理
注意:命令需在root用户下执行
- 创建用户组
- 语法:groupadd 用户组名
- 删除用户组
- 语法:groupdel 用户组名
- 查看当前系统中所有用户组
- 语法:getent group
共有3个组成部分,每一部分的含义分别是:
- 组名称:组认证(x):组ID
3、chown修改所属用户、用户组
作用:chown命令,可以修改文件、文件夹的所属用户和用户组。
注意:chown命令在root用户下执行
语法:chown [-R] [用户][:][用户组] 文件或文件夹
- -R:同chmod,对文件夹内全部内容应用相同规则
- 用户:修改所属用户
- 用户组:修改所属用户组
- : (冒号):用于分隔用户和用户组
示例:
- chown root test.txt,将test.txt所属用户修改为root
- chown :root test.txt,将test.txt所属用户组修改为root
- chown root:tom hello.txt,将test.txt所属用户修改为root,用户组修改为tom
- chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则