Linux系统中的passwd命令实用技巧小结

先来回顾一下passwd命令的基本用法:

Linux passwd命令用来更改使用者的密码

语法

passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

必要参数:

-d 删除密码

-f 强制执行

-k 更新只能发送在过期之后

-l 停止账号使用

-S 显示密码信息

-u 启用已被停止的账户

-x 设置密码的有效期

-g 修改群组密码

-i 过期后停止用户账号

选择参数:

--help 显示帮助信息

--version 显示版本信息

实例

修改用户密码

代码如下:

# passwd w3cschool //设置w3cschool用户的密码

Enter new UNIX password: //输入新密码,输入的密码无回显

Retype new UNIX password: //确认密码

passwd: password updated successfully

#

显示账号密码信息

代码如下:

# passwd -S w3cschool

w3cschool P 05/13/2010 0 99999 7 -1

删除用户密码

代码如下:

# passwd -d lx138

passwd: password expiry information changed.

好的,接下来来看一下实际的应用场合:

例1:更改系统用户的密码

当你使用非 root 用户登录时,比如我使用 ‘linuxtechi’ 登录的情况下,运行 passwd 命令它会重置当前登录用户的密码。

代码如下:

[linuxtechi@linuxworld ~]$ passwd

Changing password for user linuxtechi.

Changing password for linuxtechi.

(current) UNIX password:

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

[linuxtechi@linuxworld ~]$

当你作为 root 用户登录后并运行 passwd 命令时,它默认情况下会重新设置 root 的密码,如果你在 passwd 命令后指定了用户名,它会重置该用户的密码。

代码如下:

[root@linuxworld ~]# passwd

[root@linuxworld ~]# passwd linuxtechi



注意:系统用户的密码以加密的形式保存在 /etc/shadow 文件中。

例2:显示密码状态信息

要显示用户密码的状态信息,请在 passwd 命令后使用 -S 选项。

代码如下:

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi PS 2015-09-20 0 99999 7 -1 (Password set, SHA512 crypt.)

[root@linuxworld ~]#

在上面的输出中,第一个字段显示的用户名,第二个字段显示密码状态(PS = 密码设置,LK = 密码锁定,NP = 无密码),第三个字段显示了上次修改密码的时间,后面四个字段分别显示了密码能更改的最小期限和最大期限,警告期限和没有使用该口令的时长。

例3:显示所有账号的密码状态信息

为了显示所有用户密码的状态信息需要使用 “-aS”选项在passwd 命令中,示例如下所示:

代码如下:

root@localhost:~# passwd -Sa



(LCTT译注:不同发行版/passwd 的行为不同。CentOS6.6 没有测试成功,但 Ubuntu 可以。)

例4:使用 -d 选项删除用户的密码

用我做例子,删除 ‘linuxtechi‘ 用户的密码。

代码如下:

[root@linuxworld ~]# passwd -d linuxtechi

Removing password for user linuxtechi.

passwd: Success

[root@linuxworld ~]#

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi NP 2015-09-20 0 99999 7 -1 (Empty password.)

[root@linuxworld ~]#

“-d” 选项将清空用户密码,并禁用用户登录。

例5:设置密码立即过期

在 passwd 命令中使用 '-e' 选项会立即使用户的密码过期,这将强制用户在下次登录时更改密码。

代码如下:

[root@linuxworld ~]# passwd -e linuxtechi

Expiring password for user linuxtechi.

passwd: Success

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi PS 1970-01-01 0 99999 7 -1 (Password set, SHA512 crypt.)

[root@linuxworld ~]#

现在尝试用 linuxtechi 用户 SSH 连接到主机。



例6:锁定系统用户的密码

在 passwd 命令中使用 ‘-l‘ 选项能锁定用户的密码,它会在密码的起始位置加上“!”。当他/她的密码被锁定时,用户将不能更改它的密码。

代码如下:

[root@linuxworld ~]# passwd -l linuxtechi

Locking password for user linuxtechi.

passwd: Success

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi LK 2015-09-20 0 99999 7 -1 (Password locked.)

[root@linuxworld ~]#

例7:使用 -u 选项解锁用户密码

代码如下:

[root@linuxworld ~]# passwd -u linuxtechi

Unlocking password for user linuxtechi.

passwd: Success

[root@linuxworld ~]#

例8:使用 -i 选项设置非活动时间

在 passwd 命令中使用 -i 选项用于设置系统用户的非活动时间。当用户(我使用的是linuxtechi用户)密码过期后,用户再经过 ‘n‘ 天后(在我的情况下是10天)没有更改其密码,用户将不能登录。

代码如下:

[root@linuxworld ~]# passwd -i 10 linuxtechi

Adjusting aging data for user linuxtechi.

passwd: Success

[root@linuxworld ~]#

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi PS 2015-09-20 0 99999 7 10 (Password set, SHA512 crypt.)

[root@linuxworld ~]#

例9:使用 -n 选项设置密码更改的最短时间

在下面的例子中,linuxtechi用户必须在90天内更改密码。0表示用户可以在任何时候更改它的密码。

代码如下:

[root@linuxworld ~]# passwd -n 90 linuxtechi

Adjusting aging data for user linuxtechi.

passwd: Success

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi PS 2015-09-20 90 99999 7 10 (Password set, SHA512 crypt.)

[root@linuxworld ~]#

例10:使用 -w 选项设置密码过期前的警告期限

‘-w’ 选项在 passwd 命令中用于设置用户的警告期限。这意味着,n天之后,他/她的密码将过期。

代码如下:

[root@linuxworld ~]# passwd -w 12 linuxtechi

Adjusting aging data for user linuxtechi.

passwd: Success

[root@linuxworld ~]# passwd -S linuxtechi

linuxtechi PS 2015-09-20 90 99999 12 10 (Password set, SHA512 crypt.)

[root@linuxworld ~]#

(0)

相关推荐

  • Linux系统中重复执行命令的方法小结

    普通的重复执行命令 实际操操作过程中,经常会遇到重复执行同一命令,以观察其结果变化的情况,以前经常是上下键加回车,或是Ctr+p然后回车的方式. 现在告诉大家一个好用的命令--watch,它可以全屏执 ...

  • 关于在Linux系统中的gdb命令知识

    在Linux系统中有许多的命令程序来辅助系统的正常和方便运行,那么其中在系统中有着一个叫做gdb命令的程序,那么我们今天就来了解下关于gdb命令的知识吧! 一、常规调试 gdb是Linux下常用的程序 ...

  • 在Linux系统中使用tar命令压缩和解压文件的教程

    linux中的tar命令 tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令. 其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或b ...

  • Windows系统中修改MAC地址实用技巧

    所谓的mac地址就是一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。如果有需要的话也可以修改它,那么如何在Windows系统中修改MAC地址呢? 1.在“HKEY_LOCAL_M ...

  • Linux系统中的sudo命令使用讲解

    "Sudo" 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的"权利",让他们执行一些只有超级用户或其他特许用户才能完 ...

  • Linux系统中如何从命令行嗅探HTTP流量

    假设你出于某个原因而想嗅探网络上的实时HTTP Web流量(比如HTTP请求和回应)。比如说,你可能在测试网站服务器的试验性功能,或者在调试Web应用程序或充分利用REST的服务,抑或是你想要为PAC ...

  • 在Linux系统中使用xkill命令杀掉未响应的进程

    我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如terminal)的PID: 代码如下: $ ps -A | gr ...

  • Linux系统中的screen命令基本使用教程

    作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作. 也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些程序需要运行很长时间(几个小时) ...

  • Linux系统中quota磁盘命令的相关使用解析

    quota 显示磁盘已使用的空间与限制. 语 法:quota [-quvV][用户名称...] 或 quota [-gqvV][群组名称...] 补充说明:执行quota指令,可查询磁盘空间的限制,并 ...