Linux 系統檔案許可權總結

2021-08-28 01:26:45 字數 2961 閱讀 4857

在 linux 中最基本的任務之一就是設定檔案許可權。理解它們是如何實現的是你進入 linux 世界的第一步。如您所料,這一基本操作在類 unix 作業系統中大同小異。實際上,linux 檔案許可權系統就直接取自於 unix 檔案許可權(甚至使用許多相同的工具)。

你要明白的第一件事是檔案許可權可以用來幹什麼。當你設定乙個分組的許可權時發生了什麼?讓我們將其展開來說,這個概念就真的簡單多了。那到底什麼是許可權?什麼是分組呢?

你可以設定的3種許可權:

為了更好地解釋這如何應用於乙個分組,例如,你允許乙個分組可以讀寫乙個檔案,但不能執行。或者,你可以允許乙個分組讀和執行乙個檔案,但不能寫。甚至你可以允許乙個分組有讀、寫、執行全部的許可權,也可以刪除全部許可權來去除該組的許可權。

現在,什麼是分組呢,有以下4個:

大多數情況,你只會對前3組進行操作,all 這一組只是作為快捷方式(稍後我會解釋)。

到目前為止很簡單,對吧?接下來我們將深入一層。

如果你開啟乙個終端並執行命令 ls -l,你將會看到逐行列出當前工作目錄下所有的檔案和資料夾的列表(如圖)

你會留意到最左邊那列是像是 -rw-rw-r– 這樣的。

實際上這列表應該這樣看:

rw- rw- r–

正如你所見,列表將其分為如下3部分:

許可權和組的順序都很重要,順序總是:

在我們上面示例的許可權列表中,所屬者擁有讀/寫許可權,所屬組擁有讀/寫許可權,其他人使用者僅擁有讀許可權。這些分組中賦予執行許可權的話,就用乙個 x 表示。

接下來我們讓它更複雜一些,每個許可權都可以用乙個數字表示。這些數字是:

數值代替不是乙個乙個的替換,你不能像這樣:

-42-42-4–

你該把每個分組的數值相加,給使用者讀和寫許可權,你該用 4 + 2 得到 6。給使用者組相同的許可權,也是使用相同的數值。

假如你只想給其他使用者讀的許可權,那就設定它為4。現在用數值表示為:

如果你想給乙個檔案664許可權,你可以使用 chmod 命令,如:

chmod

664 filename

filename 處為檔名。

既然你已經理解了檔案許可權,那是時候學習如何更改這些許可權了。就是使用 chmod 命令來實現。第一步你要知道你能否更改檔案許可權,你必須是檔案的所有者或者有許可權編輯檔案(或者通過 su 或 sudo 得到許可權)。正因為這樣,你不能隨意切換目錄和更改檔案許可權。

繼 續用我們的例子 (-rw-rw-r–)。假設這個檔案(命名為 script.sh)實際是個shell指令碼,需要被執行,但是你只想讓自己有許可權執行這個指令碼。這個時候,你可能會想:「我需要是檔案的許可權如 -rwx-rw-r–」。為了設定 x 許可權位,你可以這樣使用 chmod 命令:

chmod

u+xscript

.sh

這時候,列表中顯示的應該是 -rwx-rw-r– 。

如果你想同時讓使用者及其所屬組同時擁有執行許可權,命令應該這樣:

chmod

ug+x

script

.sh

明白這是怎麼工作的了嗎?下面我們讓它更有趣些。不管什麼原因,你不小心給了所有分組對檔案的執行許可權(列表中是這樣的 -rwx-rwx-r-x)。

如果你想去除其他使用者的執行許可權,只需執行命令:

chmod

o-xscript

.sh

如果你想完全刪除檔案的可執行許可權,你可以用兩種方法:

chmod

ugo-x

script

.sh

或者

chmod

a-xscript

.sh

以上就是所有內容,能使操作更有效率。我希望能避免哪些可能會導致一些問題的操作(例如你不小心對 script.sh 使用 a-rwx 這樣的 chmod 命令)。

你也可以對乙個目錄執行 chmod 命令。當你作為使用者建立乙個新的目錄,通常新建目錄具有這樣的許可權:

drwxrwxr-x

注:開頭的 d 表示這是乙個目錄。

正 如你所見,使用者及其所在組都對資料夾具有操作許可權,但這並不意味著在這資料夾中出建立的檔案也具有與其相同的許可權(建立的檔案使用預設系統的許可權 -rw-rw-r–)。但如果你想在新資料夾中建立檔案,並且移除使用者組的寫許可權,你不用切換到該目錄下並對所有檔案使用 chmod 命令。你可以用加上引數 r(意味著遞迴)的 chmod 命令,同時更改該資料夾及其目錄下所有的檔案的許可權。

現在,假設有一資料夾 test,裡面有一些指令碼,所有這些(包括 test 資料夾)擁有許可權 -rwxrwxr-x。如果你想移除使用者組的寫許可權,你可以執行命令:

chmod -r g-w test
執行命令 ls -l,你講看到列出的 test 資料夾的許可權資訊是 drwxr-xr-x。使用者組被去除了寫許可權(其目錄下的所有檔案也如此)。

現在,你應該對基本的 linux 檔案許可權有了深入的理解。對於更高階的東西學起來會很輕鬆,像 setgid、setuid 和 acl 這些。沒有良好的基礎,你很快就會混淆不清概念的。

linux 檔案許可權從早期到現在沒有太大變化,而且很可能以後也不會變化。

原文:

更多參考:

linux: 系統結構詳解

linux: chmod 和 chown用法小結

詳細介紹linux shell指令碼系列基礎學習(列表)

本文**:linux: 系統檔案許可權總結

Linux檔案許可權總結

linux檔案許可權基本概述 1.基本許可權 可讀 r 可寫 w 可編輯 x 2.特殊許可權 suid sgid sbit 3.隱藏許可權 通過 lsattr 檢視,chattr 設定 由於檔案的隱藏許可權種類較多 13種 在此不作具體說明 可以通過 man chattr 來檢視各個隱藏許可權的具體...

linux檔案許可權總結

總結一下 color red ls l test r r xrw 1 dec users 30 2010 09 07 11 56 test color 檔案的許可權8進製表示是456,檔案所屬者dec,檔案所屬組users 注意可能包含dec,也可能不包含,也就是dec使用者所在的組並不代表test...

Linux系統檔案許可權

1 改變許可權屬性命令 chmod chmod 是用來改變檔案或目錄許可權的命令,但只有檔案的屬主和超級使用者 root 才有這種許可權。通過 chmod 來改變檔案或目錄的許可權有兩種方法 一種是用過許可權字母和操作符表示式的方法來設定許可權 另一種是使用數字方法來設定許可權。2 chmod 數字...