一、了解權限概念
Linux系統的權限概念是基於用戶和文件層級來定義的,權限可以分為讀取、寫入和執行三種。r表示讀取權限,w表示寫入權限,x表示執行權限。同一個文件或者目錄可以指定為不同用戶的權限,例如owner權限、group權限和other權限。
$ ls -l file.txt -rw-r--r-- 1 owner group 1234 Oct 26 10:45 file.txt
例如上述權限信息表示owner用戶可以讀取、寫入文件,group用戶可以讀取文件,other用戶可以讀取文件。運行chmodx命令,可以改變文件的權限。
二、基礎操作
常用的chmodx命令操作包括兩種:數字法和符號法。
1、數字法
數字法改變權限,數字對應的權限值如下:
0:沒有任何權限 1:執行權限 2:寫入權限 3:寫入和執行權限 4:讀取權限 5:執行和讀取權限 6:寫入和讀取權限 7:所有權限
例如:
$ chmod 777 file.txt (owner、group和other都有讀取、寫入、執行權限) $ chmod 755 file.txt (owner有讀取、寫入和執行權限,group和other只有讀取和執行權限)
2、符號法
符號法改變權限,主要包括三個符號:+、-和=。
- +
$ chmod +x file.txt (添加執行權限)
$ chmod -w file.txt (刪除寫入權限)
$ chmod =r file.txt (賦予讀取權限,其他權限清零)
三、批量操作
如果需要批量改變目錄下的所有文件的權限,可以使用-bash命令。例如需要將dir目錄下所有文件和文件夾的權限改為755,可以使用如下命令:
$ chmod -R 755 dir
其中-R參數表示遞歸改變目錄下的所有文件的權限。
四、權限掩碼
權限掩碼用來屏蔽掉特定權限,例如禁止other用戶讀取或寫入某個文件。默認情況下,掩碼為0002。
$ umask 0002
可以通過設置umask值來更改權限掩碼。例如,將umask設置為007後,新建的文件和目錄other用戶沒有任何權限:
$ umask 007
可以通過ls -l命令來查看文件或目錄的權限信息。
五、特殊權限
除了基本的rwx權限外,還有一些特殊權限,例如suid、sgid和sticky bit。
1、suid權限
suid(Set User ID)權限在運行文件時臨時使運行用戶成為文件owner,例如運行passwd命令需要suid權限,因為只有owner用戶才能更改密碼。
$ chmod u+s file.txt (添加suid權限)
2、sgid權限
sgid(Set Group ID)權限與suid類似,但是是將用戶組臨時修改為文件group用戶組。
$ chmod g+s file.txt (添加sgid權限)
3、sticky bit權限
sticky bit權限用於保護目錄中的文件,當目錄設置了sticky bit權限時,只有owner用戶可以刪除自己創建的文件,其他用戶只能刪除自己創建的文件。
$ chmod +t dir (添加sticky bit權限)
六、注意事項
在修改權限時,應該慎重操作,特別是在使用遞歸命令時。如果已經刪除了文件或目錄,可以使用文件恢復工具嘗試恢複數據。
七、總結
Linux權限管理工具chmodx是非常重要的工具,對系統安全和文件控制起着重要作用。本篇文章從權限概念、基礎操作、批量操作、權限掩碼,特殊權限和注意事項等方面進行了詳細闡述,相信讀者已經掌握了該工具的實用操作方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241581.html