1 Linux的root用户
在Linux系统,最大权限的用户名:root(超级管理员)
普通用户在HOME目录一般是不受限的。
1.su和exit命令
su命令是用于账户切换的系统命令,其来源英文单词 Switch User
语法: su [-] [用户名]
- - 符号是可选的,表示是否在切换用户后加载环境变量,建议带上
- 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
- 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
- 使用普通用户,切换到其他用户需要输入密码。
- 使用root用户切换到其他用户无需密码。
2.sudo命令
sudo命令,为普通的命令授权,临时以root身份执行
语法: sudo 其他命令
- 在其他命令前,带上sudo,即可为这一条命令临时赋予root授权。
- 带并不是所有的用户都有权利使用sudo,我们需要为普通用户配置sudo认证。
为普通用户配置sudo认证
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在文件的最后添加:
- 用户名 ALL=(ALL) NOPASSWD:ALL
- 其中最后的NOPASSWD:ALL 表示使用sudo命令无需输入密码
- 最后通过wq保存
将sudo文件的最后一行删去后,sudo失效,因此想要让普通用户可以执行sudo命令,必须配置到认证文件里去。
2 用户和用户组
Linux系统可以:
配置多个用户
配置多个用户组
用户可以加入多个用户组中
Linux中关于权限的管控级别有2个级别,分别是针对用户的权限控制,针对用户组的权限控制。
针对某文件,可以控制用户的权限,也可以控制用户组的权限。
1.用户组管理(必须在root权限下)
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
2.用户管理(必须在root权限下)
创建用户
useradd [-g -d] 用户名
选项-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如果已经存在同名组,必须要使用-g。
选项-d指定用户HOME路径,不指定,HOME目录默认在/home/用户名
删除用户
userdel [-r] 用户名
选项-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留。
查看用户所属组
id [用户名]
参数: 用户名,被查看的用户,如果不提供则查看自身。
修改用户所属组
usermod -aG 用户组 用户名
将指定用户加入指定用户组
3.getent
使用getnet来查看系统中有哪些用户、用户组
语法:getent passwd
共有7份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
查看系统全部组信息
语法:getent group
3 查看权限控制信息
1.认知权限信息
通过ls -l可以以列表形式查看内容,并显示权限细节
序号1表示文件、文件夹的权限控制信息
序号2表示文件、文件夹所属用户
序号3表示文件、文件夹所属用户组
以drwxr-xr-x为例
d表示文件夹
rwx表示所属用户有rwx权限
r-x表示所属用户组有rx权限
r-x表示其他用户具有rx权限
rwx含义
r表示读权限,w表示写权限,x表示执行权限。
针对文件、文件夹的不同,rwx的含义有细微差别
r,针对文件可以查看文件内容,针对文件夹可以查看文件夹内容,如ls命令
w,针对文件表示可以修改此文件,针对文件夹,可以在文件夹内:创建、删除、改名等操作
x,针对文件表示可以将文件作为程序执行,针对文件夹表示可以更改工作目录到此文件夹,即cd进入。
4 chmod命令
可以使用chmod,修改文件、文件的权限信息
注意,只有文件、文件夹的所属用户或root用户可以修改
语法:chmod [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
示例语句: chmod u=rwx,g=w,o=w test
chmod u=wrx,g=rx,o=x test
在test内部创建test1.txt文件,并在test外部修改test文件夹包含其中文件的所有权限
chmod -R u=wrx,g=rx,o=x test
权限的数字序号
u=rwx,g=rx,o=x这种写法太麻烦,可以用数字序号简写
u=rwx,g=rx,o=x可以写为751
chmod 751 test
练习:
权限修改为r-x--xr-x,数字序号为:
515
权限修改为-wx-w-rw-,数字序号为:
326
数字123代表的权限为
--x-w--wx
5 chown命令
使用chown命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行。
语法:chown [-R] [用户][:][用户组] 文件或文件夹
选项:-R,同chmod,对文件夹内全部内容应用相同规则
选项:用户,修改所属用户
选项:用户组,修改所属用户组
:用于分割用户和用户组
修改用户权限为root
修改用户组权限为root
修改用户组权限为test3
修改用户权限为ljy,用户组权限为root
修改test文件夹及其包含的文件的用户权限为test3,用户组权限为root