如果您使用Linux作為主要操作系統或管理Linux服務器,當您嘗試創建或編輯文件并收到權限拒絕Permission deny錯誤時。
通常,可以通過設置正確的文件權限或所有權來解決與權限不足的錯誤。
Linux是一個多用戶系統,并且通過文件許可權,屬性和所有權來控制對文件的訪問。
這樣可以確保只有授權的用戶和進程才能訪問文件和目錄。需要了解文件權限的更多信息,請閱讀Linux Umask命令。
在本教程中,我們將說明如何遞歸更改文件和目錄的權限。
Chmod 命令遞歸修改權限
chmod
命令允許您使用符號或數字模式修改文件的權限。要遞歸指定目錄所有文件,請使用chmod
命令的-R
/--recursive
選項。
遞歸修改文件權限的語法形式是chmod -R MODE DIRECTORY
,MODE
是權限的模式,DIRECTORY
是要設置權限的目錄或者文件。
例如命令chmod -R 755 /var/www/html
將/var/www/html
目錄的所有文件和子目錄的權限更改為755
。
也可以使用符號模式指定權限chmod -R u=rwx,go=rx /var/www/html
。只有root用戶或者文件所有者才能更改文件的權限。在遞歸修改文件的權限時,請格外小心。
sudo chmod -R 755 /var/www/html
sudo chmod -R u=rwx,go=rx /var/www/html
find 命令遞歸修改權限
通常,文件和目錄不應該具有相同的權限。大多數文件不需要執行權限,而您必須在目錄設置可執行權限才能切換目錄。
最常見的情況是將網站文件的權限遞歸更改為644
,目錄的權限更改為755
。在這種情況下,是使用find命令遞歸修改文件與目錄權限最適合用例。
我們可以使用find
命令在/var/www/html
搜索文件或目錄,并將找到的每個文件或目錄傳遞給chmod
命令以設置權限。
在這個示例中,我們組合使用find
與-exec
選項,為找到的每個目錄與文件運行chmod
命令。
如果你有大量的目錄或者文件,請使用xargs
命令,通過一次傳遞多個文件與目錄來加快修改的速度。
命令find /var/www/html -type d -exec chmod 755 {} ;
命令將會修改目錄的權限,如果需要修改文件權限,請將-type d
換成-type f
,f
表示文件。
find /var/www/html -type d -exec chmod 755 {} \\;
find /var/www/html -type d -exec chmod u=rwx,go=rx {} \\;
find /var/www/html -type d -print0 | xargs -0 chmod 755
結論
帶有-R
選項的chmod
命令允許您遞歸更改文件的權限。要基于文件的類型遞歸設置權限,請結合使用chmod
和find
命令。
-
Linux
+關注
關注
87文章
11465瀏覽量
212840 -
文件
+關注
關注
1文章
578瀏覽量
25218 -
命令
+關注
關注
5文章
730瀏覽量
22678
發布評論請先 登錄
如何更改planahead啟動目錄?
用vim編輯文件,增加內容不能成功的原因分析
淺談Linux權限管理的ACL權限
基本的Linux權限模型以及chmod 777含義
Linux系統如何修改文件屬性與權限

Linux把目錄權限給指定用戶
Linux文件權限及Makefile

評論