Blog Archives

Linux, Ubuntu,

使用者帳號與程序管理

/etc/passwd

提到使用者帳號就必須要談到這個檔案,檔案裡的每一行都代表一個帳號,所以總共幾行就表示有多少的帳號在你的系統中,至於每一行所成列的順序與意義如下:

帳號名稱:密碼:UID:GID:使用者資訊:家目錄:Shell

 

/etc/shadow

早期Unix 系統的密碼是放在/etc/passwd,但基於檔案特性而易使密碼被竊,因此密碼資料改放至/etc/shadow裡,所以要打開這個檔案是必須要有系統管理者權限,但打開後是不是真的密碼一覽無疑呢?當然沒那麼簡單,系統會加密所有的密碼。重點來了,使用者在登入系統時,系統如何去驗證密碼的正確性呢?其實,在你登入系統時所鍵入的密碼,系統仍然會將你鍵入的密碼加密,在去/etc/shadow裡比對兩組都已被加密的密碼是否一致,因此密碼是沒有經過解密的程序。至於檔案每行成列的順序與意義如下:

帳號名稱:密碼:近期更動密碼的日期(1970/1/1):密碼不可被更動的天數:密碼需要重新變更的天數:密碼需要變更期限前的警告天數:密碼過期後的帳號寬限時間:使用者帳號的有效期限:保留欄位
<Tips>
基於系統安全,系統的最高權限root通常不會設定密碼,否則有心人士知道密碼後,即可在你的系統內恣意妄為,當然你也可以直接把root停權,其做法就是在/etc/shadow找到root此行後,直接在加密密碼前加上”!”,下次就無法用該帳號登入了,其他帳號的停權方式也是比照辦理,但編輯此檔案務必謹慎小心,只要少一個冒號都有可能發生慘劇,務必謹慎,謹慎,再謹慎!

 

adduser : 新增使用者帳號(互動式)

useradd : 新增使用者帳號(非互動式)
~# useradd [使用者帳號] -g [加入已存在的群組] -d [使用者家目錄] -m
<Tips>
1.除非加上 -m 參數,否則不會自動建立使用者目錄
2.須使用passwd指令給予密碼使帳號生效

 

userdel : 刪除使用者
~#