Linux的操作系统是一个多用户管理的系统;
因此经常使用组的概念来管理用户;
Linux是用用户ID来识别的;
/etc/passwd 保存用户信息
/etc/shdaow 保存用户密码(以加密形式保存)
/etc/group 保存组信息
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的useradd配置文件
作用:创建用户的命令
语法:useradd+选项+用户名
选项:
#添加一个用户
[root@Test0 ~]# useradd liangjiawei
#添加zhangsan,并且为她分配到liangjiawei组
[root@Test0 ~]# useradd liangjiawei
[root@Test0 ~]# useradd zhangsan -G liangjiawei
[root@Test0 ~]# id zhangsan
uid=1002(zhangsan) gid=1002(zhangsan) 组=1002(zhangsan),1001(liangjiawei)
作用:修改用户信息
语法:usermod+选项+用户名
选项:
#添加用户组
[root@Test0 ~]# usermod -G liangjiawei01 liangjiawei
#锁定用户
[root@Test0 ~]# usermod -L liangjiawei
#解锁用户
[root@Test0 ~]# usermod -U liangjiawei
组管理特点:
作用:创建用户组
语法:groupadd+选项+组名
选项:
#创建组
[root@Test0 ~]# groupadd nginx
作用:删除用户组
语法:groupdel+用户组
#删除用户组
[root@Test0 ~]# groupdel nginx
作用:修改组名
语法:groupmod+选项+新组名+原组名
#修改组名
[root@Test0 ~]# groupadd nginx
[root@Test0 ~]# groupmod -n liangjiawei01 nginx
Linux权限的分类:
Linux中对文件的权限和对目录的权限的区别
权限 | 文件 | 目录 |
---|---|---|
r可读 | 读取文件的内容 | 列出目录内容 |
w可写 | 可惜修改文件内容 | 可以创建、删除内容 |
x可执行 | 可以作为命令执行 | 可以访问目录内容 |
权限的三种角色
#使用命令来查看权限
[root@Test0 ~]# ll system_init.sh
-rwxr-xr-x. 1 nobody nobody 1960 4月 14 2022 system_init.sh
#输出内容单独拿出来说
-:表示文件
rwxr-xr-x:分贝对应三种角色的权限
所有者:rwx
所属组:r-x
其他人:r-x
1:文件的连接数量
nobody:所有者
nobody:所属组
1960:文件的大小
后面是时间和文件名
#修改文件的属主和属组
[root@Test0 ~]# chown root: system_init.sh
[root@Test0 ~]# ll system_init.sh
-rwxr-xr-x. 1 root root 1960 4月 14 2022 system_init.sh
作用:修改文件的权限
语法:chown+选项+权限加减+文件
选项:
#添加可执行权限
[root@Test0 ~]# chmod g+w system_init.sh
[root@Test0 ~]# ll system_init.sh
-rwxrwxr-x. 1 root root 1960 4月 14 2022 system_init.sh
#删除其他人的可执行权限
[root@Test0 ~]# chmod o-x system_init.sh
[root@Test0 ~]# ll system_init.sh
-rwxrwxr--. 1 root root 1960 4月 14 2022 system_init.sh
Linux里面也规定数字的方式来记录权限
Linux权限可以将rwx用二进制来表示,其中有权限用1表示,没有权限用0表示;
Linux权限用二进制显示如下:
rwx=111
r-x=101
rw-=110
r--=100
依次类推,转化为十进制,对应十进制结果显示如下:
rwx=111=4+2+1=7
r-x=101=4+0+1=5
rw-=110=4+4+0=6
r--=100=4+0+0=4
得出结论,用r=4,w=2,x=1来表示权限。
实验得出结果
#对文件的权限修改-->rwx
[root@Test0 ~]# chmod 777 system_init.sh
[root@Test0 ~]# ll system_init.sh
-rwxrwxrwx. 1 root root 1960 4月 14 2022 system_init.sh
权限掩码:
#查看默认的掩码值
[root@Test0 ~]# umask
0022
[root@Test0 ~]# umask -S
u=rwx,g=rx,o=rx
对文件的影响:
设置suid的方法:
[root@Test0 sh]# ll /usr/bin/sudo
---s--x--x 1 root root 151424 1月 26 00:36 /usr/bin/sudo
[root@Test0 sh]# ll /usr/bin/passwd
-rwsr-xr-x 1 root root 27856 4月 1 2020 /usr/bin/passwd
设置sgid权限的方法:
#如果设置了sgid权限的话创建的目录都会带有所属组的权限
[root@Test0 sh]# mkdir aa
[root@Test0 sh]# chmod g+s aa
[root@Test0 sh]# cd aa/
[root@Test0 aa]# touch aa.txt
[root@Test0 aa]# ll aa.txt
-rw-r--r-- 1 root root 0 3月 13 00:37 aa.txt
[root@Test0 aa]# chmod 777 ../aa/
[zhangsan@Test0 aa]$ touch bb.txt
[zhangsan@Test0 aa]$ ll bb.txt
-rw-rw--- 1 zhangsan root 0 3月 13 00:38 bb.txt
设置sticky权限的方法
#典型的目录就是/tmp目录
[root@Test0 aa]# mkdir /tmp/
[root@Test0 aa]# chmod o+t /tmp/
[root@Test0 aa]# chmod 1777 /tmp/
[root@Test0 aa]# su - zhangsan
上一次登录:一 3月 13 00:40:27 CST 2023pts/0 上
[zhangsan@Test0 ~]$ cd /tmp/
[zhangsan@Test0 tmp]$ touch zhangsan
[zhangsan@Test0 tmp]$ ll zhangsan
-rw-rw-r-- 1 zhangsan zhangsan 0 3月 13 00:41 zhangsan
#lisi无法删除zhangsan的东西
[root@Test0 aa]# su - lisi
[lisi@Test0 ~]$ cd /tmp/
[lisi@Test0 tmp]$ rm -rf zhagnsan
[lisi@Test0 tmp]$ ll
总用量 0
-rw-rw-r-- 1 zhangsan zhangsan 0 3月 13 00:41 zhangsan