linux的檔案許可權是linux能有如此安全效能的最大的保障之一,有朋友可能會知道,很多攻擊windows的方法都是通過漏洞獲取到建立使用者的許可權從而達到控制計算機的目的,在linux下,root帳戶有最大的許可權,可以幹任何事情,其他使用者只能擁有自己的檔案的所有許可權和該改組成員賦予的檔案的許可權,下面開始對檔案許可權的乙個說明。
讀許可權r。簡單的說就是開啟檔案檢視內容的許可權,在web伺服器中,若檔案沒有開啟許可權,則web伺服器則視為該檔案不存在,傳送404 file not found錯誤,用數字4表示。
寫許可權w。乙個檔案若沒有寫的許可權,那麼該檔案則無法更改,資料夾若沒有寫許可權,則該資料夾下無法建立新檔案,用數字2表示。
執行許可權x。程式檔案若要執行,必須有執行許可權,否則無法執行。開啟乙個資料夾也是執行,所以資料夾若沒有執行許可權,則無法被開啟。用數字1表示。
[table]
|誰擁有這個許可權|檔案所有者|組內使用者|公共使用者
|可讀=4 | 0 | 0 | 0
|可寫=2 | 0 | 0 | 0
|可執行=1 | 0 | 0 | 0
|實際許可權,縱向相加| 0 | 0 | 0
[/table]
公共使用者為所有者和組內使用者之外的使用者,比如訪問web時候,linux可能用公共的使用者去讀取檔案,這裡不妨理解成是訪客所能操作的那個使用者。
下面舉例(再次提醒,資料夾和檔案不一樣):
檔案所有使用者可寫: 666 (3類使用者均可讀寫)
[table]
|誰擁有這個許可權 | 檔案所有者| 組內使用者| 公共使用者
|可讀=4 | 4| 4| 4
|可寫=2 | 2| 2| 2
|可執行=1| 0| 0| 0
|實際許可權,縱向相加| 6| 6| 6
[/table]
接上面的,假設我們吧資料夾設定成0666會怎麼樣,結果很明顯,因為該資料夾沒有執行許可權,無法被開啟,所以設定成0666則無法被訪問到。
[table]
|誰擁有這個許可權 | 檔案所有者 | 組內使用者| 公共使用者
|可讀=4 |4 | 5 | 4
|可寫=2 |2| 0 | 0
|可執行=1 | 1| 1| 1
|實際許可權,縱向相加| 7 | 5| 5
[/table]
如果php需要在某資料夾下建立檔案,請把該檔案的許可權全部設定:即可都可寫和可執行777
[table]
|誰擁有這個許可權 | 檔案所有者 | 組內使用者 | 公共使用者
|可讀=4 |4 | 4 | 4
|可寫=2 | 2 | 2 | 2
|可執行=1 | 1 | 1 | 1
|實際許可權,縱向相加 | 7 | 7 | 7
[/table]
為了安全起見,正常的php檔案應該設定成:所有者可讀可寫,組使用者可讀,公共使用者可讀 644
[table]
|誰擁有這個許可權 |檔案所有者 | 組內使用者 |公共使用者
|可讀=4 | 4 |4 |4
|可寫=2 |2 | 0 | 0
|可執行=1 | 0 | 0 |0
|實際許可權,縱向相加 | 6 | 4 | 4
[/table]
其他許可權,請大家自行思考。
對於那些建議把所有檔案和資料夾都設定成 777的人,我只能說你要麼在誤導別人,要麼在殘害新手!
使用方式 : chmod [-cfvr] [--help] [--version] mode file...
說明 : linux/unix 的檔案訪問許可權分為** : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所訪問。
把計 :
mode : 許可權設定字串,格式如下 : [ugoa...][[+-=][rwxx]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同乙個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加許可權、- 表示取消許可權、= 表示唯一設定許可權。
r 表示可讀取,w 表示可寫入,x 表示可執行,x 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
-c : 若該檔案許可權確實已經更改,才顯示其更改動作
-f : 若該檔案許可權無法被更改也不要顯示錯誤訊息
-v : 顯示許可權變更的詳細資料
-r : 對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞迴的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
範例 :將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同乙個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設定為只有該檔案擁有者可以執行 :
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -r a+r *
此外chmod也可以用數字來表示許可權如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為乙個數字,分別表示user、group、及other的許可權。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7。
範例:chmod a=rwx file
和chmod 777 file
效果相同
chmod ug=rwx,o=x file
和chmod 771 file
原文出自:
[url]
[url]
Linux下資料夾許可權設定
linux的檔案許可權是linux能有如此安全效能的最大的保障之一,有朋友可能會知道,很多攻擊windows的方法都是通過漏洞獲取到建立使用者 的許可權從而達到控制計算機的目的,在linux下,root帳戶有最大的許可權,可以幹任何事情,其他使用者只能擁有自己的檔案的所有許可權和該改組成員賦予的 檔...
Linux下資料夾的許可權解讀
1 檔案能否刪除與檔案本身的許可權設定沒有關係,而與檔案所在的資料夾的許可權有關係。2 目錄的讀許可權 只能看到目錄下面檔案的列表,對於檔案的許可權,屬性都看不到 目錄的寫許可權 可以在目錄下建立和刪除檔案,前提是能夠進入該目錄。目錄的執行許可權 可以進入該目錄 可以察看 修改檔案的內容 也依賴於檔...
Linux 資料夾許可權
資料夾預設許可權 drwxr xr x 755 檔案預設許可權 rw r r 644 drwxr xr x 第一位 左數 表示當前目錄是目錄還是檔案,d表示目錄,表示普通檔案.後面9位分為3組,每3組作為1組,從左到右分別表示 檔案屬主 建立者 檔案屬組 和建立者同組的使用者許可權 和其他所有使用者...