瞭解許可權

假設有一個我們想要執行的檔案,例如一個名為 add.sh 的 bash 指令碼。但是輸入 ./add.sh 會產生許可權錯誤。獲取許可權是一個簡單的過程。

要確定檔案具有的許可權,請鍵入:

ls -l filename,或者,在我們的例子中,ls -l ./add.sh

這會將以下內容列印到控制檯:

-r--r--r-- 1 username groupname 0 Jan 4 12:00 add.sh

讓我們停下來理解這意味著什麼。許可權有三種不同型別:所有者,組,其他。不同的許可權適用於每種許可權型別。

還有三個許可權操作,更廣泛地還描述了使用者可以對檔案執行的操作。它們是:(讀:r,​​寫:w,執行:x)。

所以,回到破折號和 r 的那一串。每個許可權組都有三種潛在的能力。這些組按照 owner-group-others 的順序列出,並且操作為 read-write-execute

但等等,這意味著在字串的開頭有一個額外的字元。這實際上是檔案描述符字元。我們可以看到有一個 -,但其他字元存在像 directories(d),sockets(s),symbolic link(l) 等。

這給我們留下了基本上這些資訊:a file where owner, group, and others have read permissions. No other permissions granted.

讓我們改變它以允許所有者也編寫和執行該檔案。注意:根據許可權,可能需要將 sudo 新增到此命令。

chmod 744 add.sh
ls -l add.sh

列印出來

-rwxr--r-- 1 username groupname 0 Month time add.sh

現在,檔案的所有者可以通過鍵入來執行該檔案

./add.sh