文档章节

Linux系统下修改用户密码全攻略

Yomut
 Yomut
发布于 2016/09/05 09:13
字数 1863
阅读 45
收藏 5

 

  基本的修改密码命令
1、passwd 简单说明;

  我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man passwd或passwd --help ;

passwd [OPTION...]


passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;

  passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的例子;
 

[root@localhost ~]# passwd

  注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;
Changing password for user root.
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:验证新密码;
passwd: all authentication tokens updated successfully. 注:修改root密码成功;

  如果是普通用户执行passwd 只能修改自己的密码;

  如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;

[root@localhost ~]# passwd beinan

注:更改或创建beinan用户的密码;
Changing password for user beinan.
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:再输入一次;
passwd: all authentication tokens updated successfully. 注:成功;

  普通用户如果想更改自己的密码,直接运行passwd即可;比如当前操作的用户是beinan;

[beinan@localhost ~]$ passwd


Changing password for user beinan. 注:更改beinan用户的密码;
(current) UNIX password: 注:请输入当前密码;
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:确认新密码;
passwd: all authentication tokens updated successfully. 注:更改成功;

  
2、passwd 几个比较重要的参数;

[root@localhost beinan]# passwd --help


Usage: passwd [OPTION...] <accountName>
-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  number of days warning users receives before 注:在距多少天提醒用户修改密码;仅能root权限操作;
password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
account becomes disabled (root only)
-S, --status  report password status on the named account (root 注:查询用户的密码状态,仅能root用户操作;
only)
--stdin read new tokens from stdin (root only)

  比如我们让某个用户不能修改密码,可以用-l 参数来锁定:

[root@localhost ~]# passwd -l beinan

注:锁定用户beinan不能更改密码;
Locking password for user beinan.
passwd: Success 注:锁定成功;
[beinan@localhost ~]# su beinan 注:通过su切换到beinan用户;
[beinan@localhost ~]$ passwd 注:beinan来更改密码;
Changing password for user beinan.
Changing password for beinan
(current) UNIX password: 注:输入beinan的当前密码;
passwd: Authentication token manipulation error 注:,不能更改密码;

  
再来一例:

[root@localhost ~]# passwd -d beinan

注:清除beinan用户密码;
Removing password for user beinan.
passwd: Success  注:清除成功;

[root@localhost ~]# passwd -S beinan

注:查询beinan用户密码状态;
Empty password. 注:空密码,也就是没有密码;

  注意: 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;


3、chage 修改用户密码有效期限的命令;

  chage 用语法格式:

  chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户

  前面已经说的好多了,这个只是一笔带过吧,知道有这个命令就行,自己实践实践再说,大体和psswd有些参数的用法差不多;

  密 码时效命令-----chage

  格式为:chage [<选项>] <用户名>
下面列出了chage命令的选项说明:
-m days: 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。
-d days: 指定从1970年1月1日起,口令被改变的天数。
-I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。
-E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。
-W days: 指定口令过期前要警告用户的天数。
-l: 列出指定用户当前的口令时效信息,以确定帐号何时过期。
例如下面的命令要求用户user1两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户
chage -m 2 -M 30 -W 5 user1
可以使用如下命令查看用户user1当前的口令时效信息:chage -l user1
提示:1)可以使用chage <用户名>进入交互模式修改用户的口令时效。
2)修改口令实质上就是修改影子口令文件/etc/shadow中与口令时效相关的字段值。

  强制用户在下次登录时修改密码

  每个Linux用户都关联这不同的密码相关配置和信息。比如,记录着上次密码更改的日期、最小/最大的修改密码的天数、密码何时过期等等。

  一个叫chage的命令行工具可以访问并调整密码过期相关配置。你可以使用这个工具来强制用户在下次登录修改密码、

  要查看特定用户的过期信息(比如:alice),运行下面的命令。注意的是除了你自己之外查看其他任何用户的密码信息都需要root权限。

$ sudo chage -l alice

  强制用户修改密码
如果你想要强制用户去修改他/她的密码,使用下面的命令。

$ sudo chage -d0 <user-name>


原本“-d ”参数是用来设置密码的“年龄”(也就是上次修改密码起到1970/1/1起的天数)。因此“-d0”的意思是上次密码修改的时间是1970/1/1,这就让当前的密码过期了,也就强制让他在下次登录的时候修改密码了。

  另外一个过期当前密码的方式是用passwd命令。

$ sudo passwd -e <user-name>


上面的命令和“chage -d0”作用一样,让当前用户的密码立即过期。

  现在检查用户的信息,你会发现:

  当你再次登录时候,你会被要求修改密码。你会在修改前被要求再验证一次当前密码。

© 著作权归作者所有

Yomut
粉丝 19
博文 191
码字总数 167789
作品 0
厦门
后端工程师
私信 提问
RHCE认证视频笔记汇总(8月2日更新……)

在CentOS5上搭建全功能LAMP环境  http://www.boobooke.com/v/bbk1240  http://www.boobooke.com/v/bbk1241  http://www.boobooke.com/v/bbk1242 如何在Linux上通过Wine来安装运行QQ   h......

羽飞
2009/08/02
682
0
阿里ECS下的服务器环境设置

有人看过Linux一键安装web环境全攻略吗? 我安装完之后,输入cat account.log 教程里面写,密码就在屏幕上(如下图) 可是我怎么看都觉得Mysql不是这个密码啊,求大神搭救。 实在不知道旧密码...

巴喇巴喇小魔仙
2015/03/26
142
2
Fedora Linux系统Samba服务器架设全攻略

系统环境:Windows xp sp3 ,IP:192.168.1.10 虚拟机下安装了Fedora-8-i386 IP:192.168.1.12 1. 首先检查os是否安装好了samba。 [root@cisco samba]# rpm -qa | grep smb 如果出现下面三行...

范堡
2009/05/23
670
0
Linux下VSFTP配置全攻略

vsftp配置指南 1.相关配置文件 /etc目录下的vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd 2.配置vsftp 主要是修改/etc/vsftpd.conf就可以了,相关参数如下: anonymous...

freecamel
2012/06/07
3.6K
0
Linux安全攻略 如何修复系统的Root密码

如果因为忘了root口令导致无法登录系统,请试用下面的方法来改忘记的root口令: 方法一: 1、重新启动系统。待系统启动到grub或lilo(现在一般是grub)引导菜单时,找到系统当前引导项(可以...

zt371
2009/05/07
236
0

没有更多内容

加载失败,请刷新页面

加载更多

2684亿!阿里CTO张建锋:不是任何一朵云都撑得住双11

“不是任何一朵云都能撑住这个流量。中国有两朵云,一朵是阿里云,一朵叫其他云。”11月11日晚,阿里巴巴集团CTO张建锋表示,“阿里云不一样,10年前我们从第一行代码写起,构建了中国唯一自...

阿里云官方博客
24分钟前
6
0
Spark自定义外部数据源

背景:有时候我们需要定义一个外部数据源,然后用spark sql的方式来处理。这样的好处有2点: (1)定义了外部数据源后,用起来很简洁,软件架构清晰,通过sql方式直接使用。 (2)容易分层分...

守望者之父
26分钟前
7
0
电磁兼容不应空论 越实践越知深浅

在电子行业中,电子工程师极为熟悉的就是EMC电磁兼容性测试的各项规范。其实大多工程师所了解的电磁兼容性一般来说就是:设备或系统在其电磁环境中能正常工作,且不对该环境中任何事物构成不...

demyar
27分钟前
4
0
16、SpringMVC拦截器

拦截定义 定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。 public class HandlerInterceptor1 implements HandlerInterceptor{ public boolean preHandle(HttpServletR......

快乐的瓶子
27分钟前
4
0
顺时针打印矩阵

public class Code_06_PrintMatrixSpiralOrder {public static void spiralOrderPrint(int[][] matrix) {int tR = 0; //左上角的行int tC = 0; //左上角的列int dR = ma......

Garphy
29分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部