Linux 檔案許可權

2021-09-12 05:31:53 字數 4591 閱讀 9411

目標內容

檔案的基本許可權

特殊許可權

[b]1.檔案的基本許可權[/b]

[u]許可權的作用[/u]

通過設定許可權可以達到以下三種訪問限制許可權:

 只允許使用者自己訪問;

 允許乙個預先指定的使用者組中的使用者訪問;

 允許系統中的任何使用者訪問。

[u]檢視檔案許可權[/u]

我們可以通過ls命令來檢視乙個檔案的具體資訊,加引數 –l 可以檢視這個檔案的許可權資訊

-rw-r--r--. 1 root root 16 jul 28 06:39 adjtime

解析- rwx r-x r-x

型別 擁有者的許可權 所屬組的許可權 其他人的許可權

user1 user1 time filename

擁有者 屬組 最後修改時間 物件

[u]其中:檔案型別,[/u]

可以為p、d、l、s、c、b和 –

 p表示命名管道檔案

 d表示目錄檔案

 l表示符號連線檔案

 -表示普通檔案

 s表示socket檔案

 c表示字元裝置檔案

 b表示塊裝置檔案

[quote]許可權說明[/quote]

對於檔案:

 r:讀  

 w:寫  

 x:執行

對於目錄:

 r:讀(看到目錄裡面有什麼) ls

 w:建檔案、刪除、移動 touch mkdir rm mv cp

 x:進入 cd cat

[u]具體說明:[/u]

r (read,讀取):對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有瀏覽目錄的許可權.

w (write,寫入):對檔案而言,具有新增、修改檔案內容的許可權;對目錄來說,具有刪除、移動目錄內檔案的許可權。

x (execute,執行):對檔案而言,具有執行檔案的許可權;對目錄了來說該使用者具有進入目錄的許可權。

-:表示不具有該項許可權

結束:對於檔案的所有者或者是屬主, root可以將這些許可權改變為任何它想指定的許可權;

例如:乙個檔案只有讀許可權,那麼它就禁止任何普通使用者對它的修改;如果檔案只有執行許可權,那麼系統允許它像乙個程式一樣執行

[u]檔案擁有者[/u]

所有者-使用者組-其他使用者

[i]所有者:[/i] 就是建立檔案的使用者,這個使用者擁有對它所建立的檔案的一切許可權,所有者可以允許其所在的使用者組可以訪問所有者的檔案。

[i]使用者組:[/i] 使用者組是具有相同特徵使用者的邏輯集合,有時我們需要讓多個使用者具有相同的許可權,比如檢視、修改某乙個檔案的許可權,一種方法是分別對多個使用者進行檔案訪問授權,如果有10個使用者的話,就需要授權10次,顯然這種方法不太合理;另一種方法是建立乙個組,讓這個組具有檢視、修改此檔案的許可權,然後將所有需要訪問此檔案的使用者放入這個組中,那麼所有使用者就具有了和組一樣的許可權。這就是使用者組。

[i]其它使用者:[/i]系統內的其他所有者使用者就是other使用者類

[u]常見幾種檔案許可權組成[/u]

 -rwx------:檔案所有者對檔案具有讀取、寫入和執行的許可權。

 -rwxr--r--: 檔案所有者具有讀、寫與執行的許可權,使用者組裡使用者及其他使用者則具有讀取的許可權

 -rw-rw-r-x:檔案所有者與同組使用者對檔案具有讀寫的許可權,而其他使用者僅具有讀取和執行的許可權。

 drwx--x—x: 目錄所有者具有讀寫與進入目錄的許可權,其他使用者近能進入該目錄,卻無法讀取任何資料。

 drwx------: 除了目錄所有者具有完整的許可權之外,其他使用者對該目錄完全沒有任何許可權。

每個使用者都擁有自己的專屬目錄,通常放置在/home目錄下

這些專屬目錄的預設許可權為【rwx------】表示目錄所有者本身具有所有許可權,其他使用者無法進入該目錄

[u]修改許可權[/u]

作用:修改檔案許可權

用法:(中間的+、-表示新增還是刪除該使用者的對應許可權)

u-w user 擁有者

g+x group 組

o=r other 其他人

a+x all 所有人

刪除檔案的寫許可權

# chmod u-x a.txt

讓所有者所在的組使用者擁有執行的許可權

# chmod g+x a.txt

刪除其它使用者對檔案的讀許可權

# chmod o-r a.txt

修改檔案許可權為所有使用者都可以讀

# chmod a=r a.txt

[u]對目錄的許可權修改[/u]

# chmod u-x /abc/

# chmod u=rwx /abc/ # 一起修改多個許可權

[u]修改檔案的擁有者及所屬組[/u]

用到的命令:chown

作用:修改檔案擁有者和所屬組

語法: chown user:group 物件

 chown user 物件

 chown :group 物件

 -r :遞迴(目錄下的所有內容全部更改,否則只修改目錄)

# chown -r test:test /abc/ # 修改abc 目錄下的所有檔案的使用者和使用者組

# chown -r test /abc/ #只修改擁有者

# chown -r :test /abc/ #只修改使用者組

[u]使用數字表示許可權[/u]

rwxr - - - w - - - x

100 010 001 二進位制

4 2 1 十進位制

組合 值

rw- 4+2=6

r-x 4+1=5

rw- r-- r-- rw-=6 r--=4 r--=4 rw-r—r--=644

# chmod -r 644 /abc/

[u]補碼[/u]

# touch 4.txt

# ll 4.txt

-rw-r--r-- 1 root root 0 mar 10 13:59 4.txt

為什麼我們建立的檔案的許可權是644呢?

如何改變這個預設許可權呢?

[u]umask命令[/u]

umask命令允許你設定檔案建立時的預設模式,對應每一類使用者(檔案屬主、同組使用者、其他使用者)存在乙個相應的umask值中的數字

對於檔案來說,這一數字的最大值分別是6;系統不允許你在建立乙個文字檔案時就賦予它執行許可權,必須在建立後用chmod命令增加這一許可權

對於目錄來說,則允許設定執行許可權,這樣針對目錄來說,umask中各個數字最大可以到7

該命令的一般形式為:umask nnn 其中nnn為umask置000 - 777

計算方法:

檔案預設許可權=666-umask值 666-022=644

目錄預設許可權=777-umask 值 777-022=755

我們一般在/etc/profile、$ [home]/.bash_profile或$[home]/.profile中設定umask值。

if [ $uid -gt 199 ] && [ "`id -gn `" = "`id -un `"];then

umask 002

else

umask 022

fi[b]2. 特殊許可權[/b]

其實檔案與目錄設定不止這些,還有所謂的特殊許可權。由於特殊許可權會擁有一些「特權」.

因而使用者若無特殊需求,不應該啟用這些許可權,避免安全方面出現嚴重漏洞,造成入侵,甚至摧毀系統!!!

[u]特殊許可權:[/u]

 suid:限定:只能設定在二進位制可執行程式上面。對目錄設定無效

功能:程式執行時的許可權從執行者變更成程式所有者

 sgid:限定:既可以給二進位制可執行程式設定,也可以對目錄設定

功能:在設定了sgid許可權的目錄下建立檔案時,新建立的檔案的所屬組會 繼承上級目錄的所屬組

 stickybit:粘滯位許可權是針對目錄的,對檔案無效,也叫防刪除位

 [u]s對應的數值為[/u]

suid sgid stickybit

u=4 g=2 o=1

注意:1、如果乙個檔案被設定了suid或sgid位,會分別表現在所有者或同組使用者的許可權的可執行位上;

2、linux系統規定,如果原本該位上有x,則這些屬性顯示問小寫字母(有效),否則顯示大寫字母(無效)

3、由於suid和sgid是在執行程式(程式的可執行位被設定)時起作用,而可執行位只對普通檔案和目錄檔案有意義,所以設定其他種類檔案的suid和sgid位是沒有多大意義的

給檔案加suid和suid的命令如下:

 chmod u+s filename 設定suid位

 chmod u-s filename 去掉suid設定

 chmod g+s filename 設定sgid位

 chmod g-s filename 去掉sgid設定

 chmod o+t filename 設定sbit位

 chmod o-t filename 去掉sbit設定

 chmod 7777 filename 新增suid,sgid,sbit

 chmod 7770 filename 去掉suid,sgid,sbit

檔案許可權顯示區別

有x許可權 無x許可權

sst sst

Linux檔案許可權

linux使用者分為 擁有者 組群 group 其他 other linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關資訊,都是記錄在 etc passwd檔案中。每個人的密碼則是記錄在 etc shadow檔案下。此外,所有的組群名稱記錄在 etc group內!圖...

Linux檔案許可權

linux使用者分為 擁有者 組群 group 其他使用者 other linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關資訊,都是記錄在 etc passwd檔案中。每個人的密碼則是記錄在 etc shadow檔案下。此外,所有的組群名稱記錄在 etc group...

linux檔案許可權

檔案的許可權由三個部分組成 u user g group o other 每個部分的許可權又分別 r 4讀 w 寫2 x 執行1 下面以 var www資料夾設定許可權,了解如何設定檔案許可權 chmod a x var www 所有人都可進入 chmod a x var www 所有人都不可進入 ...