如何在 Linux 中更改檔案許可權
Linux 是一個我們可以擁有多個使用者的作業系統。所以,我們需要管理 Linux 中檔案的訪問許可權。如果一個使用者沒有訪問和編輯檔案的許可權,有時我們可能會得到 Permission denied error
。我們可以使用 chmod
命令列工具來更改 Linux 中的檔案許可權。
檢視 Linux 檔案的許可權
要檢視當前工作目錄中所有檔案和目錄的許可權,我們使用 ls -l
命令。
ls -l
輸出:
-rw-rw-r-- 1 zeppy zeppy 123 Oct 4 20:47 1.sh
-rw-rw-r-- 1 zeppy zeppy 46 Sep 30 20:36 file.txt
每個檔案開頭的部分代表了該位置中每個特定檔案的許可權。在輸出中,-rw-rw-r--
代表檔案許可權。
- 開頭的
-
代表內容是一個檔案。 rw-
代表使用者的許可權。rw-
代表使用者組的許可權。- “r–“表示其他使用者的許可權。
r
代表讀許可權,w
代表寫許可權,x
代表執行許可權,-
代表無許可權。
如輸出所示,user
和 group
只有讀和寫許可權,沒有執行許可權,而 others
對當前工作目錄下的檔案都只有讀許可權。
用 chmod
命令改變檔案/目錄的許可權
語法
chmod permissions filename
這裡,permissions
代表我們要設定的許可權,filename
代表要設定許可權的檔名。
我們可以使用絕對模式或使用符號模式來表示許可權。
示例:使用 chmod
命令設定檔案許可權
chmod 760 file.txt
它將檔案 file.txt
的讀、寫和執行許可權設定為所有者或使用者,將讀和寫許可權設定為使用者組,將其他使用者的許可權設定為無。這裡,許可權使用絕對模式表示。
chmod u=rwx,g=rw,o=--- file.txt
它將讀、寫、執行許可權設定為所有者或使用者,將讀、寫許可權設定為使用者組,將無許可權賦給其他使用者,使用符號模式。
例子:使用 chmod
命令為目錄設定許可權
要設定一個目錄內所有檔案的許可權,我們使用 chmod
命令和 -R
或 --recursive
選項。
chmod -R 760 testdir
它將目錄 testdir
的讀、寫、執行許可權設定為所有者或使用者,將讀、寫許可權設定為使用者組,將其他使用者的許可權設定為無,採用絕對模式。
chmod -R u=rwx,g=rw,o=--- testdir
它使用符號模式將目錄 testdir
的讀寫許可權設定為所有者或使用者,將讀寫許可權設定為組,而對其他使用者許可權設定為無許可權。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn