linux之權限之強制位和冒險位

                                             linux文件權限之文件的強制位、冒險位

       上篇跟大家分享了linux的ugo權限,今天跟大家擴展一下,大家在工作中一定有些困惑比如說是否可以讓普通用戶可以臨時以root用戶的權限去執行?是否可以讓一個企業不同部門的人在做一個共同的項目的時候可以享有系統的權限?還有一種場景,在企業裏面公司各部門既要共享數據每個人相互之間也不可以刪除彼此的數據?帶着這些疑惑大家看看我的講解來理解這些特殊的需求.


強制位
1.用戶的強制位(二進制文件 命令 ) setuid
設置文件的強制位後 普通用戶可以臨時以該命令文件的擁有人的權限執行該命令 該權限對應於u的x位 設置後x-->s

which  passwd    查看二進制命令的絕對路徑
/usr/bin/passwd

查看
ll /usr/bin/passwd
-rwsr-xr-x

取消
chmod u-s /usr/bin/passwd

設置
chmod u+s /usr/bin/passwd

ll /bin/mkdir
-rwxr-xr-x. 1 root root 49384 4月  17 2012 /bin/mkdir

chmod u+s /bin/mkdir

ll -d test/
drwxrwxr-x. 2 root redhat 4096 11月  4 12:02 test/

2.組的強制位
組的強制位針對目錄設置有效,對應UGO中的G(x--->s)
目錄設置了組的強制位後,其他任何人在此目錄下創建文件或目錄的組都是此目錄的組

不論是用戶的強制位還是組的強制位,如果顯示s表示強制位有效 如果顯示S表示強制位無效

查看
ll

設置
chmod g+s /test

取消
chmod g-s /test

3.冒險位
冒險位針對目錄設置有效 對應UGO中的O(x--->t) 目錄有7的權限 但是t位是保護位
目錄設置冒險位後 其他人可以查看別人創建的文件 但不可以修改和刪除

查看
ll  /tmp

設置
chmod o+t  /tmp

取消
chmod o-t /tmp



setuid --->u+s     4
setgid --->g+s     2
sticky --->o+t     1

4666 ----> 4設置setuid 666-->ugo

umask查看
root用戶
umask --->0022

普通用戶
umask --->0002

設置umask  777


最後給大家分享一下uamsk碼,umask影響的是創建文件或目錄的默認權限


默認情況下root用戶的umas爲0022:
文件的最大權限爲666

目錄的最大權限爲777


普通用戶的umask爲0002
文件的最大權限爲666

目錄的最大權限爲777


root用戶
創建文件
rw-rw-rw-   --->666
----w--w-   --->022
rw-r--r--   --->644

文件基數展開跟umask減法=默認創建的文件權限

普通用戶
創建文件
rw-rw-rw-   --->666
-------w-   --->002
rw-rw-r--   --->664

創建目錄
rwxrwxrwx   ---->777
-------w-   ---->002
rwxrwxr-x   ---->775

在cat /etc/profile文件定義系統的umask

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章