这篇文章主要介绍了Linux系统中的passwd命令实用技巧小结,是Linux入门学习中的基础知识,需要的朋友可以参考下
 
先来回顾一下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 ~]#

CentOS系统中的passwd命令实用技巧小结的更多相关文章

  1. CentOS系统中last命令的作用

    CentOS系统中last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户.通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统. 格式 last [—R] [—n] ...

  2. 如何在CentOS系统中安装配置SNMP服务

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...

  3. 在Centos系统中基于PowerDNS和Poweradmin自建域名解析服务器替代DnsPod

    本文讲述了我在Centos 7系统(其他版本的Centos未尝试)中基于PowerDNS和poweradmin自建域名解析服务器替代DnsPod的过程.通过本文所述方法,可以建立权威域名解析服务器的m ...

  4. Linux系统中有趣的命令(可以玩小游戏)

    Linux系统中有趣的命令(可以玩小游戏) 前言 最近,我在看一些关于Linux系统的内容,这里面的内容是真的越学越枯燥,果然学习的过程还是不容易的.记得前几个月初学Linux时,有时候就会碰到小彩蛋 ...

  5. PowerDesigner实用技巧小结(3)

    PowerDesigner实用技巧小结(3) PowerDesigner 技巧小结 sqlserver数据库databasevbscriptsqldomain 1.PowerDesigner 使用 M ...

  6. PowerDesigner实用技巧小结(2)

    PowerDesigner实用技巧小结 1.ORACLE数据库建模时,由于ORACLE的表名.字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Mod ...

  7. Centos系统中彻底删除Mysql数据库

    步骤: 1.输入命令查询系统中已安装的mysql. rpm -qa |grep -i mysql 2.逐个卸载mysql. yum remove 系统显示已安装的mysql 比如:yum remove ...

  8. 在centos系统中增、删交换分区

    Swap介绍: Linux 将物理内存分为内存段,叫做页面.交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存.物理内存和交换空间的总大小是可用的虚拟内存的总 ...

  9. Linux系统中的tar命令

    时间一长什么东西都容易忘记,尤其是一些不常用的东西忘记的更快,所以避免忘记,就记录下来,可以方面使用的时候查询.Tar命令在linux系统中算是一个比较重要的命令,今天就针对该命令进行总结一下. 1. ...

随机推荐

  1. angular.js 中同步视图和模型数据双向绑定,$watch $digest $apply 机制

    Angular.js 中的特性,双向绑定. 让视图的改变直接反应到数据中,数据的改变又实时的通知到视图,如何做到的? 这要归功于 scope 下面3个重要的方法: $watch $digest $ap ...

  2. Centos设置静态IP及修改Centos配置文件的方法

    通常,如果我们想更改主机地址为静态地址或者更改主机名,需要修改的几个文件包括: /etc/sysconfig/network Centos设置主机名和网络配置 /etc/sysconfig/netwo ...

  3. 巧用tail查看软件的安装进程

    我在使用perlbrew安装perl的时候,学到的一招,呵呵. 有时候,安装软件的时候,特别是手动安装的时候,没有什么提示信息,只能干等着,其实,可以使用tail命令来跟踪安装日志的尾部,来观察安装的 ...

  4. <实战> 通过分析Heap Dump 来了解 Memory Leak ,Retained Heap,Shallow Heap

    引入: 最近在和别的团队的技术人员聊天,发现很多人对于堆的基本知识都不太熟悉,所以他们不能很好的检测出memory leak问题,这里就用一个专题来讲解如何通过分析heap dump文件来查找memo ...

  5. Oracle PLSQL Demo - 20.弱类型REF游标[没有指定查询类型,也不指定返回类型]

    declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; v_ename ); v_deptno ); v ...

  6. jQuery图片tab栏切换

    <script> $(function(){ $('.tab li').mouseenter(function(){ var $this=$(this); var index=$this. ...

  7. 获取IP和mac地址

    1.获取IP static string GetLocalIp() { string hostname = Dns.GetHostName();//得到本机名 //IPHostEntry localh ...

  8. exit和wait一起可以彻底清除子进程的资源

    #include<stdio.h> #include<unistd.h> #include<sys/types.h> #include<stdlib.h> ...

  9. 在linux上安装redmine

    Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理 ...

  10. 03 Files

    本章提要-----------------------------------------------组成 oracle 的 8 种主要文件(包括 instance 和 database)instan ...