站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Unit5-Users Groups and Permissions

Users and Groups

每個使用者帳號會有一個 唯一 的識別號碼稱為 UID (User ID Number) 並從序號 500 開始,有關使用者帳號資訊儲存於 /etc/passwd、/etc/shadow,有關使用者群組資訊儲存於 /etc/group、/etc/ashadow

/etc/passwd: 使用者帳號資訊,為 7 個欄位並使用冒號 (:) 隔開

  1. Account ID: 使用者帳號名稱 (例如: weithenn)
  2. Password: 使用者密碼
    1. X: 此欄位值為 X 則代表該使用者帳號有設定密碼 (密碼儲存於 /etc/shadow)
    2. Empty: 此欄位值為 空白 則代表該使用者帳號不需密碼即可登入 (/etc/shadow 第二欄為 !!)
      1. 可使用指令 passwd -S Account_ID 來檢查使用者密碼資訊 (例如: passwd -S weithenn)
  3. UID: 使用者號碼 (User ID Number)
  4. GID: 使用者群組號碼 (Group ID Number)
  5. Remark: 使用者資訊
    1. 可使用指令 finger Account_ID查詢 使用者資訊 (例如: finger weithenn)
    2. 可使用指令 chfn Account_ID設定 使用者資訊 (例如: chfn weithenn)
  6. Home Directory: 使用者家目錄路徑,即該使用者帳號登入系統後預設登入目錄
  7. Shell: 使用者帳號登入後 第一個 執行的程序

如下為查詢使用者帳號 weithenn 資訊於 /etc/passwd、/etc/shadow 中內容

 #grep weithenn /etc/passwd /etc/shadow
 /etc/passwd:weithenn:x:500:500::/home/weithenn:/bin/bash
 /etc/shadow:weithenn:!!:14459:0:99999:7:::

/etc/group: 使用者群組資訊,為 4 個欄位並使用冒號 (:) 隔開

  1. Group_ID: 群組名稱 (例如: weithenn)
  2. Password: 群組密碼 (密碼儲存於 /etc/ashadow)
  3. GID: 使用者群組號碼 (Group ID Number),與 /etc/passwd 的 GID 欄位相互對應
  4. Member: 群組成員,成員之間使用逗點 (,) 隔開

Permission、OwnerShip

Linux 中有關檔案及目錄透過 使用者、群組、其它人 等三種關係來訂定其存取權限,您可透過指令 stat 來查詢檔案或目錄有關 UID、GID...等相關資訊。

 #stat install.log
  File: `install.log'
  Size: 38677           Blocks: 88         IO Block: 4096   regular file
 Device: fd00h/64768d    Inode: 917506      Links: 1
 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
 Access: 2009-08-05 08:32:09.000000000 +0800
 Modify: 2009-07-30 16:29:37.000000000 +0800
 Change: 2009-07-30 16:29:45.000000000 +0800

有關於 讀取 (r)、寫入 (w)、執行 (x) 對於檔案及目錄的說明如下

_檔案 目錄
讀取 (r)讀取 檔案內容 目錄內容預覽 (例如: ls) 若該目錄無讀取權限則連補位 (Tab) 功能也將失效
寫入 (w)寫入 內容於檔案 對於該目錄及其子目錄 (含檔案) 具有 建立、刪除 的權限,因此即使該子目錄或檔案及擁有者為 root 也可輕易刪除之
執行 (x)執行 該檔案 可進入該目錄 (例如: cd)

檔案及目錄的所有權 (OwnerShip)

  1. 可使用 chown 指令來修改檔案及目錄的擁有者
    1. -R: 此參數可一次套用設定至所有子目錄及檔案
    2. -v: 此參數可於指令執行後立即顯示執行結果
  1. 可使用 chgrp 指令來修改檔案及目錄的郡組

檔案及目錄的權限 (Permission)

每個檔案及目錄均透過 10 個字符 (Ten-Character) 4 組數字來表示其權限。

  1. 第 1 個字符: 特殊權限 (Suid、Sgid、Sticky)
  2. 第 2 ~ 4 個字符: 使用者權限 (User Permission)
  3. 第 5 ~ 7 個字符: 群組權限 (Group Permission)
  4. 第 8 ~ 10 個字符: 其它人權限 (Other Permission)

讀取 (r)、寫入 (w)、執行 (x) 權限其數字表示方式如下:

可透過 chmod 指令並配合上述數字方式來快速指令檔案及目錄權限,如下列二個範例來進行說明:

Lab

Lab1.請建立如下所示樹狀目錄結構、設定相關權限、執行刪除等作業

請利用 root 帳號建立如下所示樹狀目錄結構及設定相關權限

利用非 root 帳號執行下列動作

Ans:

實作後您可發現透過非 root 帳號並無法刪除指定的目錄,原因再於能否刪除該子目錄必須看該使用者權限相對於該子目錄之 上一層 目錄而定,例如執行 rm -rf /d1 指令來刪除 /d1 資料夾必須檢查使用者權限相對 /d1 的上一層目錄也就是 /(根目錄) 的權限。

Reference

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com