Linux 修改用户密码详解程序员

Linux修改密码用 passwd 命令,用root用户运行passwdpasswd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。

[[email protected] ~]#  passwd  ##修改root用户密码 
Changing password for user root.. 
New password: ##输入新密码 
Retype new password:  ##再次确认新密码 
passwd: all authentication tokens updated successfully. 
[[email protected] ~]# 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 参数来锁定:

[[email protected] ~]# passwd -l hadoop   ## 注:锁定用户hadoop不能更改密码; 
Locking password for user hadoop. 
passwd: Success  ##注:锁定成功; 
[[email protected] ~]# su - hadoop   ##注:su切换到hadoop用户; 
[[email protected] ~]$ passwd  ##注:hadoop用户更改密码; 
Changing password for user hadoop. 
Changing password for hadoop 
(current) UNIX password:   ## 注:输入hadoop的当前密码; 
passwd: Authentication token manipulation error  ## 注:失败,不能更改密码; 

2、例如清除一个用户的密码 用参数-d,密码清除后登录就无需密码

[[email protected] ~]# passwd -d hadoop  ##注:清除hadoop用户密码; 
Removing password for user hadoop. 
passwd: Success    ##注:清除成功; 
[[email protected] ~]# 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,然后再修改用户密码。

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/2189.html

(0)
上一篇 2021年7月15日 23:55
下一篇 2021年7月15日 23:55

相关推荐

发表回复

登录后才能评论