歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Ubuntu中的用戶管理(四)密碼管理


Ubuntu中的用戶管理(四)密碼管理   相關鏈接: Ubuntu中的用戶管理(一)用戶賬戶 http://www.2cto.com/os/201207/143927.html; Ubuntu中的用戶管理(二)群組管理 http://www.2cto.com/os/201207/143929.html; Ubuntu中的用戶管理(三)用戶管理 http://www.2cto.com/os/201207/143932.html   密碼是Linux安全的重要組成部分,通過這部分的學習,你應該學會怎樣為你的Linux系統建立一個密碼策略,密碼保存在什麼地方,怎樣為你的用戶管理密碼等。 有效的密碼策略是一個好的系統管理計劃的重要組成部分。這個策略需要包括以下幾點:   允許的密碼組成和禁止的密碼組成 修改密碼的頻率 取回或重置丟失的密碼 用戶對密碼的操作 密碼文件是/etc/passwd,它是系統上所有用戶的數據庫文件。每一行的形式如下: username:password:uid:gid:gecos:homedir:shell   簡要介紹下gecos字段。這個字段是為了記錄用戶的多樣性的信息。例如,用戶的全名,辦公室的位置,辦公室電話,家庭電話,簡單備注等。出於安全和隱私上的考慮,這個字段目前已經越來越少的被使用到了。但是,系統管理員要知道這個字段,因為傳統的Unix程序例如finger,mail會用到這個字段。因此gecos字段通常被成為finger information field。這個字段是逗號界限格式,可以通過chfn(change finger)命令更改。如果密碼字段出現一個星號,那麼這個用戶將不能登陸Linux系統。系統管理員可以通過修改密碼字段或者使用passwd -l命令鎖住用戶。一些系統用戶通常有root權限,因此系統管理員不希望這些用戶可以登陸Linux系統,可以通過將這些系統用戶的shell設置為sbin/nologin或者bin/false阻止這些賬戶的登陸。   www.2cto.com   下面給出/etc/passwd文件的內容形式: cindy@cindy-ThinkPad-X200:~$cat /etc/passwd   root:x:0:0:root:/root:/bin/bash   daemon:x:1:1:daemon:/usr/sbin:/bin/sh   bin:x:2:2:bin:/bin:/bin/sh   sys:x:3:3:sys:/dev:/bin/sh   sync:x:4:65534:sync:/bin:/bin/sync   games:x:5:60:games:/usr/games:/bin/sh   man:x:6:12:man:/var/cache/man:/bin/sh   lp:x:7:7:lp:/var/spool/lpd:/bin/sh   mail:x:8:8:mail:/var/mail:/bin/sh   news:x:9:9:news:/var/spool/news:/bin/sh   uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh   cindy:x:1000:1000:cindy,,,:/home/cindy:/bin/bash   www.2cto.com   …… 我們注意到沒有一個用戶顯示了密碼,而是在密碼字段有一個x。這是因為用戶密碼是陰影密碼(shadow passwords),這屬於Linux中的一個安全增強機制。真正的密碼保存在文件/etc/shadow中。/etc/shadow文件只對於系統管理員和PAM可讀。Ubuntu中自動啟用了shadow password。下面給出/etc/shadow文件的內容形式:   cindy@cindy-ThinkPad-X200:~$sudo cat /etc/shadow   [sudo]password for cindy:   root:$7$h9pRtnF/$Zf8pynVBJ/m.DfAl.Q1lgw8ZCmeGYqKCe/47sNfEV6FUq59UnB1CTcZVr4.7AwtyLpizdnwlqxe0f2J/mD6th.:15536:0:99999:7:::   daemon:*:15453:0:99999:7:::   bin:*:15453:0:99999:7:::   sys:*:15453:0:99999:7:::   www.2cto.com   sync:*:15453:0:99999:7:::   games:*:15453:0:99999:7:::   man:*:15453:0:99999:7:::   lp:*:15453:0:99999:7:::   cindy:$6$/IMKHjoh$osdeLeLwe3f11QXlRts2huVISmSKUpTyaDeXihtYV39.7OAqakAeLda4WAWXpIeeopBmrU/zCDaKhp/aL1gqW1:15536:0:99999:7::: …… 冒號分開的各個字段的解釋:   第1個字段是用戶名。 第2個字段是編碼後的密碼。 第3個字段是上次修改密碼的時間,這個時間是從1970年1月1日起計算。這個日子在UNIX領域被成為epoch。 第4個字段是再過多少天密碼才可以被再次修改的時間(避免修改密碼到新密碼後快速修改會原始密碼)  www.2cto.com   第5個字段是再過多少天密碼必須被再次修改的時間。 第6個字段是密碼過期前多少天,用戶會收到警告。 第7個字段是密碼過期後多少天,用戶會被禁用。 第8個字段是從1970年1月1日起,該帳號disabled的天數。 第9個字段為保留字段。 需要注意的是密碼過期日期和警告在Ubuntu中是默認禁用的。如果需要啟用相應的密碼策略,需要系統管理員建立相應的密碼策略。etc/shadow的權限時600,常規用戶不可讀。   系統管理員可以手動編輯/etc/shadow文件或者使用chage命令更改密碼規則(詳細信息請參考shadow和chage的man頁)。 系統管理員可通過命令chpasswd批量修改用戶密碼。命令接受的輸入為用戶名/密碼對: sudo chpasswd username:password 可以通過重定向文件輸入來批量工作。此外,Ubuntu還提供了newusers命令,批量增加文本文件中的用戶,並為用戶分配群組,分配/home目錄等。     作者 lqhbupt
Copyright © Linux教程網 All Rights Reserved