众所周知,设密码时笑嘻嘻,找回密码***,每次设置的linux密码最后都只防住了自己,接下来我就讲讲如何改密码
Linux修改密码用 passwd 命令,用root用户运行passwd ,passwd 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/passwd、lsattr /etc/shadow,(i:不得任意更动文件或目录),如果有i选项,则会导致所有的用户都不能修改密码,因为没有权限允许;
可以用chattr命令将i权限撤销 chattr -i /etc/passwd、chattr -i /etc/shadow,然后再修改用户密码。