[其它] Linux 修改用户密码的命令详解

[复制链接]
查看: 406|回复: 0

13

主题

13

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2021-7-29 10:53:12 | 显示全部楼层 |阅读模式
Linux修改密码用 passwd 命令,用root用户运行passwdpasswd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。


  1. [root@localhost ~]#  passwd  ##修改root用户密码
  2. Changing password for user root..
  3. New password: ##输入新密码
  4. Retype new password:  ##再次确认新密码
  5. passwd: all authentication tokens updated successfully.
复制代码
  1. [root@localhost ~]# passwd hadoop  ##修改hadoop用户密码
  2. Changing password for user hadoop.
  3. New password:  ##输入新密码
  4. Retype new password:  ##再次确认新密码
  5. passwd: all authentication tokens updated successfully.
复制代码
一、passwd 常用参数如下:
  1. -k ##keep-tokens keep non-expired authentication tokens 注:保留即将过期的用户在期满后能仍能使用;
  2. -d ##delete delete the password for the named account (root only) 注:删除用户密码,仅能以root权限操作;
  3. -l ##lock lock the named account (root only) 注:锁住用户无权更改其密码,仅能通过root权限操作;
  4. -u ##unlock unlock the named account (root only) 注:解除锁定;
  5. -f ##force force operation 注:强制操作;仅root权限才能操作;
  6. -x ##maximum=DAYS maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
  7. -n ##minimum=DAYS minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
  8. -w ##warning=DAYS 注:在距多少天提醒用户修改密码;仅能root权限操作;
  9. -i ##inactive=DAYS 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
  10. -S ##status report password status on the named account (root only) 注:查询用户的密码状态,仅能root用户操作;
复制代码

1、例如让某个用户不能修改密码,可以用-l 参数来锁定:
  1. [root@localhost ~]# passwd -l hadoop   ## 注:锁定用户hadoop不能更改密码;
  2. Locking password for user hadoop.
  3. passwd: Success  ##注:锁定成功;
  4. [hadoop@localhost ~]# su - hadoop   ##注:su切换到hadoop用户;
  5. [hadoop@localhost ~]$ passwd  ##注:hadoop用户更改密码;
  6. Changing password for user hadoop.
  7. Changing password for hadoop
  8. (current) UNIX password:   ## 注:输入hadoop的当前密码;
  9. passwd: Authentication token manipulation error  ## 注:失败,不能更改密码;
复制代码

2、例如清除一个用户的密码 用参数-d,密码清除后登录就无需密码
  1. [root@localhost ~]# passwd -d hadoop  ##注:清除hadoop用户密码;
  2. Removing password for user hadoop.
  3. passwd: Success    ##注:清除成功;
  4. [root@localhost ~]# passwd -S hadoop  ##注:查询hadoop用户密码状态;
  5. Empty password.   ##注:空密码,没有密码
复制代码


二、密码时效命令:chage ,修改用户密码有效期限;chage 命令格式:chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户
  1. -m days: 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
  2. -M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。
  3. -d days: 指定从1970年1月1日起,口令被改变的天数。
  4. -I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。
  5. -E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。
  6. -W days: 指定口令过期前要警告用户的天数。
  7. -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,如果满了,查找出占用较大的无用文件清空或删除;常用到命令:
  1. du -lh --max-depth=1 :查看当前目录下各文件大小
  2. du -sh:查看当前目录总的大小
  3. du -sh * | sort -n:统计当前目录下文件大小,并按文件大小排序
  4. du -sk file_name:查看指定的file文件大小
复制代码


2.可以用lsattr命令查看存放用户和密码的文件属性lsattr /etc/passwd、lsattr /etc/shadow,(i:不得任意更动文件或目录),如果有i选项,则会导致所有的用户都不能修改密码,因为没有权限允许;
可以用chattr命令将i权限撤销 chattr -i /etc/passwd、chattr -i /etc/shadow,然后再修改用户密码。

腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )