Presentation is loading. Please wait.

Presentation is loading. Please wait.

帳號與權限管理.

Similar presentations


Presentation on theme: "帳號與權限管理."— Presentation transcript:

1 帳號與權限管理

2 Outline 簡介 建立使用者帳號 管理者帳號 停用與移除使用者帳號 自訂群組

3 使用者群組帳號特性 帳號類型 分類 基本特性 使用者帳號 超級使用者 UID=0 系統使用者 UID=1~499 普通使用者
超級使用者群組 GID=0 系統使用者群組 GID=1~499 普通群組 GID=100~60000

4 群組介紹 主要群組-每一個Linux系統中的使用者 都必須要擁有一個群組作為主要群組, 作為權限設定使用。
次要群組-每一個使用者可以加入其他 群組帳號,這些群組稱為次要群組。

5 Useradd-新增使用者帳號 -c:附加訊息 -d:指定使用者家目錄 -e:指定使用者帳號有限日期 -f:指定帳號過期後可用天數
-G:指定使用者次要群組 -g:指定使用者主要群組 -s:指定使用者登入啟動的shell -r:建立系統使用者帳號

6 Groupadd-新增群組帳號 -g:指定群組識別碼 -o:允許群組帳號重複 -p passwd:建立群組帳號密碼 -r:建立系統群組帳號

7 /etc/passwd 欄位順序 欄位名稱 說明 1 USERNAME 名稱 2 PASSWORD 密碼 3 UID 識別碼 4 GID
主要群組識別碼 5 COMMENT 附加訊息 6 HOME DIR 預設家目錄 7 SHELL 登入時所使用的Shell

8 /etc/shadow 1 USERNAME 使用者名稱 2 PASSWORD 透過加密演算法後的密碼 3 LAST_CHANGED
欄位順序 欄位名稱 說明 1 USERNAME 使用者名稱 2 PASSWORD 透過加密演算法後的密碼 3 LAST_CHANGED 上次密碼變更時間 4 MIN_DAYS 密碼最小使用期限 5 MAX_DAYS 密碼最大使用期限 6 WARNNING 密碼即將過期前的警告天數 7 EXPIRES 密碼過期日期

9 /etc/group 欄位順序 欄位名稱 說明 1 GROUPNAME 使用者群組名稱 2 PASSWORD 群組帳號密碼 3 GID
群組識別碼 4 GROUP MEMBER 該群組成員名單

10 管理始使用者與群組帳號 新增 刪除 變更 密碼設定 使用者帳號 useradd userdel Usermod Passwd 群組帳號
groupadd groupdel Groupmod gpasswd

11 帳號刪除 userdel:刪除使用者 -r:刪除使用者家目錄等檔案 -f:強制刪除使用者帳號 groupdel:刪除群組帳號

12 Chage-修改使用者帳號 參數 說明 -E 設定使用者帳號到期日 -l 設定使用者帳號過期後自動鎖住該帳號 -m
設定使用者密碼最小存活天數 -d 設定使用者更改密碼的日期 -M 設定使用者密碼最大存活天數 -W 提醒使用者變更密碼 使用者在第一次登入時, 強制要更改密碼後才能使用: #chage –d 0 username

13 建立使用者帳號 掌控使用者身份 資源共享, 不互相干擾 權限管制, 維護系統安全

14 管理者帳號與一般帳號的差異 系統管理者的帳號名稱為 root, 可以對 系統做任何的設定及修改, 當然也可以 決定哪些使用者可以進入系統, 並設定 所有帳號的權限。

15 管理者帳號與一般帳號的差異

16 使用 useradd 指令建立帳號 在 Linux 中, 執行 useradd 指令, 可建立新 的使用者帳號:

17 使用 useradd 指令建立帳號 在一個系統當中, 使用者的帳號名稱必 須是唯一的, 假若要建立的帳號先被他 人所佔用, 則會出現使用者已存在的訊 息: 要解決使用者帳號的管理問題, 一般來 說有 3 種方法:

18 使用 useradd 指令建立帳號 管理者自己根據使用者的帳號來建立一 份資料庫, 爾後在新增使用者之前, 都可 利用資料庫先查詢帳號存在與否。 檢查 /etc 目錄下的 passwd 檔案, 該檔內 含本系統所有使用者的帳號, 管理者可 確認帳號是否已經存在。 執行 finger 帳號指令, 看看該帳號是否存 在。

19 編輯 passwd 與 shadow 檔案來建立帳號
使用 useradd 指令所建立的帳號, 實際上 是儲存在 /etc 目錄下的 passwd 和 shadow 檔案中, 因此修改這 2 個檔案也 能夠新增使用者帳號。

20 passwd 檔案的內容格式 在開始編輯檔案的內容之前, 我們需先瞭解 /etc/passwd 檔案的內容格式:

21 passwd 檔案的內容格式 每個使用者帳號在 passwd 檔案中都有 7 個欄位, 由左到右分別用冒號 (:) 隔 開, 分別說明如下:
帳號名稱:此欄位為帳號名稱。passwd 檔的前面是系統內建帳號 (如 root 帳號) 或常駐服務使用的帳號 (如 adm)。一般 使用者的帳號放在後面, 且其第 3 個欄位 的號碼 (使用者識別碼) 預設是由 500 開 始向上遞增。

22 passwd 檔案的內容格式 使用者密碼:本來是一串看似亂碼的編 碼字串, 啟用投影密碼之後, 只剩一個 “x” 字元, 密碼編碼字串改存放到 /etc/shadow 檔案裡, 只有 root 帳號有權讀取、修改, 以避免密碼編碼字串外流後被破解, 導致 系統被入侵。

23 passwd 檔案的內容格式 使用者識別碼 (UID, User ID):系統使 用 UID 來判別使用者, 故必須是唯一的號 碼。編號 0 是 root 帳號的 UID;編號 1 〜499 則是系統保留給各種常駐服務和伺 服器使用的 UID, 我們應避開不要混雜其 中;而第一個分配給使用者的編號從 500 開始。

24 passwd 檔案的內容格式 群組識別碼 (GID, Group ID):每個帳號 皆屬於某一群組, 而每個群組也都有一個 唯一的 GID 號碼供系統識別使用。例如 root 帳號所屬的 root 群組識別碼為 0, users 群組的識別碼是 100。此欄位即記 錄該帳號所隸屬的群組。 使用者相關資訊:記錄使用者的姓名、 電話與地址等資料。這部份可自行加入, 或保留空白。

25 passwd 檔案的內容格式 使用者家目錄:每個使用者的家目錄, 通 常預設的目錄名稱和使用者帳號相同, 方 便管理者識別, 必要時亦可採用與帳號不 一樣的名稱來建立目錄。 使用者環境:就是使用者在文字模式下 的環境, 負責解譯使用者所輸入的指令, 讓 系統得以瞭解使用者要做甚麼事。Linux 系統預設是使用 bash。

26 passwd 檔案的內容格式 在預設情況下, 任何使用者都可以讀取 /etc/passwd 檔案, 我們用 ls 指令來查看
/etc/passwd 檔預設的權限是 “rw-r--r--”, 表示 所有使用者皆可讀取, 因為 passwd 檔內含 UID 與 GID 資訊, 負責轉換擁有者 (owner) 和 UID 之間的關係, 所以必須讓使用者能夠讀取。

27 passwd 檔案的內容格式 以下示範更改 passwd 檔權限前後的差 別。假設使用者 tony 登入系統, 並執行 ls 指令:
若管理者把 passwd 檔的權限更改為 "rw------", 只有 root 帳號方能讀取該檔 案, 當 tony 再登入系統後的情形會變成 下面這樣:

28 passwd 檔案的內容格式 不僅提示符號前的帳號名稱變成 "I have no name!", 檔案擁有者的名稱也變成了識別 碼 500 了!所以我們不應限制 passwd 的讀 取權限。

29 shadow 檔案的內容格式 由於 passwd 檔案並不安全, 因此在安裝 Linux 時, 系統內定會啟動投影密碼的功 能。每當我們用 useradd 指令建立使用 者帳號, 系統不僅更動 passwd 檔案, 同 時還會修改 /etc/shadow 檔案。以下便 是 shadow 檔案的部份內容:

30 shadow 檔案的內容格式

31 shadow 檔案的內容格式 每個帳號在 shadow 檔案中都有 9 個 欄位, 分別用 8 個冒號 (:) 隔開, 以下依 欄位分別說明: 帳號名稱:此欄位為帳號的名稱。 shadow 檔的前面是系統內建或常駐服務 使用的帳號, 例如 root、adm 。一般使用 者的帳號名稱放在後面, 例如benny。

32 shadow 檔案的內容格式 使用者密碼:此欄位中看起來好像一堆 亂碼的字串, 其實這是編碼後的使用者密 碼。若該帳號的密碼被取消了, 則此欄為 空白。

33 shadow 檔案的內容格式 密碼最後變動的時間:更改過密碼後, 系 統會記錄最後變動的時間。此處的時間 是從西元 1970 年 01 月 01 日算起的天數。 例如 代表已經過了13275 天。 密碼變動兩次之間, 至少需間隔的日數: 系統管理者可以限制使用者更改密碼的 頻率。若在此欄輸入 30, 就表示更動後至 少需間隔 30 天, 才能再次修改密碼。若 為 0 則表示不限制。

34 shadow 檔案的內容格式 密碼變動過後, 距離下次一定要更改密碼 的日數:為求安全起見, 管理者也能要求 使用者每隔幾天就需要更換密碼。輸入 90 代表距上次更改密碼 90 天後, 使用者 就必須換一個新的密碼。預設為 天, 表示可終身不用改密碼。

35 shadow 檔案的內容格式 離下次密碼必須變動日期前多少日, 就開 始警告使用者:假設超過必須變換的日 期, 而使用者尚未更改密碼, 這就是密碼逾 期。管理者可以設定在逾期前幾天, 系統 就自動發出警告, 提醒使用者更換密碼。 此欄若設為 7, 表示系統在密碼逾期前 7 天會發出警告。空白表示系統不會警告 使用者密碼逾期。

36 shadow 檔案的內容格式 超過密碼必須變動日期後多少日, 就將該 帳號停權:為避免使用者遲遲不肯更換 密碼, 管理者可以設定逾期的期限, 超過期 限之後, 系統就自動把該使用者的帳號停 權, 不准登入。若設為 15 則表示密碼逾 期後再過 15 天, 該帳號將被停止使用。 空白表示沒有期限, 即使逾期也不會被停 權。

37 shadow 檔案的內容格式 帳號的使用期限:每個帳號都可以設定 使用期限, 超過期限後帳號便無法繼續使 用。此處的時間也是從西元 1970 年 01 月 01 日起的天數。空白則表示沒有期限。 最後一個欄位為保留欄位。

38 關閉、啟動投影密碼 若要關閉投影密碼功能, 可執行 pwunconv 指令, 將使用者的密碼從 shadow 檔寫回passwd 檔。若要再啟動, 則執行 pwconv 指令。

39 加入新的帳號記錄 根據前述 passwd 和 shadow 檔案欄位 所代表之意義, 我們可用文書編輯器, 將 新的使用者帳號加入 passwd 與 shadow 檔案。舉例來說, 新增的帳號名稱為 silent, 我們先在 passwd 檔案後面加上這 一行:

40 加入新的帳號記錄 存檔後接著編輯 shadow 檔案: 這樣就產生一個 silent 的帳號, 該帳號的性 質如下:
使用者識別碼為 600。 隸屬於 users 群組, 群組識別碼為 100。 使用者家目錄位於 /home/silent。 採用 bash 做為使用者環境。

41 加入新的帳號記錄 沒有密碼。 最後變動密碼的日期, 距離西元 1970 年 01 月 01 日有 13275 天。 隨時可更換密碼。
最後變動密碼的日期, 距離西元 1970 年 01 月 01 日有 天。 隨時可更換密碼。 不用更換密碼。 系統不會警告使用者密碼逾期。 就算密碼逾期也不會被停權。 帳號沒有期限, 可以永遠使用。

42 加入新的帳號記錄 最後請用 passwd 指令更改 silent 帳號的密 碼, 並建立 /home/silent 目錄, 然後將設好的 密碼通知該使用者即可。不過在建立 /home/silent 目錄時, 若單純用 mkdir /home/silent 指令, 會缺少許多預設的檔案。

43 加入新的帳號記錄

44 加入新的帳號記錄 如果您喜歡以這種方式來建新的使用者, 則可保留 /home/template 目錄, 以後再 建新的使用者目錄時就方便多了。

45 useradd 指令新增帳號時的基本設定 當使用 useradd 指令新增帳號時, 系統會自 動將 /etc/skel 目錄下所有檔案複製到使用 者的家目錄內, 所以 /etc/skel 的作用就等於 上述 /home/template 樣板目錄。 那麼, useradd 指令新增新帳號的基本設定值, 例如是否要建立家目錄、密碼的最小長度... 等, 是否可以自行修改呢?例如專職做為 Mail 伺服器的主機要建立使用者帳號時,不 想讓這些使用者登入主機也不需要建立使 用者家目錄, 該如何設定呢?

46 useradd 指令新增帳號時的基本設定 這些設定都紀 錄在 /etc/login.defs 檔案中, 其內容 如右:

47 useradd 指令新增帳號時的基本設定 在 /etc/default/useradd 檔案中也有家目錄位置、 使用者環境、樣板目錄...等預設值設定: 只要修改上述兩個檔案中的設定, 便可依需求 透過 useradd 指令新增帳號了。

48 切換帳號、變換身份 在文字模式下, 當管理者使用一般帳號 登入系統, 隨後想要轉變成管理者身份, 進行系統的相關設定時, 並不需要重新 登入, 只要執行 su 指令並輸入 root 帳 號的密碼, 則可轉換為 root 帳號。

49 切換帳號、變換身份 這樣只是將登入的身份轉變為 root, 但諸如 檔案路徑之類的環境變數仍然是原登入帳 號 tony 的, 例如直接在提示符號下執行 shutdown 指令, 則會找不到指令, 必須輸入完 整的路徑 /sbin/shutdown 才行。

50 切換帳號、變換身份 若是想要變換身份時, 同時更改環境變 數, 則必須執行 su - 指令:

51 切換帳號、變換身份 倘若要切換成其他使用者, 請在 su - 指令後 加上該使用者的帳號:

52 只允許 root 登入的維護模式 如果希望這台電腦除了 root 帳號之外, 其他帳號都不得登入時, 可在 /etc 目錄 中執行 touch nologin 指令, 產生一個檔名 為 nologin 的檔案。當其他使用者欲登 入時, 系統只要發現此檔存在, 就會禁止 他們登入:

53 只允許 root 登入的維護模式 這種狀況通常用於管理者要維護系統時。 若要再度恢復使用者登入, 則只要將 nologin 檔刪除即可 。

54 單人模式 - 忘記 root密碼時的救星 若是只有單獨一人使用系統, 而沒有其 他使用者存在, 又不想在每次啟動系統 都經過登入、回答密碼的程序, 則可以 考慮採用單人模式 (Single User Mode)。 在開機顯示 GRUB 畫面時, 先按任一鍵 進入 GRUB 開機選單, 再按 [a] 鍵切換 到 GRUB 的文字介面畫面, 並在命令列 最後空一格加上 "s" 參數:

55 單人模式 - 忘記 root密碼時的救星 或是編輯 /etc/inittab 檔案, 設定開機後 進入單人模式 :

56 單人模式 - 忘記 root密碼時的救星 存檔後執行 shutdown -r now 指令重新開 機即可。當系統進入單人模式後, 並不 會要求輸入帳號及密碼。提示符號之前 的字串也與多人模式時不一樣:

57 單人模式 - 忘記 root 密碼時的救星 管理者若忘了 root 帳號的密碼, 可以先使用單 人模式進入系統, 然後依下面的方式來操作:

58 停用與移除使用者帳號 當使用者畢業、離職或是逾期不繳費時, 我們可以考慮停用或是刪除使用者帳號, 以避免這些使用者繼續登入系統。

59 停用帳號 將帳號停用的意思是暫時不允許使用者 登入系統, 但仍然保留其資料。我們可 編輯 /etc/passwd 檔案, 將該使用者的密 碼欄位由 "x" 字元改為 "*" 字元:

60 刪除帳號 刪除帳號前要注意, 使用者是否仍有程式在系 統上執行, 或是設定排程程式在固定時間執行 工作?在刪除帳號前, 必須先刪除這些與該帳 號相關的程式及工作排程, 否則刪除帳號後, 系統有可能因為這些無主程式造成錯誤或是 系統不穩。

61 刪除背景執行程式 在刪除帳號前, 為了避免使用者還有程 式遺留在系統中, 請執行下列指令檢查 背景執行的程式, 並把在背景中執行的 程式刪除 (在此筆者以刪除 silent 使用 者帳號為範例) : 上面這個指令會列出使用者 silent 執行 的全部程式, 我們可以看見類似以下的 結果:

62 刪除背景執行程式 要刪除這些程式, 可執行 kill 指令 :

63 刪除排程工作 還有一點相當重要, 就是要將使用者所 設定的排程工作移除。在 Linux 系統中, 使用者可以自行設定排程工作, 時間一 到就自動執行某些指令。這些排程工作 所執行的指令, 有的或許會影響系統之 安全與保密, 因此我們必須特別注意使 用者所留下來的排程工作。請執行下列 指令檢查排程工作:

64 刪除排程工作 當發現使用者自行設定的排程工作還在 系統中時, 直接執行 crontab –u silent -r 指 令, 便能刪除該使用者的排程設定檔案。

65 刪除使用者的帳號與檔案 確定該使用者已經沒有在背景執行的程式、 排程工作之後, 最後我們要刪除使用者的帳 號。在刪掉帳號前要先考慮到除了家目錄 外, 使用者的檔案也可能散落在系統內其他 的目錄 (如 /tmp 和 /var/tmp), 我們可以使用 下列指令找到並且刪除所有該使用者的檔 案:

66 刪除使用者的帳號與檔案 在清除了使用者所有可能留在系統中的檔 案, 最後就可以放心地刪除使用者帳號了。 我們使用 userdel 指令可以很方便地將使用 者刪除: 此指令可以加上參數 "-r", 表示刪除帳號時, 一併將該帳號的家目錄及郵件檔案都刪除。 由於我們已自行清除使用者檔案, 所以此處 不加 "-r" 參數, 則只會刪除帳號而不處理該 帳號的相關目錄。

67 刪除使用者的帳號與檔案 當然我們亦可直接編輯 passwd 和 shadow 檔案, 直接將帳號刪除, 並請記 得隨後馬上刪除該帳號之家目錄與郵件 檔案。

68 自訂群組 您可以讓每個使用者都擁有自己專屬的 群組, 也能將新增的使用者統一編入一 般使用者的 users 群組。
實際上我們可依不同的性質自行建立群 組, 例如staff 與 student 群組, 或是 group1、group2 和 group3 群組, 視情況 所需而分門別類。當檔案或目錄隸屬於 不同群組時, 群組的使用者也會受到群 組權限的限制 。

69 group 檔的內容格式 系統除了 root 帳號的 root 群組, 及一般使 用者的 users 群組之外, 還有許多其他的群 組, 詳細內容都記錄在 /etc/group 檔案中:

70 group 檔的內容格式 檔案內的每一筆記錄可分為 4 個欄位, 由左到右分別用冒號 (:) 隔開:
檔案內的每一筆記錄可分為 4 個欄位, 由左到右分別用冒號 (:) 隔開: 群組名稱:例如 root、users、bin、tony... 等, 都是群組的名稱。 密碼:設定加入該群組的密碼, 一般不會 用到。 群組識別碼:就是 GID。系統會給每個 群組一個編號, 如 users 群組的編號為 100。

71 group 檔的內容格式 使用者帳號:隸屬此群組的使用者帳號, 一個使用者可同時隸屬於多個群組。一 般自建群組的這一欄通常為空白, 表示該 群組的使用者是定義在 /etc/passwd 檔中。

72 建立群組 建立群組的方法和建立帳號幾乎相同, 且過 程更簡單。我們可執行 groupadd 指令來建 立群組。例如要建立 GID 編號 700, 名稱為 staff 的群組:

73 建立群組 參數 -g 用來指定群組識別碼, 0〜499 請 保留給系統使用。若省略此參數, 則系 統會自動指定 GID, 從目前最大編號的 下一號開始, 使用尚未用掉的號碼。

74 變更所隸屬之群組 若要更動已存在的使用者帳號所隸屬的 群組, 可直接編輯 passwd 檔案。接著用 chown 指令, 改變使用者家目錄及檔案所 隸屬的群組:

75 刪除群組 當不再需要某一個群組時, 可執行 groupdel 指令刪除群組 (要刪除某個群 組前, 請記得執行 find / -group 群組名稱 指令, 檢查系統中隸屬於該群組的目錄 及檔案, 並利用 chown 指令改變其所屬 群組):


Download ppt "帳號與權限管理."

Similar presentations


Ads by Google