linux文件權(quán)限和幾種表示方法文件長度大約最大為255bytes或128個漢字字符 linux文件權(quán)限有幾種表示方法: 使用ls -al 即可查詢到目錄的權(quán)限內(nèi)容: 文件權(quán)限說明:格式為: drwxr-xr-x o 第一組為『文件擁有者可具備的權(quán)限』,以『initial-setup-ks.cfg』那個文件為例, 該文件的擁有者
可以讀寫,但不可執(zhí)行;
o 第二組為『加入此群組之賬號的權(quán)限』;
o 第三組為『非本人且沒有加入本群組之其他賬號的權(quán)限』。
當(dāng)為[ d ]則是目錄
o 當(dāng)為[ - ]則是文件
o 若是[ l ]則表示為連結(jié)檔(link file);
o 若是[ b ]則表示為裝置文件里面的可供儲存的接口設(shè)備(可隨機存取裝置);
o 若是[ c ]則表示為裝置文件里面的串行端口設(shè)備,例如鍵盤、鼠標(biāo)(一次性讀取裝置)。
o 若是[ P]則表示為數(shù)據(jù)輸送文件(FIFO)
o 若是[ s]則表示為socket文件
文件權(quán)限分為: 普通權(quán)限: read(r): 擁有目錄和文件的權(quán)限: write:(w): 擁有在目錄下建立和刪除文件的權(quán)限或者修改文件的權(quán)限 excute(x): 擁有執(zhí)行文件的權(quán)限和進入此目錄的權(quán)限
特殊權(quán)限:SUID:SGID:SBIT 如drwxrwsrwt 修改文件,目錄權(quán)限和群組
例子: 改變文件所屬群組 chgrp guan 1.txt 改變文件擁有者: chown root 1.txt
修改文件權(quán)限有幾種方式: 1:根據(jù)4 + 2 + 1的方式, 如加上特殊權(quán)限,則有隱藏權(quán)限,則 SUID(4) SGID(2) SBIT(1):
2: 根據(jù)加減法加減文件權(quán)限: u:擁有者 g群組權(quán)限 o其他人權(quán)限 a:所有人 例子: 所有人的權(quán)限: chmod 2777 1.txt 加減權(quán)限: chmod u+x 1.txt 文件對所有人都有可以執(zhí)行的權(quán)限: chmod a+x 1.txt 3: 文件umask 通常建立文件之時我們的umask默認為0022 linux文件系統(tǒng)建立之時預(yù)設(shè)文件權(quán)限為:
如何設(shè)定umask和查看
文件隱藏屬性:在linuxEXT2,EXT3,EXT4和部分文件系統(tǒng)可以用chattr設(shè)定文件隱藏屬性: chattr [+-=][ASacdistu] 文件或目錄名稱
A :當(dāng)設(shè)定了 A 這個屬性時,若你有存取此文件(或目錄)時,他的訪問時間 atime 將不會被修改,
可避免 I/O 較慢的機器過度的存取磁盤。(目前建議使用文件系統(tǒng)掛載參數(shù)處理這個項目)
S :一般文件是異步寫入磁盤的(原理請參考前一章 sync 的說明),如果加上 S 這個屬性時,
當(dāng)你進行任何文件的修改,該更動會『同步』寫入磁盤中。
a :當(dāng)設(shè)定 a 之后,這個文件將只能增加數(shù)據(jù),而不能刪除也不能修改數(shù)據(jù),只有 root 才能設(shè)定這屬性
c :這個屬性設(shè)定之后,將會自動的將此文件『壓縮』,在讀取的時候?qū)詣咏鈮嚎s,
但是在儲存的時候,將會先進行壓縮后再儲存(看來對于大文件似乎蠻有用的!)
d :當(dāng) dump 程序被執(zhí)行的時候,設(shè)定 d 屬性將可使該文件(或目錄)不會被 dump 備份
i :這個 i 可就很厲害了!他可以讓一個文件『不能被刪除、改名、設(shè)定連結(jié)也無法寫入或新增數(shù)據(jù)!』
對于系統(tǒng)安全性有相當(dāng)大的幫助!只有 root 能設(shè)定此屬性
s :當(dāng)文件設(shè)定了 s 屬性時,如果這個文件被刪除,他將會被完全的移除出這個硬盤空間,
所以如果誤刪了,完全無法救回來了喔!
u :與 s 相反的,當(dāng)使用 u 來配置文件案時,如果該文件被刪除了,則數(shù)據(jù)內(nèi)容其實還存在磁盤中,
可以使用來救援該文件
注意 1:屬性設(shè)定常見的是 a 與 i 的設(shè)定值,而且很多設(shè)定值必須要身為 root 才能設(shè)定
注意 2:xfs 文件系統(tǒng)僅支援 AadiS 而已
例子:
chattr +i attrtest <==給予 i 的屬性
lsattr attrtest
關(guān)于特殊權(quán)限SUID,SGID,SBIT的說明:SUID說明:只要用戶擁有對程序具有X的權(quán)限 SUID可以讓普通用戶暫時獲得擁有者的權(quán)限從而執(zhí)行此二進制程序 ? SUID 權(quán)限僅對二進制程序(binary program)有效;
? 執(zhí)行者對于該程序需要具有 x 的可執(zhí)行權(quán)限;
? 本權(quán)限僅在執(zhí)行該程序的過程中有效 (run-time);
? 執(zhí)行者將具有該程序擁有者 (owner) 的權(quán)限。
注意:只能用于二進制文件,不能用于shell scripts
SGID說明:SGID可以用于目錄或者文件,當(dāng)用戶具有X的權(quán)限, SGID可以給與用戶所在群組的權(quán)限 ? SGID 對二進制程序有用;
? 程序執(zhí)行者對于該程序來說,需具備 x 的權(quán)限;
? 執(zhí)行者在執(zhí)行的過程中將會獲得該程序群組的支持!
建立目錄時:
? 用戶若對于此目錄具有 r 與 x 的權(quán)限時,該用戶能夠進入此目錄;
? 用戶在此目錄下的有效群組(effective group)將會變成該目錄的群組;
? 用途:若用戶在此目錄下具有 w 的權(quán)限(可以新建文件),則使用者所建立的新文件,該新文件的群組與此
目錄的群組相同。
SBIT說明:具有此權(quán)限的用戶只能夠刪除自己建立的文件和目錄, 不能夠刪除其他用戶的
注意:此權(quán)限只對目錄有用
當(dāng)用戶對于此目錄具有 w, x 權(quán)限,亦即具有寫入的權(quán)限時;? 當(dāng)用戶在該目錄下建立文件或目錄時,僅有自己與 root 才有權(quán)力刪除該文件
例子:
當(dāng)甲這個用戶于 A 目錄是具有群組或其他人的身份,并且擁有該目錄 w 的權(quán)限, 這表
示『甲用戶對該目錄內(nèi)任何人建立的目錄或文件均可進行 "刪除/更名/搬移" 等動作?!?不過,如果
將 A 目錄加上了 SBIT 的權(quán)限項目時,則甲只能夠針對自己建立的文件或目錄進行刪除/更名/移動
等動作,而無法刪除他人的文件。
|
|
|