1.特殊权限概述
上篇博文我们已经交流过 r(读)、w(写)、 x(执行)这三种普通权限,但是我们在査询系统文件权限时会发现出现了一些其他权限字母,比如:
image.png
2.特殊权限SUID
set uid 简称suid,当我们为某个命令设定了suid,无论谁使用该命令 都会使用该命令的 "属主" 运行该命令
图片来源于ProcessON
suid == 4000
chmod u+s /usr/bin/passwd
chmod 4755 /usr/bin/passwd
chmod u-s 去掉权限
- suid优点: 可以让普通用户执行无法执行的命令 方便
- suid缺点: 如果rm 为suid, 无论谁执行该命令,都能删除系统的任何资源
3.sgid (set gid) 特殊权限
将目录设置为sgid后,如果在往该目录下创建文件,都将与该目录的所属组保持一致,演示如下
[root@chengyinwu ~]# groupadd devops
[root@chengyinwu ~]# useradd zhangsan -G devops
[root@chengyinwu ~]# useradd lisi -G devops
[root@chengyinwu ~]# mkdir /opt/share
[root@chengyinwu ~]# chmod 2777 share/
[root@chengyinwu ~]# chown .devops share/
- 测试不同的用户在该目录下创建文件,检查属主和属组
-
使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
图片来源于ProcessON
image.png
4.特殊权限SBIT
- 如果一个目录设定了粘滞位, 那么谁都可以在该目录下创建文件,.
- 删除文件只能是 谁创建的谁删除. 除此以外 root 和/tmp/的所属主都能删除该目录下的内容.
设定粘滞位 1000
chmod o+t /tmp
chmod 1777 /tmp
5.特殊属性 chattr lsattr
-a 只能追加,无其他操作
-i 锁定文件,不能删除,不能追加,不能移动
1.希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属性?
[root@chengyinwu ~]# chattr +i /etc/passwd
[root@chengyinwu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
# 不得任意更动文件或目录
----------------------------------------------
[root@chengyinwu ~]# chattr -i /etc/passwd
[root@chengyinwu ~]# lsattr /etc/passwd
---------------- /etc/passwd
[root@chengyinwu ~]# useradd test123
2.日志文件,希望能往里面追加内容,但不允许删除,应该添加什么特殊属性?
[root@chengyinwu ~]# chattr +a /var/log/secure
[root@chengyinwu ~]# lsattr /var/log/secure
-----a---------- /var/log/secure
6.umask 默认权限
umask是用来控制默认创建文件或目录的权限
umask设定为022,表示要减去的权限
目录 777 -022 =755
文件 666 -022 =644
umask 设定为奇数 偶数 对文件和目录有什么影响?
文件: 如果umask出现了奇数, 要在奇数位+1
目录: 对目录毫无影响
网友评论