Linux 修改用戶密碼

Linux修改密碼用 passwd 命令,用root用戶運行passwdpasswd user_name可以設置或修改任何用戶的密碼,普通用戶運行passwd只能修改它自己的密碼。

[root@localhost ~]#  passwd  ##修改root用戶密碼
Changing password for user root..
New password: ##輸入新密碼
Retype new password:  ##再次確認新密碼
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd hadoop  ##修改hadoop用戶密碼
Changing password for user hadoop.
New password:  ##輸入新密碼
Retype new password:  ##再次確認新密碼
passwd: all authentication tokens updated successfully.

一、passwd 常用參數如下:

  • -k ##keep-tokens keep non-expired authentication tokens 注:保留即將過期的用戶在期滿後能仍能使用;
  • -d ##delete delete the password for the named account (root only) 注:刪除用戶密碼,僅能以root權限操作;
  • -l ##lock lock the named account (root only) 注:鎖住用戶無權更改其密碼,僅能通過root權限操作;
  • -u ##unlock unlock the named account (root only) 注:解除鎖定;
  • -f ##force force operation 注:強制操作;僅root權限才能操作;
  • -x ##maximum=DAYS maximum password lifetime (root only) 注:兩次密碼修正的最大天數,後面接數字;僅能root權限操作;
  • -n ##minimum=DAYS minimum password lifetime (root only) 注:兩次密碼修改的最小天數,後面接數字,僅能root權限操作;
  • -w ##warning=DAYS 注:在距多少天提醒用戶修改密碼;僅能root權限操作;
  • -i ##inactive=DAYS 注:在密碼過期後多少天,用戶被禁掉,僅能以root操作;
  • -S ##status report password status on the named account (root only) 注:查詢用戶的密碼狀態,僅能root用戶操作;

1、例如讓某個用戶不能修改密碼,可以用-l 參數來鎖定:

[root@localhost ~]# passwd -l hadoop   ## 注:鎖定用戶hadoop不能更改密碼;
Locking password for user hadoop.
passwd: Success  ##注:鎖定成功;
[hadoop@localhost ~]# su - hadoop   ##注:su切換到hadoop用戶;
[hadoop@localhost ~]$ passwd  ##注:hadoop用戶更改密碼;
Changing password for user hadoop.
Changing password for hadoop
(current) UNIX password:   ## 注:輸入hadoop的當前密碼;
passwd: Authentication token manipulation error  ## 注:失敗,不能更改密碼;

2、例如清除一個用戶的密碼 用參數-d,密碼清除後登錄就無需密碼

[root@localhost ~]# passwd -d hadoop  ##注:清除hadoop用戶密碼;
Removing password for user hadoop.
passwd: Success    ##注:清除成功;
[root@localhost ~]# passwd -S hadoop  ##注:查詢hadoop用戶密碼狀態;
Empty password.   ##注:空密碼,沒有密碼

二、密碼時效命令:chage ,修改用戶密碼有效期限;chage 命令格式:chage [-l] [-m 最小天數] [-M 最大天數] [-W 警告] [-I 失效日] [-E 過期日] [-d 最後日] 用戶

  • -m days: 密碼可更改的最小天數。爲零時代表任何時候都可以更改密碼。
  • -M days: 指定口令有效的最多天數。當該選項指定的天數加上-d選項指定的天數小於當前的日期時,用戶在使用該帳號前就必須改變口令。
  • -d days: 指定從1970年1月1日起,口令被改變的天數。
  • -I days: 指定口令過期後,帳號被鎖前不活躍的天數。如果值爲0,帳號在口令過期後就不會被鎖。
  • -E date: 指定帳號被鎖的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日後經過的天數。
  • -W days: 指定口令過期前要警告用戶的天數。
  • -l: 列出指定用戶當前的口令時效信息,以確定帳號何時過期。

例如設置用戶hadoop兩天內不能更改口令,並且口令最長的存活期爲30天,並且口令過期前5天通知用戶的命令:chage -m 2 -M 30 -W 5 hadoop
查看用戶hadoop當前的口令時效信息:chage -l hadoop
備註:1.可以用chage user_name進入交互模式修改用戶的口令時效;
2.修改口令實質上就是修改口令文件/etc/shadow中與口令時效相關的字段值。

三、passwd 修改密碼報錯 passwd:Authentication token manipulation error
root用戶或者普通用戶修改密碼失敗 ;報的錯誤 密碼:身份驗證令牌操作錯誤;一般是密碼文件的權限的問題,或者是該用戶鎖定不能修改密碼,或者是根目錄空間滿了。
1.首先查看磁盤空間是否滿了df -hl,如果滿了,查找出佔用較大的無用文件清空或刪除;常用到命令:

  • du -lh --max-depth=1 :查看當前目錄下各文件大小
  • du -sh:查看當前目錄總的大小
  • du -sh * | sort -n:統計當前目錄下文件大小,並按文件大小排序
  • du -sk file_name:查看指定的file文件大小
    2.可以用lsattr命令查看存放用戶和密碼的文件屬性lsattr /etc/passwdlsattr /etc/shadow,(i:不得任意更動文件或目錄),如果有i選項,則會導致所有的用戶都不能修改密碼,因爲沒有權限允許;
    可以用chattr命令將i權限撤銷 chattr -i /etc/passwdchattr -i /etc/shadow,然後再修改用戶密碼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章