chmod 是一個用于更改文件或目錄權限的 Linux 命令
只對文件和目錄有效:chmod 命令只能用于修改文件和目錄的權限,不能用于其他類型的文件,如設備文件、套接字等。
權限模型:Linux 使用基于用戶、組和其他用戶的權限模型。這意味著一個文件可以被特定的用戶、用戶組或其他用戶設置不同的權限。chmod 命令需要以這些用戶或用戶組的身份運行才能正確更改權限。
權限表示:Linux 使用數字表示法來設置權限。每個權限都有一個對應的數字:讀(r)=4,寫(w)=2,執行(x)=1。要更改多個權限,可以將這些數字相加。例如,要設置讀和寫權限,可以使用 chmod 644 file.txt(4+2=6)。
用戶、組和其他用戶的默認權限:在創建新文件時,通常會為文件所有者分配讀、寫和執行權限(7),為用戶組分配讀和執行權限(6),為其他用戶分配讀和執行權限(6)。這意味著新創建的文件將具有 644(rw-r–r–)的默認權限。
權限繼承:當你在一個目錄中創建一個新文件時,該文件的權限將繼承其父目錄的權限。這意味著如果你在一個具有 755(rwxr-xr-x)權限的目錄中創建一個新文件,該文件將具有 644(rw-r–r–)的默認權限,因為新文件的權限將繼承父目錄的權限。
特殊權限位:Linux 還具有一些特殊權限位,如 setuid、setgid 和 sticky bit。這些權限位可以用于改變文件的行為。然而,使用這些特殊權限位時需要格外小心,因為它們可能會導致安全問題。
權限沖突:在某些情況下,可能會出現權限沖突。例如,當一個用戶試圖訪問一個受保護的文件,但沒有足夠的權限時,系統通常會拒絕訪問并顯示一條錯誤消息。然而,在某些情況下,系統可能會允許訪問,但會在后臺記錄警告或錯誤。這取決于系統的配置和文件的安全策略。