passwd
修改用戶密碼
參數(shù)
-k 保持未過期身份驗(yàn)證令牌
-l 關(guān)閉賬號密碼。效果相當(dāng)于usermod -L,只有root才有權(quán)使用此項(xiàng)。
-u 恢復(fù)賬號密碼。效果相當(dāng)于usermod -U,同樣只有root才有權(quán)使用。
-g 修改組密碼。gpasswd的等效命令。
-f 更改由finger命令訪問的用戶信息。
-d 關(guān)閉使用者的密碼認(rèn)證功能, 使用者在登入時(shí)將可以不用輸入密碼, 只有具備 root 權(quán)限的使用者方可使用.
-S 顯示指定使用者的密碼認(rèn)證種類, 只有具備 root 權(quán)限的使用者方可使用.
passwd 是個(gè)文本文件, 它包含了一個(gè)系統(tǒng)帳戶列表, 給出每個(gè)帳戶一些有用的信息,比如用戶 ID,組 ID, 家目錄, shell,等. 通常它也包含了每個(gè)用戶經(jīng)過加密的密碼. 它通常應(yīng)該是可讀的(許多命令,工具程序,象 ls (1) 用它做用戶 Id 到用戶名稱的映射),但是只允許超級用戶有寫方式權(quán)限.
在過去美好的日子里,這種一般的讀許可沒有什么大問題. 每個(gè)人都能讀到加密了的密碼,因?yàn)橛布灾劣诓荒芙忾_一個(gè) 精選的密碼,另外,這基本假定是為友好的使用團(tuán)體使用的. 現(xiàn)在,許多人運(yùn)行一些版本的影子密碼套件,它們在 /etc/passwd 的密碼域里是 *,而不再是加密的口令, 加密的口令放在 /etc/shadow 中,那個(gè)文件只有超級用戶能讀.
不管是否使用了影子密碼,許多系統(tǒng)管理員使用一個(gè)星號在加密的密碼字段 以確保用戶不能鑒別他(她)自己的密碼. (見下面的注意)
如果你建立了一個(gè)新的登錄,首先放個(gè)星號在密碼字段, 然后使用 passwd(1) 設(shè)置它.
(密碼文件)里每行一條記錄,并且每行有這樣的格式:
account
password:UID:GID:GECOS:directory:shell (帳號:密碼:用戶ID:組ID:一般的信息:目錄:shell)
字段描述如下:
account
使用者在系統(tǒng)中的名字,它不能包含大寫字母.
password
加密的用戶密碼,或者星號。
UID
用戶 ID 數(shù)。
GID
用戶的主要組 ID 數(shù)。
GECOS
這字段是可選的,通常為了存放信息目的而設(shè)的. 通常,它包含了用戶的全名. GECOS 意思是通用電氣綜合操作系統(tǒng)(General Electric Comprehensive Operating System), 當(dāng) GE 的大型系統(tǒng)部分割售賣給 Honeywell 時(shí)它被改為 GCOS. Dennis Ritchie 作過報(bào)告:"有時(shí)我們發(fā)送印刷品或批道作業(yè)到 GCOS機(jī)器時(shí),gcos 字段打斷了 $IDENT 卡的信息,不太美觀。"(譯者:我想是太長吧)
directory
用戶的 $HOME 目錄.
shell
登錄時(shí)運(yùn)行的程序(如果空的,使用 /bin/sh). 如果設(shè)為不存在的執(zhí)行(程序),用戶不能通過 login(1) 登錄.
注意
如果你想建立用戶組,他們的 GID 必須相等并且一定是在 /etc/group 的一條記錄, 要不然組就不存在.
如果加密密碼設(shè)成星號,用戶將不能用 login(1) 來登錄, 但依然可以用 rlogin(1) 登錄, 通過 rsh(1) 或者 cron(1) 或者 at(1) 或者 mail 過濾器等程序運(yùn)行已有的進(jìn)程和開始新的等. 試圖通過簡單改變 shell
字段鎖住一個(gè)用戶結(jié)果是一樣的, 而且還附上了使用 su(1) 的權(quán)限.
例:
[root@Blackghost ~] passwd zhangying #給zhangying修改密碼
chage
密碼失效是通過此命令來管理的。
參數(shù)意思:
-m 密碼可更改的最小天數(shù)。為零時(shí)代表任何時(shí)候都可以更改密碼。
-M 密碼保持有效的最大天數(shù)。
-W 用戶密碼到期前,提前收到警告信息的天數(shù)。
-E 帳號到期的日期。過了這天,此帳號將不可用。
-d 上一次更改的日期
-I 停滯時(shí)期。如果一個(gè)密碼已過期這些天,那么此帳號將不可用。
-l 例出當(dāng)前的設(shè)置。由非特權(quán)用戶來確定他們的密碼或帳號何時(shí)過期。
例1:
[root@localhost ~]# chage -l zhangy #查看用戶密碼設(shè)定情況
最近一次密碼修改時(shí)間 : 4月 27, 2013
密碼過期時(shí)間 : 從不
密碼失效時(shí)間 : 從不
帳戶過期時(shí)間 : 從不
兩次改變密碼之間相距的最小天數(shù) :-1
兩次改變密碼之間相距的最大天數(shù) :-1
在密碼過期之前警告的天數(shù) :-1
[root@localhost ~]# chage -M 90 zhangy #密碼有效期90天
[root@localhost ~]# chage -d 0 zhangy #強(qiáng)制用戶登陸時(shí)修改口令
[root@localhost ~]# chage -d 0 -m 0 -M 90 -W 15 zhangy #強(qiáng)制用戶下次登陸時(shí)修改密碼,并且設(shè)置密碼最低有效期0和最高有限期90,提前15天發(fā)警報(bào)提示
例2:
# chage -E '2014-09-30' test # test這個(gè)賬號的有效期是2014-09-30