1. 程式人生 > 實用技巧 >Linux關於訪問許可權的設定

Linux關於訪問許可權的設定

一、Linux檔案和目錄許可權管理

1、許可權說明:

  (1)r:表示具有讀取檔案內容的許可權;(r=4)

  (2)w:表示具有新增,修改檔案內容的許可權;(w=2)

  (3)x:表示具有執行檔案的許可權,同時需要有r許可權;(x=1)

(4) 預設建立目錄 許可權 755

(5) 預設建立檔案 許可權 644

(6) 9個字元,表示許可權位,每三個一組

d為檔案型別

rwx為屬主許可權

r-x為屬組許可權

後一個r-x為其他人許可權

第一個root為屬主

第二個root為屬組

2、目錄許可權說明;

  (1)r:表示具有瀏覽目錄下有哪些檔案的許可權,必須同時用x許可權才可以;

  (2)w:表示具有新增、刪除、移動目錄內容檔案的許可權,同時需要有x許可權;

  (3)x:表示具有進入目錄的許可權;

3、許可權獲取順序

  • 先看使用者是不是檔案所有者,再看是不是所屬組,最後看是不是其他使用者,如果是其中一個,就有許可權;
  • 對普通使用者來說,沒有許可權是不能訪問資源的;
  • 讀寫許可權對root使用者不受限制,但x許可權受控制;
  • 需要注意的是:對root使用者來說,如果root沒有x許可權,只要屬組和其他有x許可權,root使用者就能執行,而普通使用者不行;

4、檔案/目錄的屬主、屬組和其他使用者

  有3種不同型別的使用者可對檔案和目錄進行訪問:檔案所有者(屬主)、同組使用者(屬組)、和其他使用者(其他人),所有者一般指檔案的建立者,該類使用者可以將檔案的訪問許可權賦予系統中的其他使用者

二、檔案和目錄的預設許可權與umask

  (1)root使用者預設umask為022,普通使用者預設為002

  (2)umask表示使用者建立檔案的預設許可權,目錄的最高許可權為777,檔案最高666;

  (3)目錄預設許可權=777-umask;檔案預設許可權=666-unamk,所得結果奇數位加1

  (4)目錄新建立後的預設許可權是755,檔案建立後的預設許可權是644;

三、改變檔案/目錄的訪問許可權——chmod

(1)文字設定法:

格式:chmod [who][+][-][=][mode] filename

操作物件:

  •u表示“使用者(user)”及檔案或目錄的所有者。

   •g表示“同組(group)”及檔案或目錄屬主有相同組ID的所有使用者。

   •o表示“其他(others)使用者”

  • 表示“所有使用者(all)”

操作符號:

  + :新增某個許可權。

  - :取消某個許可權。

  = :賦予給定許可權並取消其他所有許可權。

設定mode所表示的許可權:

  r讀取許可權,數字代號為“4”;
  w寫入許可權,數字代號為“2”;
  x執行或切換許可權,數字代號為“1”;

(2)數字設定法:

格式:chmod [mode] filename

四、更改檔案/目錄的所有權——chown

格式:chown [option] [user|group] filename

選項:

-c或——changes:效果類似“-v”引數,但僅回報更改的部分;
-f或--quite或——silent:不顯示錯誤資訊;
-h或--no-dereference:只對符號連線的檔案作修改,而不更改其他任何相關檔案;
-R或——recursive:遞迴處理,將指定目錄下的所有檔案及子目錄一併處理;
-v或——version:顯示指令執行過程;
--dereference:效果和“-h”引數相同;

五、Linux系統檔案的特殊許可權(SUID,SGID,Sticky)

Set UID

  • 當s這個標誌出現在檔案所有者的x許可權上時,例如 “-rwsr-xr-x” ,此時被稱為Set UID,簡稱為SUID的特殊許可權。
  • SUID許可權僅對二進位制程式有效;
  • 執行者需要對此程式具有x的可執行許可權;
  • 本許可權僅在執行該程式的過程中有效;
  • 執行者將具有該程式所有者的許可權;

Set GID

  • SGID可以針對檔案或目錄設定。
  • 當s標誌出現在使用者組的x許可權上時,例如“-rwx–s–x”為Set GID,簡稱為SGID的特殊許可權,SGID可以針對檔案或目錄設定。
  • 對於檔案來說:SGID對二進位制程式有用;程式執行者對於該程式來說,須具備x的可執行許可權;執行者在執行的過程中將會獲得該程式使用者組的支援;
  • 當一個目錄設定了SGID的許可權後,它將具有以下功能:使用者若對此目錄具有r與x的許可權時,該使用者能夠進入此目錄;使用者在此目錄下的有效使用者組將會變成該目錄的使用者組;若使用者在此目錄下具有w的許可權,則使用者建立新檔案的使用者組與此目錄的使用者組相同;

Sticky Bit

  • Sticky Bit,簡稱SBIT。目前只針對目錄有效,針對檔案已經無效。
  • SBIT的作用:當一個使用者對某目錄是具有使用者組或其他人的身份,並具有w許可權(即具有寫入的許可權時),這表明該使用者可以對該目錄下任何人新建的目錄或檔案進行刪除、移動、重新命名等操作。不過,如果該目錄具有SBIT許可權時,則僅有檔案屬主和root才能刪除、移動、重新命名此檔案,普通使用者無法刪除該目錄下不屬於自己的檔案。