Linux帳號管理
在管理時,操作者可以藉由id指令查詢使用者所加入的次要群組支援,得以了解使用者對於某檔案的權限。主要的檔案紀錄是使用者的UID和GID。
UID與GID
系統紀錄UID和GID的檔案位於:
- UID:/etc/passwd
- GID:/etc/passwd與/etc/group
然而"/etc/passwd"的權限是"rw- r-- r--"每人都能讀取,重要的檔案居然每人都能看?所以後來的演進,記錄帳號的登入密碼不能再放在那,而另放到他的影子下,影子檔就叫"/etc/shadow"。
/etc/passwd
那/etc/passwd又記載著甚麼,"/etc/passwd"每一列的格式是固定的,用 head 和 tail 來讀取頭尾觀察:
"/etc/passwd"的內容每一列用符號" : "間隔,共記錄 7 個資訊格式為:
-
帳號名稱:
這個欄位記錄帳號的名稱,一般Superuser的帳號會排在第一個,接下來為"系統帳號"(系統帳號為預設的,主要執行系統的一些服務和指令),最後是使用者帳號。
-
密碼
密碼都移到了/etc/shadow裡,所以這裡都顯示"x"
-
UID
使用者 ID,Ubuntu的 UID 範圍為
- ID=0:
Superuser
- ID=1~499,65534:
系統帳號
- ID >= 1000:
一般的帳號
-
GID
群組 ID,類似 UID,只是由 User 改 Group。
-
使用者資訊說明欄
-
家目錄所在
-
預設登入時取得的shell名稱
/etc/shadow
他有不同的權限:
內容:
- User Name (帳號):
帳號和"/etc/passwd"是相同的。
- Password (密碼):
帳號的密碼是放到此,但密碼用 ASCII"明碼編暗碼",除非是解碼高手不然要還原 user 真正的帳號密碼也沒那麼容易。
如果此欄空白,登入時不用輸入密碼,如果此欄前加"!"或"!!",表示此帳號不能登入。
- Last (密碼更動的時間):
此欄記錄帳號密碼最後一次被更動的時間,但並非直接記錄日期,是表示距 UNIX 時間元年過了 xxxxx 天。
- May (密碼不可修改天數):
表示更改或建立密碼後一定要間隔xx天數才可再變更密碼,"0"表示隨時可改密碼。
- Must (密碼的有效天數):
要求一定時間內變更密碼,否則就會失效。"99999",代表密碼永久有效。
- Warn (密碼快失效前發出警告訊息):
如第 5 項有設密碼的有效天數,則此欄記錄密碼快失效前 x 天系統會向使用者發出密碼快失效的警告訊息。
- Expire (過期容許時間):
如第 5 項有設密碼的有效天數,此欄容許過了有效 y 天內還可使用或使用者可自行變更其密碼,如不使用則保持空白。
- Disable (失效時間):
此項的設定和第 3 項一樣是用"UNIX 時間元年"相距的天數,時間一到帳號就失效,如不使用則保持空白。
- Reserved (保留):
目前保留未使用。
參考
http://wanggen.myweb.hinet.net/ach1/ach1.html