1. 程式人生 > >Linux程式設計 16 檔案許可權(組管理 groupadd, groupmod,檔案許可權介紹)

Linux程式設計 16 檔案許可權(組管理 groupadd, groupmod,檔案許可權介紹)

一.使用者組

 前面章節知道使用者賬戶在控制單個使用者安全性方面很好,但涉及到共享資源或把使用者型別分組時,組概念就出來了。 組許可權允許多個使用者對系統中的物件(比如檔案,目錄,裝置等)共享一組共用的許可權。 在centos中建立一個使用者會為該使用者單獨建立一個組,這樣可以更安全一些。

  1.1   /etc/group 檔案    與使用者一樣,組資訊也儲存在系統的一個檔案中。/etc/group檔案包含系統上用到的每個組的資訊。如下圖所示:          GID在500以內屬於系統賬戶,而使用者組的GID則從500開始分配(好像不同釋出版有所不同)。上面有三個欄位:組名,組密碼,GID。組密碼是允許非組內成員通過組密碼臨時成為該組成員,但這功能並不常用。建立組時不能直接通過/etc/group檔案來新增使用者到一個組,要用usermod命令,上篇有講到該命令。

  1.2   建立新組 groupadd    下面使用groupadd 命令在系統上建立新組(gtest),如下圖所示:          在建立新組後,預設沒有使用者被分配到該組下,使用usermod或useradd都可以將使用者分配到指定組:例如之前安裝mysql時,使用useradd來建立mysql使用者,並指定到mysql組中.如下圖所示:          下面使用useradd來建立使用者gtest1和gtest2,指定到gtest組8001中,如下圖所示:      

  1.3   修改組    修改組使用groupmod命令可以修改已有組的GID(-g選項)或組名(-n選項)。當修改組名時,gid和組成員不變,只有組名改變,由於所有安全許可權都是基於GID的,所以隨變修改組名不會影響檔案的安全性。下面使用groupmod –n來修改gtest組名為gtest1。      

二.檔案許可權

在瞭解使用者和組之後,下面來解讀檔案許可權,通過ls 命令輸出來介紹分析。下面隨意定位在個目錄下。      上面結果第一列,就是描述檔案和目錄許可權的編碼。第一列的第一個字元分別代表了物件的型別:(1)     – 代表檔案

(2)     d 代表目錄

(3)     l  代表連結

(4)     c 代表字元型裝置

(5)     b 代表塊裝置

(6)     n 代表網路裝置

    第一列之後有3組三字元的編碼,每一組定義了3種訪問許可權,沒有許可權是單破折線:    (1)     r 代表物件是可讀的

    (2)     w 代表物件是可寫的

    (3)     x 代表物件是可執行的

    上面3組許可權分別對應物件的3個安全級別:物件的屬主,物件屬組,系統其它使用者

    例如:rwxr-xr-x 這樣一組。前三個字元(rwx)是物件的屬主許可權(使用者hsr),中間三個字元(r-x)是物件屬組的許可權(組hsr下的使用者),後面三個字元(r-x)是系統其它使用者許可權。

    在上面這一組許可權中,屬組和其它使用者對該檔案沒有寫入許可權,只有讀和執行許可權。