天天看點

Linux修改權限指令chmod用法示例

Linux中的Chmod指令用于更改或配置設定檔案和目錄的權限。在Linux/Unix系統中,檔案和目錄的可通路性是由檔案所有權和權限決定的。在上一篇文章中,我們了解了如何使用chown指令管理檔案和目錄的所有權。在本教程中,我們将介紹chmod指令。

chmod指令(change mode的縮寫)用于管理檔案和目錄權限,并确定誰可以通路它們。現在讓我們深入了解檔案和目錄權限的本質,以及如何修改它們。

為了更好地了解chmod指令是如何工作的,我們該謹慎地研究Linux檔案權限模型。在Linux中,我們具有3種類型的檔案權限:讀(r),寫(w)和執行(x)權限。這些權限确定哪些使用者可以讀取,寫入或執行檔案。您可以使用文本或八進制(數字)表示法來配置設定這些權限,我們将在本教程後面讨論。檔案和目錄可以屬于檔案(u),組(g)或其他(o)的所有者

u - 所有人的權限

g - 所有組的權限

o- 其他人的權限

使用ls -l指令以長格式的形式檢視目前目錄下所有可見檔案的詳細屬性。該-l标志列出檔案的權限。權限分為三組:使用者(user)組(group)和其他(others)。為了更好地了解檔案權限,我們将列出目錄的内容,如下所示:

Linux修改權限指令chmod用法示例

從最左端開始,第一個字元/符号表示檔案類型。一個連字元( - ) ,表示該檔案是一個普通檔案。符号d表示它是目錄。符号l表示它是符号連結。其餘的9個字元分成3個三元組,每個三元組帶有三個符号r(read),w(write)和x(execute)。如前所述,第一部分指向所有者權限,第二部分訓示組權限,最後一部分指定其他使用者對該檔案或目錄具有的權限。從輸出中,我們可以看到我們有4個檔案和2個目錄。讓我們檢視下第一個檔案

對于第一個檔案,-rw-rw-r–權限表示該檔案的所有者具有讀取和寫入權限,該組還具有讀取和寫入權限,而其他使用者僅具有讀取權限。再看看目錄的權限:

我們可以看到目錄群組的所有者擁有所有權限(讀取,寫入和執行),而其他使用者僅具有讀取和執行權限。在三重連字元符号-表示沒有權限已被授予該檔案,小組或其他使用者的所有者。

在檢視了檔案權限以及如何檢視它們之後,我們不再關注如何修改這些權限。Linux中的chmod指令用于使用文本(符号)或數字(八進制)表示法更改檔案和目錄權限。它采用以下文法:

$ chmod [選項]模式檔案名

隻有root使用者或具有sudo特權的普通使用者才能更改檔案或目錄權限。您可以在指令文法中傳遞多個檔案或目錄,并用空格分隔。現在讓我們深入研究并檢視chmod指令的不同示例。

使用數字樣式/符号設定權限時,請使用以下文法:

數值可以為3或4個數字。但是,在大多數情況下,使用3個數字。讀取,寫入和執行權限采用以下值:

讀取權限=> 4

寫權限=> 2

執行權限=> 1

權限值的總和,即在三個段中的每一個中的讀取,寫入和執行,都占給定檔案或目錄的完整權限。這是什麼意思?假設所有者具有讀取,寫入和執行權限,該組具有讀取和執行權限,而其他使用者僅具有讀取權限,可以将其細分如下:

是以,我們得到的值為754,作為給定檔案的檔案權限的數值。要将讀取,寫入和執行權限配置設定給所有者,而僅将讀取權限配置設定給組和其他使用者,請運作以下指令:

要将所有權限配置設定給檔案的所有者,請對該組讀取和執行權限,而對其他使用者則完全沒有權限,請執行:

要将所有權限配置設定給檔案的所有者,請對該組具有讀寫權限,其他使用者請運作以下指令:

為目錄配置設定權限時,請使用-R标志以遞歸方式為其目錄和子檔案夾配置設定權限。例如:$ chmod 755 -R 目錄名

配置設定權限的另一種方法是使用文本表示法。在此方法中,chmod指令采用标志或符号,這些标志或符号代表文法中的所有者,組,其他或所有使用者(u,g和o)。該方法不像以前的方法那樣簡單明了,應注意避免配置設定錯誤的權限。這是文法的樣子

讓我們分解一下。第一組參數[ugoa]指定權限将更改的使用者類别

u:使用者

g:組

o:其他

a:全部(包括以上所有内容)

如果省略了這個集合,那麼預設選項是a選項。第二組選項–操作員選項[– + =] –确定是要添權重限還是要從使用者類别中删除權限。選項删除

–     :該标志從指定的使用者中删除檔案權限。

+    :将權限添加/添加到指定使用者。

=    :為指定的使用者配置設定不同的權限,并删除該使用者段的先前權限。

$ chmod o = r 檔案名上面的指令僅将用符号“ o”表示的其他使用者配置設定給該檔案的讀取權限,并删除先前配置設定給' others '段的權限。取得具有以下權限的linuxmi.txt

Linux修改權限指令chmod用法示例

配置設定“others (o)”段的讀權限,請僅運作

Linux修改權限指令chmod用法示例

從輸出中,我們可以看到已為“others”段配置設定了讀取權限,而同時又失去了執行權限。這意味着=運算符将配置設定新的權限,而同時會删除以前的權限。

上面的指令将執行權限添加到檔案的所有者群組。使用我們的檔案,它将變成:

Linux修改權限指令chmod用法示例

sudo chmod u=rwx,g=rw,o=r filename上面的指令将手機遊戲賬号買号平台地圖所有權限配置設定給檔案的所有者,将讀寫權限配置設定給組,僅将讀取權限授予其他使用者。

Linux修改權限指令chmod用法示例

注意:如果在=運算符之後未指定任何權限,則将删除該使用者段中的所有權限。

$ sudo chmod o= filenamesudo chmod o= linuxmi.txt$ sudo chmod o-rwx linuxmi.txt上面的指令從“其他”使用者段中删除指定檔案的所有權限。該指令與以下指令具有相同的作用:$ sudo chmod o-rwx filename

Linux修改權限指令chmod用法示例

配置設定檔案權限的另一種便捷方法是使用參考檔案。在此方法中,您使用--reference=<模闆檔案> 選項将檔案的權限設定為與另一個參考檔案的權限相同。使用以下文法

例如,要将linuxmi.txt的檔案權限設定為與www.linuxmi.com.py的權限相同,請運作以下指令:

模闆檔案是www.linuxmi.com.py,将linuxmi.txt更改為模闆檔案相同的權限。

Linux修改權限指令chmod用法示例

假設我們有一個包含檔案和子目錄的目錄,并且我們希望僅對目錄配置設定執行權限,而不接觸檔案。是以,這可以通過使用以下chmod指令來實作,

如果您已經注意到,我們已經使用大寫的X作為執行權限,以上指令将在目前工作目錄的所有目錄上設定執行權限。總結這個話題暫時到此結束。我們檢視了chmod指令,并了解了可以使用該指令更改檔案權限的各種示例。

繼續閱讀