一、 指令格式
Linux既然每個檔案或目錄都有自己的權限屬性,那麼如何來修改他們的權限屬性呢,在學指令之前先了解一下Linux指令的格式:

[-選項]:就是用來調整指令功能的。
[參數]:指令操作的對象。
二、修改檔案基本權限的指令
想要改檔案的權限,隻有管理者root和所有者才能修改
1、chmod:更改檔案9個屬性
Linux檔案屬性有兩種設定方法,一種是數字,一種是符号。
Linux檔案的基本權限就有九個,分别是owner/group/others三種身份各有自己的read/write/execute權限。
① 數字改變檔案權限(常用)
我們可以使用數字來代表各個權限,各權限的分數對照表如下:
- r:4
- w:2
- x:1
每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為: [-rwxrwx---] 分數則是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= --- = 0+0+0 = 0
是以等我們設定權限的變更時,該檔案的權限數字就是770啦!變更權限的指令chmod的文法是這樣的:
chmod [-R] xyz 檔案或目錄
- xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
- -R : 進行遞歸(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更
② 符号類型改變檔案權限
我們就可以藉由u, g, o來代表三種身份的權限!
此外, a 則代表 all 亦即全部的身份!那麼讀寫的權限就可以寫成r, w, x!也就是可以使用底下的方式來看:
chmod | u g o a | +(加入) -(除去) =(設定) | r w x | 檔案或目錄 |
如果我們需要将檔案權限設定為 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 檔案名 來設定。
例:
注意:如果一個目錄有寫的權限,其他使用者對于這個目錄下的檔案也可以删除。
2、chown:更改檔案屬主,也可以同時更改檔案屬組
注意:這個指令隻有管理者root才可以操作。而且系統裡是必須存在這個使用者。
文法:
chown [–R] 屬主名: 檔案名
chown [-R] 屬主名:屬組名 檔案名
3、chgrp:更改檔案屬組。
文法:
chgrp [-R] 屬組名 檔案名
參數選項
- -R:遞歸更改檔案屬組,就是在更改某個目錄檔案的屬組時,如果加上-R的參數,那麼該目錄下的所有檔案的屬組都會更改。
4、umask設定預設的權限掩碼
Linux umask指令指定在建立檔案時預設的權限掩碼,在學習這個指令之前,先了解一下預設的所有者和所屬組是哪來的?
一個檔案建立的時候所有者和所屬組是哪來的?
所有者:誰建立的檔案誰就是這個檔案的所有者。
所屬組:就是這個檔案建立者的預設組,每個使用者隻能有一個預設組。
顯示建立檔案的預設權限。
建立一個目錄的時候檢視發現 權限跟預設權限是一緻的,但是在test目錄裡建立一個檔案後,檢視檔案預設權限跟預設預設權限不一緻,這個是為什麼呢?
rwxr-xr-x
rw-r--r-- 對比發現都少了一個x可執行權限,這是因為在Linux裡預設權限建立的檔案是不可具有可執行權限的。
單獨執行 umask 發現現實出 0022 ,這是什麼意思呢?
022是權限掩碼意思,真正的權限是777-022=755 寫出來就是rwxr-xr-x.
如果我們自己要是想修改這個預設權限,該怎麼修改的。