文件的類(lèi)型與權(quán)限
使用 ls -l 看到的內(nèi)容
文件的十個(gè)字符屬性
第一個(gè)字符:文件類(lèi)型
- d:目錄
- -:文件
- l:鏈接文件
- b:設(shè)備文件里的可隨機(jī)存取設(shè)備
- c:一次性讀取設(shè)備,如鍵盤(pán)全封、鼠標(biāo)
接下來(lái)的字符中三個(gè)一組 rwx:用戶(hù)的權(quán)限
三個(gè)用戶(hù)分別為:
users
group
other
- r:讀(查看文檔或者目錄的內(nèi)容)朱嘴,對(duì)應(yīng)數(shù)字 4
- w:寫(xiě)(對(duì)文檔:編輯文檔的內(nèi)容徐裸,對(duì)目錄:向目錄中添加女器、刪除文件)诀蓉,對(duì)應(yīng)數(shù)字 2
- x:執(zhí)行(對(duì)文檔:運(yùn)行文檔犯助,對(duì)目錄:進(jìn)入目錄)癣漆,對(duì)應(yīng)數(shù)字 1
例如:-rwxr-xr-- 文檔權(quán)限的數(shù)字表示為 754
修改文件屬性
- 改變文件所屬群組:chgrp [-R(遞歸)] group dir/filename
例如:chgrp zooo test
-
改變文件擁有者 chown
-
chown [-R] user dir/filename
只改變擁有者 -
chown [-R] user:group dir/filename
同時(shí)改變擁有者和群組 -
chown [-R] .group dir/filename
改變?nèi)航M
-
-
改變文件權(quán)限 ** chmod **
-
chmod 777 test
// test的權(quán)限變更為 rwxrwxrwx -
chmod o-x;g=w test
// test的group用戶(hù)設(shè)置w權(quán)限,others用戶(hù)減少x權(quán)限
-
設(shè)置默認(rèn)權(quán)限
- 默認(rèn)權(quán)限
文件:默認(rèn)沒(méi)有執(zhí)行權(quán)限x剂买,最大分值為666
目錄:默認(rèn)為所有權(quán)限都開(kāi)放惠爽,最大分值為777
制定默認(rèn)權(quán)限umask
(默認(rèn)值需要減掉的權(quán)限):默認(rèn)umask的值為0022
,關(guān)注后3位數(shù)(注意:不是數(shù)字的減法運(yùn)算,如umask=003,意思是除去wx權(quán)限瞬哼,而不是666-003=663),設(shè)置默認(rèn)權(quán)限在umask后面接數(shù)字:umash 002,普通用戶(hù)只能做臨時(shí)修改婚肆,root用戶(hù)可以作永久修改
對(duì)于文件的默認(rèn)權(quán)限為644(-rw-r–r–)
目錄的默認(rèn)權(quán)限為755(drwx-r-x-r-x)
設(shè)置隱藏屬性
在Ext2/3/4
文件系統(tǒng)下,使用 chattr
設(shè)置隱藏屬性(不可修改),使用 lsattr
查看
- 設(shè)置隱藏屬性
chattr [+-=][ASacdistu] file
符號(hào)+,-
增加或減少一個(gè)參數(shù)坐慰,其他原本存在的不改動(dòng)较性,=
設(shè)置后原有參數(shù)被覆蓋
A 若有存取此文件或目錄是,atime不會(huì)被修改
S 一般文件是非同步寫(xiě)入磁盤(pán)(需要使用sync寫(xiě)磁盤(pán))讨越,設(shè)置此參數(shù)后對(duì)文件進(jìn)行了任何修改會(huì)同步寫(xiě)入磁盤(pán)
a 文件只能增加數(shù)據(jù)两残,不能刪除也不能修改數(shù)據(jù)(重要)
c 壓縮文件…
d dump被執(zhí)行時(shí),帶有d屬性的文件不會(huì)被dump備份
i 讓一個(gè)文件不能被刪除/改名/也無(wú)法寫(xiě)入或新增數(shù)據(jù)(root也不能刪除它把跨,對(duì)系統(tǒng)的安全和有幫助)
s 文件被刪除將完全被移除這個(gè)磁盤(pán)空間人弓,誤刪無(wú)法恢復(fù)
u 文件被刪除了,內(nèi)容還存在磁盤(pán)中
栗子:將 note.txt 設(shè)置為 a 屬性着逐,只能通過(guò)追加的方式增加內(nèi)容
設(shè)置:sudo chattr +i note.txt
增加文件內(nèi)容:echo "hello world" >> note.txt
CentOS7.x使用xfs作為默認(rèn)文件系統(tǒng)崔赌,支持部分chattr參數(shù),xfs文件系統(tǒng)只支持AadiS參數(shù)
文件的特殊權(quán)限
Set UID s標(biāo)志出現(xiàn)在擁有者權(quán)限上-rwsr-xr-x被成為Set UID耸别,簡(jiǎn)稱(chēng)SUID(僅對(duì)二進(jìn)制程序有效)
例子:文件/etc/shadow 記錄了登錄密碼健芭,只有root可以寫(xiě)入,但是普通用戶(hù)可以通過(guò)/usr/bin/passwd修改自己的密碼秀姐,是通過(guò)SUID實(shí)現(xiàn)的
zooo對(duì)于passwd具有x權(quán)限慈迈,passwd的擁有者是root這個(gè)帳號(hào)
zooo在執(zhí)行passwd的過(guò)程中,會(huì)“暫時(shí)”獲得root的權(quán)限
/etc/shadow就可以被zooo所執(zhí)行的passwd修改
Set GID s出現(xiàn)在群組的x位置 drwx-r-sr-x,簡(jiǎn)稱(chēng)SGID
對(duì)二進(jìn)制程序和目錄有用(常用在目錄上)
對(duì)目錄進(jìn)行設(shè)置后省有,使用者在此目錄的有效群組會(huì)變成該目錄的群組
使用者在該目錄創(chuàng)建的文件與該目錄處于同一群組
Sticky Bit,SBIT,只針對(duì)目錄有效
作用:當(dāng)使用者在該目錄下創(chuàng)建文件或目錄是痒留,僅有自己與root才有權(quán)利刪除該文件(不能修改其他用戶(hù)創(chuàng)建的文件)
例子:當(dāng)甲這個(gè)使用者于A目錄是具有群組或其他人的身份,并且擁有該目錄w的權(quán)限, 這表示“甲使用者對(duì)該目錄內(nèi)任何人創(chuàng)建的目錄或文件均可進(jìn)行 "刪除/更名/搬移"等動(dòng)作谴麦。”不過(guò),如果將A目錄加上了SBIT的權(quán)限項(xiàng)目時(shí),則甲只能夠針對(duì)自己創(chuàng)建的文件或目錄進(jìn)行刪除/更名/移動(dòng)等動(dòng)作,而無(wú)法刪除他人的文件
設(shè)置文件的特殊權(quán)限
SUID:4, SGID:2, SBIT:1 ->在原來(lái)的三組權(quán)限前增加一組權(quán)限
例:對(duì)目錄~/Docments/test/設(shè)置SUID: chmod 4755 ~/Docments/test/
字符的方式:SUID: u+s, GUID: g+s, SBIT: o+t
出現(xiàn)大寫(xiě)的S伸头,T:由于文件所有者本身就沒(méi)有x權(quán)限匾效,因此S,T表示空權(quán)限
公用目錄的文件保護(hù)
- ubuntu下: 將目錄的所有者和分組設(shè)置為 root 后, 使用各自的帳號(hào)創(chuàng)建的文件, 只有文件的創(chuàng)建人和 root 才能修改,移動(dòng)和刪除. 這是后想要?jiǎng)h除不是自己帳號(hào)創(chuàng)建的文件會(huì)出現(xiàn):
rm: remove write-protected regular file 'tmp/test'?
- 使用
chmod o+t destdir
將 destdir 設(shè)置為和上述一樣的功能