linux目錄權限

首先來談一下linux下文件的權限。

linux中秉承everything is a file的理念,每一個文件有三個權限,可讀(r),可寫(w),可執行(x)。權限表示用r、w、x這三個字母進行表示,"-"就表示不具有特定的權限。如圖:


而目錄的權限一開始也是讓人有些難於理解,so 去實踐一下吧:

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. jack@jiaobuchong:~/test$ mkdir sky    //創建sky這個文件夾作爲測試  
  2. jack@jiaobuchong:~/test$ ls -l  
  3. total 4  
  4. drwxrwxr-x 2 jack jack 4096 Aug  5 15:22 sky  
  5. jack@jiaobuchong:~/test$ chmod 700 sky        //把sky這個目錄組和其他的權限給歸0  
  6. jack@jiaobuchong:~/test$ ls -l  
  7. total 4  
  8. drwx------ 2 jack jack 4096 Aug  5 15:22 sky   //目前這個jack這個用戶在sky這個文件夾裏可以任何想幹的  

目錄的可執行權限:

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. jack@jiaobuchong:~/test$ ls -l  
  2. total 4  
  3. drwx------ 2 jack jack 4096 Aug  5 15:39 sky  
  4. jack@jiaobuchong:~/test$ chmod u-x sky     //去掉可執行權限  
  5. jack@jiaobuchong:~/test$ ls -l  
  6. total  
  7. drw------- 2 jack jack 4096 Aug  5 15:39 sky  
  8. jack@jiaobuchong:~/test$ cd sky               
  9. bash: cd: sky: Permission denied     //想進去這個目錄不可以了  
  10. jack@jiaobuchong:~/test$   

現在我把sky目錄的可執行權限去掉:

所以可得出結論,目錄的可執行權限,就是用戶能不能進入這個目錄。沒有了進入的(可執行)權限,用戶對這個目錄就啥也不能幹了。

目錄的可讀權限:

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. jack@jiaobuchong:~/test$ chmod u+x sky/  
  2. jack@jiaobuchong:~/test$ ls -l  
  3. total 4  
  4. drwx------ 2 jack jack 4096 Aug  5 15:39 sky  
  5. jack@jiaobuchong:~/test$ chmod u-r sky/         //對sky這個目錄去掉可讀的權限  
  6. jack@jiaobuchong:~/test$ ls -l  
  7. total 4  
  8. d-wx------ 2 jack jack 4096 Aug  5 15:39 sky  
  9. jack@jiaobuchong:~/test$ cd sky  
  10. jack@jiaobuchong:~/test/sky$ ls               //沒有可讀的權限後,就不能瀏覽這個目錄裏的內容了  
  11. ls: cannot open directory .: Permission denied  
  12. jack@jiaobuchong:~/test/sky$   
目錄的可讀權限就是能不能瀏覽這個文件夾裏的內容,內容就是目錄裏面文件的名字。可以試着編輯這個文件夾:

$vim sky 

沒有可讀權限時,結果是看不到任何東西的。如果具有可讀的權限,編輯文件目錄sky,我們可以看見有內容:文件目錄裏面各個文件的名字。

目錄的可寫權限:

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. jack@jiaobuchong:~/test$ chmod u-w sky/  
  2. jack@jiaobuchong:~/test$ cd sky/  
  3. jack@jiaobuchong:~/test/sky$ ls  
  4. hello  
  5. jack@jiaobuchong:~/test/sky$ rm hello      
  6. rm: cannot remove `hello': Permission denied  
  7. jack@jiaobuchong:~/test/sky$ touch test  
  8. touch: cannot touch `test': Permission denied       //當我們想創建文件和刪除文件時都不行了  
  9. jack@jiaobuchong:~/test/sky$   
目錄的可寫權限就是能否在這個目錄裏進行添加、刪除文件的操作。


最後通俗地總結一下:

目錄的可讀權限就是可以在目錄裏可以使用ls命令;

目錄的可寫權限就是可以在目錄裏可以使用touch、mkdir、rmdir、rm等命令;

目錄的可執行權限就是可以使用cd命令進入這個目錄。

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章