一.suid (set uid) 特殊权限
当一条命令设定了suid特殊权限的话无论是谁使用这条命令都会被暂时的定义为属主在运行这条命令。
s=特殊权限=4000=4 例如:4755=-rwsr-xr-x
添加特殊权限:
chmod 4000 命令绝对路径
chmod u+s 命令绝对路径
取消特殊权限:
chmod u-s 命令绝对路径
(ps aux查看当前进程)
进程能够以何种身份去查看一个文件取决于运行这个进程的用户对这个文件有没有权限
例:cat 是一个程序
当zhangyao用户运行cat查看/etc/shadow文件的时候,进程是zy用户运行的,而且zy用户设置权限为其他用户不可读,那么zhangyao就没有权限查看/etc/shadow文件。

二.sgid (set gid ) (通常是对目录操作的)
g+s 目录/
g-s 目录/
2777 目录/
sgid=2000
将目录设置为sgid后,如果往该目录下创建文件都将与该目录所属组保持一致。
使用sgid可以使多个用户之间共享一个目录的所有文件。
例:
[root@localhost /]# chmod g+s sgid/
[root@localhost /]# ll -d sgid/
drwxrwsrwx. 3 root root 134 Aug 8 15:29 sgid/(设置sgid)
[zhangsan@localhost sgid]$ touch zhangsan.1
[zhangsan@localhost sgid]$ ll -d zhangsan.1
-rw-rw-r--. 1 zhangsan zhangsan 0 Aug 8 15:28 zhangsan.1
(设置sgid之前)
[zhangsan@localhost sgid]$ touch zhangsan.2
[zhangsan@localhost sgid]$ ll -d zhangsan.2
-rw-rw-r--. 1 zhangsan root 0 Aug 8 15:29 zhangsan.2
(设置sgid之后)
三.sbit设定粘滞位
chmod o+t 目录/ 设定粘滞位
chmod o-t 目录/ 取消粘滞位
chmod 1777 目录/ 数字表达方式
sbit=1000
如果一个目录设定了粘滞位,那么谁都可以在这个目录下创建文件。但是删除文件只能是谁创建的文件谁删除,除此之外root和该目录的属主也可以删除该目录下的文件。


四.特殊属性 chattr lsattr (lsattr 文件名)查看特殊属性
参数:
+a 只能追加,无其他操作 ( 取消操作把+换成-)
+i 锁定文件,不能删除,不能追加,不能移动。
要想任何人包括root不能创建用户可以给/etc/passwd加特殊属性使用参数+i。
例:
[root@localhost ~]# chattr +i /etc/passwd
[root@localhost ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@localhost ~]# useradd zhangsan
useradd: cannot open /etc/passwd
想要往文件中追加内容但不能删除需要特殊属性+a。
五.umask(默认权限)
1.
umask是用来控制默认创建文件或目录的权限
umask设定为022,表示要减去的权限
例:
目录最高权限777 777-022=755
文件最高权限666 666-022=644
那么在不指定的情况下创建目录或文件的默认权限为755&644(rwxr-xr-x&rw-r--r--)
2.
umask设定为奇数偶数对文件也是有影响的
文件:如果umask出现了奇数那么要在奇数位+1。
ps:出现奇数情况对目录没有影响。
3.
设定的umask只是临时的,要是当前bash窗口关闭的话会随着bash的关闭一起结束。
想要永久修改可以使用vim编辑/etc/profile /etc/login.defs文件。
PS:umask最好不要调整,默认就是最安全的权限。