1 / 104

帳號與磁碟空間管理

第 18 章. 帳號與磁碟空間管理. 本章重點. 18-1 帳號簡介 18-2 建立使用者帳號  18-3 管理者帳號  18-4 停用與移除使用者帳號  18-5 自訂群組  18-6 使用者磁碟空間管理. 前言. Linux 屬於多人多工的作業系統 , 可讓不同的使用者從本地端登入。在網路上則允許使用者利用 telnet 、 ssh 等方式從遠端登入。無論是從本機或由遠端登入 , 使用者都必須在該台主機上擁有帳號才行。

stesha
Download Presentation

帳號與磁碟空間管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 18 章 帳號與磁碟空間管理

  2. 本章重點 • 18-1 帳號簡介 • 18-2 建立使用者帳號  • 18-3 管理者帳號  • 18-4 停用與移除使用者帳號  • 18-5 自訂群組  • 18-6 使用者磁碟空間管理

  3. 前言 • Linux 屬於多人多工的作業系統, 可讓不同的使用者從本地端登入。在網路上則允許使用者利用 telnet、ssh 等方式從遠端登入。無論是從本機或由遠端登入, 使用者都必須在該台主機上擁有帳號才行。 • 本章會介紹系統的管理者與一般使用者的帳號, 以及使用者的群組。另外還可為每個帳號設定磁碟空間的限制, 以避免使用者任意堆放過多的檔案。

  4. 18-1 帳號簡介 • 雖然 Linux 是一個多人多工的系統, 但並不是所有人都可以隨意進入系統!想要使用 Linux 的使用者, 必須先取得一個合法的使用者帳號。以下我們先來認識一下帳號的功能, 及系統管理者帳號與一般使用者帳號間的差別。

  5. 18-1-1 為何要建立使用者帳號 • 在安裝 Linux 的過程中, 安裝程式預設便會建立一個系統管理者帳號, 並在第一次啟動 Linux 時, 詢問您是否要新增其他帳號。為什麼要這麼麻煩, 建立一個以上的帳號呢?因為這樣可以幫助您更有效地管理系統: • 掌控使用者身份:剛剛說過, 要擁有帳號的使用者才可以登入系統。而帳號的申請、建立, 則必須透過系統管理者。藉由這樣的機制, 管理者便可以確實掌控得以進入系統的使用者身份。

  6. 為何要建立使用者帳號 • 資源共享, 不互相干擾:由於 Linux 是允許多人共用的作業系統, 因此透過使用者帳號, 系統可以分別儲存使用者個人的環境設定, 讓每個使用者共同使用一部電腦時, 仍然可以依照自己的喜好、習慣工作, 不會互相干擾。 • 權限管制, 維護系統安全:系統的管理者可以考量每個使用者的工作需要, 及系統運作狀況, 給予不同的操作權限, 讓系統保持在最佳狀態運作。

  7. 18-1-2 系統管理者帳號與一般使用者帳號的差別 • 經過前述的說明, 相信您可以發現, 同樣是帳號, 好像還是有差異, 能做的事也大大不同。沒錯, Linux 中的帳號主要分成 2 類, 系統管理者帳號與一般使用者帳號。 • 系統管理者的帳號名稱為 root, 具有對系統完全的控制權, 可以對系統做任何的設定及修改, 當然也可以決定哪些使用者可以進入系統, 並設定所有帳號的權限。以下我們就來看看這 2 類帳號的主要差異:

  8. 系統管理者帳號與一般使用者帳號的差別

  9. 系統管理者帳號與一般使用者帳號的差別 • 所謂 "家目錄", 是每個使用者的專屬目錄, 個人擁有的儲存空間。預設只有使用者本人及系統管理者可以進入, 可以讓您擺放個人設定檔及私人檔案。

  10. 實務經驗談 • 本書在操作時雖然多以 root 帳號為例來說明, 但是一般在使用 Linux 時大多建議使用一般的使用者帳號登入。如此可以避免使用 root 帳號登入, 在操作系統時不小心誤刪檔案或執行了錯誤的指令。

  11. 18-2 建立使用者帳號 • 建立使用者帳號有許多種方法, 不管是要一次建立一個帳號, 或是想要一次建多個帳號, 本節都會告訴您如何操作。

  12. 使用 useradd 指令建立帳號 • 在 Linux 中, 執行useradd指令, 可建立新的使用者帳號: • 關於設定密碼的詳細說明, 請參考第 9-8-1 節。 • 您也可以使用 adduser指令建立帳號, 其與 useradd指令的用法完全相同。

  13. 使用 useradd 指令建立帳號 • 在一個系統當中, 使用者的帳號名稱必須是唯一的, 假若要建立的帳號先被他人所佔用, 則會出現使用者已存在的訊息: • 要解決使用者帳號的管理問題, 就靠系統管理者本身自立自強囉。一般來說有 3 種方法: • 管理者自己根據使用者的帳號來建立一份資料庫, 爾後在新增使用者之前, 都可利用資料庫先查詢帳號存在與否。

  14. 使用 useradd 指令建立帳號 • 檢查 /etc 目錄下的 passwd 檔案, 該檔內含本系統所有使用者的帳號, 管理者可確認帳號是否已經存在。 • 執行 finger帳號指令, 看看該帳號是否存在。 • finger指令對帳號的英文字母大小寫一視同仁, 不會刻意去判別。

  15. 建立測試的 guest 帳號 • 有時候某些人可能因為洽公或突然需要發送電子郵件, 而臨時需要使用系統。管理者沒有必要為了他們而特別建立新帳號, 但為了應付這些臨時性的需求, 可開放一個共用的帳號, 供這些不需要在主機上用有固定帳號的使用者登入。 • 這種共用的帳號名稱通常設為 guest, 可用 passwd -d guest指令取消密碼。在此 Linux 發行版中預設並無此帳號, 如有需要請自行建立。但是這種沒有密碼的帳號非常危險, 為了避免被惡意人士濫用, 建議您務必在伺服器上面設定限制 IP, 或是使用其他機制進行安全性管制。

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

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

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

  19. passwd 檔案的內容格式 • 使用者密碼:本來是一串看似亂碼的編碼字串, 啟用投影密碼之後, 只剩一個 "x" 字元, 密碼編碼字串改存放到 /etc/shadow 檔案裡, 只有 root 帳號有權讀取、修改, 以避免密碼編碼字串外流後被破解, 導致系統被入侵。 • 使用者識別碼 (UID, User ID):系統使用 UID 來判別使用者, 故必須是唯一的號碼。編號 0 是 root 帳號的 UID;編號 1~999 則是系統保留給各種常駐服務和伺服器使用的 UID, 我們應避開不要混雜其中;而第一個分配給使用者的編號從 1000 開始。

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

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

  22. passwd 檔案的內容格式 • 在預設的情況下, 任何使用者都可以讀取 /etc/passwd 檔案, 我們用ls 指令來查看一下: • /etc 目錄下還會有 passwd- 檔, 這是 passwd 的備份檔。當您需要復原原來 passwd 檔的內容時, 可從這個檔案著手。

  23. passwd 檔案的內容格式 • /etc/passwd 檔預設的權限是 "rw-r--r--", 表示所有使用者皆可讀取 (詳見第 19-3 節), 因為 passwd 檔內含 UID 與 GID 資訊, 負責轉換擁有者(owner) 和 UID 之間的關係, 所以必須讓使用者能夠讀取。 • 以下筆者示範更改 passwd 檔權限前後的差別。假設使用者 tony 登入系統, 並執行 ls 指令:

  24. passwd 檔案的內容格式 • 若管理者把 passwd 檔的權限更改為 "rw------", 只有 root 帳號方能讀取該檔案, 當 tony 再登入系統後的情形會變成下面這樣: • 不僅提示符號前的帳號名稱變成 "我沒有名字!", 檔案擁有者的名稱也變成了識別碼 1000 了!所以我們不應限制 passwd 的讀取權限, 而應該啟用投影密碼改善保密的問題。

  25. 建立使用者帳號的視窗程式 • 在 X Window 中, 也有親切好用的視窗程式幫助您建立使用者帳號, 請按概覽鈕, 切換到應用程式頁次的其他類別, 再按使用者與群組圖示並如下操作, 即可建立使用者帳號:

  26. 建立使用者帳號的視窗程式

  27. 建立使用者帳號的視窗程式

  28. 建立使用者帳號的視窗程式 • 在上方使用者管理員視窗中按新增群組鈕, 也可以新增群組。

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

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

  31. shadow 檔案的內容格式 • 使用者密碼:此欄位中看起來好像一堆亂碼的字串, 其實這是編碼後的使用者密碼。若該帳號的密碼被取消了, 則此欄為空白。傳統 Linux 系統預設最多只能使用 8 個字元的密碼, 超過的部分沒有作用。但要破解 8 個字元的編碼並非不可能, 因此建議您除了使用投影密碼之外, 同時也應該啟用 MD5 編碼 (此 Linux 發行版預設便會使用)。它讓您可以使用的密碼高達 256 字元, 要破解將難上加難。

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

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

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

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

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

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

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

  39. 加入新的帳號記錄 • 存檔後接著編輯 shadow 檔案 (此檔唯讀, 請參考 14-3 節使用 vim 編輯, 編輯完成後執行 :w!強制存檔): • 這樣就產生一個 silent 的帳號, 該帳號的性質如下: • 帳號名稱為 silent。 • 使用者識別碼為 1100。 • 隸屬於 users 群組, 群組識別碼為 100。

  40. 加入新的帳號記錄 • 使用者家目錄位於 /home/silent。 • 採用 bash 做為使用者環境。 • 沒有密碼。 • 最後變動密碼的日期, 距離西元 1970 年 01 月 01 日有 15305 天。 • 隨時可更換密碼。 • 不用更換密碼。

  41. 加入新的帳號記錄 • 系統不會警告使用者密碼逾期。 • 就算密碼逾期也不會被停權。 • 帳號沒有期限, 可以永遠使用。

  42. 加入新的帳號記錄 • 最後請用 passwd指令更改 silent 帳號的密碼, 並建立 /home/silent 目錄, 然後將設好的密碼通知該使用者即可。不過在建立 /home/silent 目錄時, 若單純用 mkdir/home/silent指令, 則會缺少許多預設的檔案。因此筆者建議最好先以 useradd指令建立一個樣板帳號, 例如 template。 • 如此在 /home/template 目錄中就會有 .bash_profile、.bashrc 等預設的檔案。然後再將樣板目錄複製一份給新帳號即可。請如下操作:

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

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

  45. useradd 指令新增帳號時的基本設定

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

  47. 18-3 管理者帳號 • 安裝 Linux 之後, 系統預設即建立了 root 帳號。在 18-1 節我們曾說過, 此帳號為系統管理者, 對系統擁有完全的控制權, 可對系統做任何設定和修改(甚至摧毀整個系統), 所以維護 root 帳號的安全便格外重要。

  48. 18-3-1 設定 root 帳號之密碼 • 在安裝 Linux 過程中, 即要求安裝者為 root 帳號設定密碼。管理者可於日後更改或甚至取消密碼。不過除非整個 Linux 系統只有自己使用而且不上網, 否則強烈建議替 root 帳號設定一個不易被有心人士猜到的密碼。變更密碼的方法, 可使用 9-8-1 節所介紹的 passwd指令。

  49. 設定 root 帳號之密碼 • 擁有 root 帳號的系統管理者除了設定密碼之外, 還要替自己建立一個一般使用者的帳號 (此版 Linux 在安裝時即會要求建立, 且不允許使用 root 帳號登入 X Window), 供日常作業使用, 如此可避免因作業疏失而影響整個系統。最好等到系統需要維護時, 再使用 root 帳號登入, 且應注意旁人窺視, 以免密碼外流。

  50. 18-3-2 切換帳號、變換身份 • 在文字模式下, 當管理者使用一般帳號登入系統, 隨後想要轉變成管理者身份, 進行系統的相關設定時, 並不需要重新登入, 只要執行 su指令並輸入 root 帳號的密碼, 則可轉換為 root 帳號。以下假設原本登入的帳號是 tony, 而要切換為 root:

More Related