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