Linux 文件和目錄權(quán)限詳解
一、Linux文件和目錄權(quán)限管理
1、文件權(quán)限說(shuō)明:
?。?)r:表示具有讀取文件內(nèi)容的權(quán)限;
?。?)w:表示具有新增,修改文件內(nèi)容的權(quán)限;
?。?)x:表示具有執(zhí)行文件的權(quán)限,同時(shí)需要有r權(quán)限;
2、目錄權(quán)限說(shuō)明;
?。?)r:表示具有瀏覽目錄下有哪些文件的權(quán)限,必須同時(shí)用x權(quán)限才可以;
?。?)w:表示具有新增、刪除、移動(dòng)目錄內(nèi)容文件的權(quán)限,同時(shí)需要有x權(quán)限;
?。?)x:表示具有進(jìn)入目錄的權(quán)限;
3、權(quán)限獲取順序
先看用戶是不是文件所有者,再看是不是所屬組,最后看是不是其他用戶,如果是其中一個(gè),就有權(quán)限;
對(duì)普通用戶來(lái)說(shuō),沒(méi)有權(quán)限是不能訪問(wèn)資源的;
讀寫(xiě)權(quán)限對(duì)root用戶不受限制,但x權(quán)限受控制;
需要注意的是:對(duì)root用戶來(lái)說(shuō),如果root沒(méi)有x權(quán)限,只要屬組和其他有x權(quán)限,root用戶就能執(zhí)行,而普通用戶不行;
4、文件的屬主和屬組
?。?)修改文件的屬主:chown user file 修改文件的屬主;
chown - R user.group file 遞歸修改文件屬主;
chown .group file 修改文件屬組;
?。?)修改文件的權(quán)限:chmod ugo=rwx flie 修改一類用戶的所有權(quán)限;
chmod ugo+/- rwx file 修改一類用戶某位或者某些位權(quán)限;
-R 遞歸修改;
二、文件和目錄的默認(rèn)權(quán)限與umask
?。?)root用戶默認(rèn)umask為022,普通用戶默認(rèn)為002
(2)umask表示用戶創(chuàng)建文件的默認(rèn)權(quán)限,目錄的最高權(quán)限為777,文件最高666;
?。?)目錄默認(rèn)權(quán)限=777-umask;文件默認(rèn)權(quán)限=666-unamk,所得結(jié)果奇數(shù)位加1
?。?)目錄新創(chuàng)建后的默認(rèn)權(quán)限是755,文件創(chuàng)建后的默認(rèn)權(quán)限是644;
三、Linux系統(tǒng)文件的特殊權(quán)限(SUID,SGID,Sticky)
Set UID
當(dāng)s這個(gè)標(biāo)志出現(xiàn)在文件所有者的x權(quán)限上時(shí),例如 “-rwsr-xr-x” ,此時(shí)被稱為Set UID,簡(jiǎn)稱為SUID的特殊權(quán)限。
SUID權(quán)限僅對(duì)二進(jìn)制程序有效;
執(zhí)行者需要對(duì)此程序具有x的可執(zhí)行權(quán)限;
本權(quán)限僅在執(zhí)行該程序的過(guò)程中有效;
執(zhí)行者將具有該程序所有者的權(quán)限;
例如:/etc/shadow是記錄系統(tǒng)所有賬號(hào)的密碼的文件,它的權(quán)限為-r--------1 root root,只有root才能強(qiáng)制修改此文件內(nèi)容。但是普通用戶也可以修改自己的密碼,原因是普通用戶修改密碼的時(shí)候執(zhí)行了/usr/bin/passwd(-rwsr-xr-x)這個(gè)程序,執(zhí)行的過(guò)程中臨時(shí)獲得了root權(quán)限,所以可以修改/etc/shadow這個(gè)文件,從而修改密碼。如果用戶執(zhí)行其他不具有SUID權(quán)限的程序,則不能訪問(wèn)/etc/shadow,如用戶執(zhí)行/bin/cat(-rwxr-xr-x)這個(gè)程序時(shí),是無(wú)法讀取/etc/shadow的。
Set GID
SGID可以針對(duì)文件或目錄設(shè)置。
當(dāng)s標(biāo)志出現(xiàn)在用戶組的x權(quán)限上時(shí),例如“-rwx–s–x”為Set GID,簡(jiǎn)稱為SGID的特殊權(quán)限,SGID可以針對(duì)文件或目錄設(shè)置。
對(duì)于文件來(lái)說(shuō):SGID對(duì)二進(jìn)制程序有用;程序執(zhí)行者對(duì)于該程序來(lái)說(shuō),須具備x的可執(zhí)行權(quán)限;執(zhí)行者在執(zhí)行的過(guò)程中將會(huì)獲得該程序用戶組的支持;
當(dāng)一個(gè)目錄設(shè)置了SGID的權(quán)限后,它將具有以下功能:用戶若對(duì)此目錄具有r與x的權(quán)限時(shí),該用戶能夠進(jìn)入此目錄;用戶在此目錄下的有效用戶組將會(huì)變成該目錄的用戶組;若用戶在此目錄下具有w的權(quán)限,則用戶創(chuàng)建新文件的用戶組與此目錄的用戶組相同;
Sticky Bit
Sticky Bit,簡(jiǎn)稱SBIT。目前只針對(duì)目錄有效,針對(duì)文件已經(jīng)無(wú)效。
SBIT的作用:當(dāng)一個(gè)用戶對(duì)某目錄是具有用戶組或其他人的身份,并具有w權(quán)限(即具有寫(xiě)入的權(quán)限時(shí)),這表明該用戶可以對(duì)該目錄下任何人新建的目錄或文件進(jìn)行刪除、移動(dòng)、重命名等操作。不過(guò),如果該目錄具有SBIT權(quán)限時(shí),則僅有文件屬主和root才能刪除、移動(dòng)、重命名此文件,普通用戶無(wú)法刪除該目錄下不屬于自己的文件。
