一、文件及文件夾屬性
https://blog.csdn.net/zbj18314469395/article/details/79884857
https://blog.csdn.net/qiulinsama/article/details/86132310
二、chmod命令格式
chmod [-cfvR] [ugoa] [+-=] [rwx] [rwx] [rwx] [文件/目錄]
-c : 若該文件權限確實已經更改,才顯示其更改動作
-f : 若該文件權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有文件與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
u 表示該文件的擁有者,g 表示與該文件的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行 -表示相應的權限還沒有被授予
三、數字命名法舉例
-rw------- (600) 只有所有者才有讀和寫的權限
-rw-r--r-- (644) 只有所有者才有讀和寫的權限,組群和其他人只有讀的權限
-rwx------ (700) 只有所有者才有讀,寫,執行的權限
-rwxr-xr-x (755) 只有所有者才有讀,寫,執行的權限,組群和其他人只有讀和執行的權限
-rwx--x--x (711) 只有所有者才有讀,寫,執行的權限,組群和其他人只有執行的權限
-rw-rw-rw- (666) 每個人都有讀寫的權限
-rwxrwxrwx (777) 每個人都有讀寫和執行的權限
chmod 777 file1.txt == chmod ugo+r file1.txt == chmod a+r file1.txt
四、文字命名法舉例
將文件 file1.txt 設為所有人皆可讀取
chmod ugo+r file1.txt == chmod a+r file1.txt
將目前目錄下的所有文件與子目錄皆設為任何人可讀取
chmod -R a+r *
表示刪除xxx.xxx中組群和其他人的讀和寫的權限
chmod go-rw xxx.xxx
在實際開發中,有的文件雖然有權限,但是卻不能更改,這有可能是該文件所屬的文件夾不具備相關權限,如之前遇到過得samba服務器共享文件夾里面文件不能修改,可使用如下權限進行設置:
#samba配置文件加入可寫權限
[share]
writable = yes
遞歸的將文件夾及其下面子目錄文件的所有者及其它用戶都設置為可讀可寫。
chmod -R go+rwx myfloder
終極權限
解決方法:
chmod -R a+x myfloder //所有的用戶都可以有執行的權限!!
PS:用字符串來設定文件訪問權限。
1、所有者用 u 表示,組用戶用 g 表示,其他用戶用 o 表示,所有用戶用 a 表示
2其中讀用 r 表示,寫用 w 表示,執行用 x 表示;
chmod a+r,u+w,u+x,g+w a.txt