一.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后,如果往該目錄下創(chuàng)建文件都將與該目錄所屬組保持一致。
使用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
如果一個目錄設定了粘滯位,那么誰都可以在這個目錄下創(chuàng)建文件。但是刪除文件只能是誰創(chuàng)建的文件誰刪除,除此之外root和該目錄的屬主也可以刪除該目錄下的文件。


四.特殊屬性 chattr lsattr (lsattr 文件名)查看特殊屬性
參數:
+a? ? 只能追加,無其他操作? ? ? ( 取消操作把+換成-)
+i? ? ? 鎖定文件,不能刪除,不能追加,不能移動。
要想任何人包括root不能創(chuàng)建用戶可以給/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是用來控制默認創(chuàng)建文件或目錄的權限
umask設定為022,表示要減去的權限
例:
目錄最高權限777? 777-022=755
文件最高權限666? 666-022=644
那么在不指定的情況下創(chuàng)建目錄或文件的默認權限為755&644(rwxr-xr-x&rw-r--r--)
2.
umask設定為奇數偶數對文件也是有影響的
文件:如果umask出現(xiàn)了奇數那么要在奇數位+1。
ps:出現(xiàn)奇數情況對目錄沒有影響。
3.
設定的umask只是臨時的,要是當前bash窗口關閉的話會隨著bash的關閉一起結束。
想要永久修改可以使用vim編輯/etc/profile /etc/login.defs文件。
PS:umask最好不要調整,默認就是最安全的權限。