特殊權限suid
Linux 系統(tǒng)文件除了9位基本權限堤如,還有額外3位特殊權限适揉,分別是
SUID(set uid), -rwsr-xr-x
SGID(set gid)煤惩, -rw-r-sr-x
SBIT(sticky bit), -rw-r-xr-t
這3位特殊權限不建議使用(除系統(tǒng)默認的特殊權限可以使用以外)嫉嘀,除非有特殊需求時使用。
suid 特殊權限包括(set魄揉、uid)
suid是 set剪侮、uid的簡稱
當我們?yōu)槟硞€命令設定了suid,無論誰使用該命令都會使用該命令的"屬主"運行該命令洛退。
[root@zjh ~]# ll /etc/passwd
-rw-r--r-- 1 root root 6209 Apr 13 03:26 /etc/passwd
[root@zjh ~]# ll /etc/shadow
---------- 1 root root 11409 Apr 13 03:26 /etc/shadow
當普通用戶使用 passwd 命令更改自己的密碼時瓣俯,實際上是在用 passwd 命令所有者 root 的身份在執(zhí)行 passwd 命令,root 當然可以將密碼寫入 /etc/shadow 文件,所以普通用戶也可以修改 /etc/shadow 文件,命令執(zhí)行完成后柴我,該身份也隨之消失。
suid=4000
suid授權方法4000 權限字符s(S),用戶位置上的x位上設置
chmod u+s /usr/bin/passwd
chmod 4755 /usr/bin/passwd
chmod u-s 去除權限
suid優(yōu)點
1.讓普通用戶對可執(zhí)行的二進制文件驼仪,臨時擁有二進制文件的所屬主權限掸犬。
2.如果設置的二進制文件沒有執(zhí)行權限,那么suid的權限顯示就是大S。
3.特殊權限suid僅對二進制可執(zhí)行程序有效绪爸,其他文件或目錄則無效湾碎。
suid缺點: 如果rm 為suid, 無論誰執(zhí)行該命令,都能刪除系統(tǒng)的任何 資源
特殊權限SGID
sgid授權方法: 2000權限字符s(S),取決于屬組位置上的x
chmod 2755 directory
chmod g+s directory
sgid作用
1.針對用戶組權限位修改奠货,用戶創(chuàng)建的目錄或文件所屬組和該目錄的所屬組一致介褥。
2.當某個目錄設置了sgid后,在該目錄中新建的文件不在是創(chuàng)建該文件的默認所屬組
3.使用sgid可以使得多個用戶之間共享一個目錄的所有文件變得簡單递惋。
例題:
sgid (set gid) 特殊權限
將目錄設置為sgid后柔滔,如果在往該目錄下創(chuàng)建文件,都將與該目錄的 所屬組保持一致萍虽,演示如下
[root@zjh ~]# groupadd devops
[root@zjh~]# useradd zhangsan -G devops
[root@zjh ~]# useradd lisi -G devops
[root@zjh ~]# mkdir /opt/share
[root@zjh ~]# chmod 2777 share/
[root@zjh ~]# chown .devops share/
測試不同的用戶在該目錄下創(chuàng)建文件,檢查屬主和屬組 #使用sgid可以使得多個用戶之間共享一個目錄的所有文件變得簡單
特殊權限SBIT
ticky(SI TI KI)粘滯位目前只對目錄有效睛廊。
如果一個目錄設定了粘滯位, 那么誰都可以在該目錄下創(chuàng)建文件,.
刪除文件只能是 誰創(chuàng)建的誰刪除. 除此以外 root 和/tmp/的所屬主都能 刪除該目錄下的額內(nèi)容
作用:
普通用戶對該目錄擁有 w 和 x 權限,即普通用戶可以在此目錄中擁有寫入權限贩挣。如果沒有粘滯位,那么普通用戶擁有 w 權限没酣,就可以刪除此目錄下的所有文件王财,包括其他用戶建立的文件。但是一旦被賦予了粘滯位裕便,除了 root 可以刪除所有文件绒净,普通用戶就算擁有 w 權限,也只能刪除自己建立的文件偿衰,而不能刪除其他用戶建立的文件挂疆。
[root@zjh tmp]# ll -d /tmp/
drwxrwxrwt. 12 root root 4096 Apr 13 05:32 /tmp/
2. sticky授權方法,1000 權限字符t(T),其他用戶位的x位上設置下翎。
chmod o+t /tmp
chmod 1755 /tmp
3.sticky的作用
1.讓多個用戶都具有寫權限的目錄缤言,并讓每個用戶只能刪自己的文件。
2.特殊sticky目錄表現(xiàn)在others的x位视事,用小t表示胆萧,如果沒有執(zhí)行權限是T
3.一個目錄即使它的權限為"777"如果是設置了粘滯位,除了目錄的屬主和"root"用戶有權限刪除俐东,除此之外其他用戶都不允許刪除該目錄跌穗。
特殊屬性 chattr lsattr
chatrr 只有 root 用戶可以使用,用來修改文件系統(tǒng)的權限屬性虏辫,建立于rwx 基礎權限之上的授權蚌吸。
chatrr 命令格式:chattr [+-=] [選項] 文件或目錄名
-a 只能追加,無其他操作
-i 鎖定文件,不能刪除,不能追加,不能移動
例題:
1.任何人都不能創(chuàng)建用戶,應該給/etc/passwd添加什么特殊屬性?
[root@zjh ~]# chattr +i /etc/passwd
[root@zjh ~]# lsattr /etc/passwd
----i----------- /etc/passwd # 不得任意更動文件或目錄
[root@zjh ~]# chattr -i /etc/passwd
[root@zjh ~]# lsattr /etc/passwd
---------------- /etc/passwd
[root@zjh ~]# useradd test12
2.日志文件砌庄,希望能往里面追加內(nèi)容羹唠,但不允許刪除奕枢,應該添加什么特殊屬性
[root@zjh ~]# chattr +a /var/log/secure
[root@zjh ~]# lsattr /var/log/secure
-----a---------- /var/log/secure
umask 默認權限
1.umask是什么?
當我們登錄系統(tǒng)之后創(chuàng)建一個文件總是有一個默認權限的,比如: 目錄755肉迫、文件644验辞、那么這個權限是怎么來的呢?這就是umask干的事情喊衫。umask設置了用戶創(chuàng)建文件的默認權限跌造。
2.umask是如何改變創(chuàng)建新文件的權限
系統(tǒng)默認umask為022,那么當我們創(chuàng)建一個目錄時族购,正常情況下目錄的權限應該是777壳贪,但umask表示要減去的值,所以新目錄文件的權限應該是
777 - 022 =755寝杖。
文件的權限也依次類推666 - 022 =644违施。
umask 設定為奇數(shù) 偶數(shù) 對文件和目錄有什么影響?
文件: 如果umask出現(xiàn)了奇數(shù), 要在奇數(shù)位+1
目錄: 對目錄毫無影響
設定umask
umask number 臨時 (當前bash窗口有效,會隨著bash的關閉一 起結束) vim /etc/profile /etc/login.defs # 如果修改則都為永久.