Linux更改文件及目錄權限問題


1. 快速實例學習:

修改某個目錄下的所有文件的權限,包括子目錄中的文件,例子如下:

# chmod 777 /home/user 注:僅把/home/user目錄的權限設置為rwxrwxrwx

# chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的文件和子目錄的權限都設置為rwxrwxrwx

 其中,參數-R表示啟動遞歸處理

 

2. chmod命令解析:

chmod 用3個數字來表達對 用戶(文件或目錄的所有者),用戶組(同組用戶),其他用戶 的權限:

  如:chmod 777 /test

  數字7是表達同時具有讀,寫,執行權限:讀取--用數字4表示;

                      寫入--用數字2表示;

                      執行--用數字1表示;

  按照規則,如你想設置/test目錄的權限為:

    對用戶可讀可寫:4(讀取)+ 2(寫入)= 6 ;

    對用戶組可讀可執行:4(讀取)+ 1(執行)= 5 ;

    對其他用戶僅可讀:4(讀取);

  這樣就可以用命令:

    chmod 654 /test

 

3. 權限解析:

針對文件的三種權限:

   讀文件內容(r),寫數據到文件(w),作為命令執行文件(x)

針對目錄的三種權限:

   讀包含在目錄中的文件名稱(r);

   寫信息到目錄中去(增加和刪除索引點的連結,w);

   搜索目錄(能用該目錄名稱作為路徑名去訪問它所包含的文件和子目錄);

 

具體說明:

  1. 有只讀權限的用戶不能用cd進入該目錄:還必須有執行權限才能進入;
  2. 有執行權限的用戶只有在知道文件名,並擁有讀權利的情況下才可以訪問目錄下的文件;
  3. 必須有讀和執行權限才可以ls列出目錄清單,或使用cd命令進入目錄;
  4. 有目錄的寫權限,可以創建、刪除或修改目錄下的任何文件或子目錄,即使使該文件或子目錄屬於其他用戶也是如此;

 

幾種常用權限實例:

  -rw------- (600) 只有所有者才有讀和寫的權限

  -rw-r--r-- (644) 只有所有者才有讀和寫的權限,組群和其他人只有讀的權限

  -rwx------ (700) 只有所有者才有讀,寫,執行的權限

  -rwxr-xr-x (755) 只有所有者才有讀,寫,執行的權限,組群和其他人只有讀和執行的權限

  -rwx--x--x (711) 只有所有者才有讀,寫,執行的權限,組群和其他人只有執行的權限

  -rw-rw-rw- (666) 每個人都有讀寫的權限

  -rwxrwxrwx (777) 每個人都有讀寫和執行的權限

 

4. 特殊權限:

特殊權限有三種:--s--s--t;

  所有人s權限:稱為Set UID,簡稱為SUID的特殊權限;即當執行該文件時將具有該文件所有者的權限。

  所在組s權限:稱為Set GID,簡稱為SGID的特殊權限;即在該目錄下建立的目錄和文件都屬於固定的組。

  最后的t權限:稱為Sticky Bit,簡稱為SBIT權限,只針對目錄有效。它表示只能讓所屬主以及root可以刪除(重命名/移動)該目錄下的文件。

 

特殊權限賦予與取消:

1. Set UID

# chmod u+s home/usr01/test
# chmod u-s home/usr01/test

2. Set GID

# chmod g+s home/usr01/test
# chmod g-s home/usr01/test

3. Sticky Bit

# chmod o+t home/usr01/test
# chmod o-t home/usr01/test

 

或者:

# chmod 0755 home/usr01/test

  0755最前面的0表示不使用任何特殊權限,該位上的數字可以是:

    0(---);1(--t);2(-s-);3(-st);4(s--);5(s-t);6(ss-);7(sst);

 

注:如果該權限位上沒有權限,特殊權限會顯示為大寫,如:-rwx--S--T

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM