linux下passwd命令设置修改用户密码的方法

所属分类: 脚本专栏 / linux shell 阅读数: 1920
收藏 0 赞 0 分享

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下passwd命令设置修改用户密码的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

linux whatis与whatis database 使用及查询方法(man使用实例)

在学习man命令时候,估计很多朋友都发现有man –f ,man –k 参数,可以查出很多数据。这些有的与man手册页相同,有些不是属于手册页的。它们数据怎么收集来的,并且whatis是怎么样工作的
收藏 0 赞 0 分享

linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)

这篇文章主要介绍了linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell命令快捷获得系统帮助(一)[man-pages定义规范]

linux命令帮助,一般有2种,命令自身代码里面带有使用帮助说明,这种一般很精简,太长了,程序自身的大小以及日常维护不方便。还有一种,就是带有帮助文件,类似windows的chm格式文件。下面我说下这2种怎么样查阅
收藏 0 赞 0 分享

linux shell实现随机数几种方法分享(date,random,uuid)

这篇文章主要介绍了linux shell实现随机数多种方法(date,random,uuid),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell 脚本实现tcp/upd协议通讯(重定向应用)

这篇文章主要介绍了linux shell 脚本实现tcp/upd协议通讯(重定向应用),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell数据重定向(输入重定向与输出重定向)详细分析

这篇文章主要介绍了linux shell数据重定向(输入重定向与输出重定向)详细分析,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell 管道命令(pipe)使用及与shell重定向区别

这篇文章主要介绍了linux shell 管道命令(pipe)使用及与shell重定向区别,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux下使用tcpdump抓包的实现方法

tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。这篇文章主要介绍了Linux下使用tcpdump抓包的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

零基础入门篇之Linux及Arm-Linux程序开发笔记

这篇文章主要介绍了零基础入门篇之Linux及Arm-Linux程序开发笔记,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux 中 CURL常用命令详解

这篇文章主要介绍了Linux 中 CURL常用命令详解,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多