一、了解許可權概念
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-tw/n/241581.html