Linux命令篇之usermod命令和passwd命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令篇之usermod命令和passwd命令相关的知识,希望对你有一定的参考价值。

usermod命令参数及用法详解(linux修改用户账号信息命令)

linux usermod命令参数及用法详解,linux修改用户账号信息命令,usermod可用来修改用户帐号的各项设定

命 令:usermod 

功能说明:修改用户帐号。 

语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号] 

补充说明:usermod可用来修改用户帐号的各项设定。 

参  数: 

 -c<备注>  修改用户帐号的备注文字。 
 -d登入目录>  修改用户登入时的目录。 
 -e<有效期限>  修改帐号的有效期限。 
 -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。 
 -g<群组>  修改用户所属的群组。 
 -G<群组>  修改用户所属的附加群组。 
 -l<帐号名称>  修改用户帐号名称。 
 -L  锁定用户密码,使密码无效。 
 -s<shell>  修改用户登入后所使用的shell。 
 -u<uid>  修改用户ID。 
 -U  解除密码锁定。 

usermod 不 允 许 你 改 变 正 在线 上 的 使 用 者 帐 号 名 称 。 当 usermod 用 来 改 变 user ID, 必 须 确 认 这 名 user 没 在 电 脑 上 执 行 任 何 程 序。 你 需 手 动 更 改 使 用 者 的 crontab 档 。 也 需 手 动 更 改 使 用 者 的 at 工 作 档 。 采 用 NIS server 须 在 server 上 更 动 相 关 的 NIS 设 定 。

应用举例: 

1、将 newuser2 添加到组 staff 中 
# usermod -G staff newuser2 
2、修改 newuser 的用户名为 newuser1 
# usermod -l newuser1 newuser 
3、锁定账号 newuser1 
# usermod -L newuser1 
4、解除对 newuser1 的锁定 
# usermod -U newuser1



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 命令它会重置当前登录用户的密码。

复制代码

代码如下:


[[email protected] ~]$ passwd 
Changing password for user linuxtechi. 
Changing password for linuxtechi. 
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully. 
[[email protected] ~]$ 


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

复制代码

代码如下:


[[email protected] ~]# passwd 
[[email protected] ~]# passwd linuxtechi 


技术分享

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

例2:显示密码状态信息

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

复制代码

代码如下:


[[email protected] ~]# passwd -S linuxtechi 
linuxtechi PS 2015-09-20 0 99999 7 -1 (Password set, SHA512 crypt.) 
[[email protected] ~]# 


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

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

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

复制代码

代码如下:


[email protected]:~# passwd -Sa


技术分享

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

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

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

复制代码

代码如下:


[[email protected] ~]# passwd -d linuxtechi 
Removing password for user linuxtechi. 
passwd: Success 
[[email protected] ~]# 
[[email protected] ~]# passwd -S linuxtechi 
linuxtechi NP 2015-09-20 0 99999 7 -1 (Empty password.) 
[[email protected] ~]# 


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

例5:设置密码立即过期

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

复制代码

代码如下:


[[email protected] ~]# passwd -e linuxtechi 
Expiring password for user linuxtechi. 
passwd: Success 
[[email protected] ~]# passwd -S linuxtechi 
linuxtechi PS 1970-01-01 0 99999 7 -1 (Password set, SHA512 crypt.) 
[[email protected] ~]# 


现在尝试用 linuxtechi 用户SSH 连接到主机。
技术分享

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

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

复制代码

代码如下:


[[email protected] ~]# passwd -l linuxtechi 
Locking password for user linuxtechi. 
passwd: Success 
[[email protected] ~]# passwd -S linuxtechi 
linuxtechi LK 2015-09-20 0 99999 7 -1 (Password locked.) 
[[email protected] ~]# 


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

复制代码

代码如下:


[[email protected] ~]# passwd -u linuxtechi 
Unlocking password for user linuxtechi. 
passwd: Success 
[[email protected] ~]# 


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

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

复制代码

代码如下:


[[email protected] ~]# passwd -i 10 linuxtechi 
Adjusting aging data for user linuxtechi. 
passwd: Success 
[[email protected] ~]# 
[[email protected] ~]# passwd -S linuxtechi 
linuxtechi PS 2015-09-20 0 99999 7 10 (Password set, SHA512 crypt.) 
[[email protected] ~]# 


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

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

复制代码

代码如下:


[[email protected] ~]# passwd -n 90 linuxtechi 
Adjusting aging data for user linuxtechi. 
passwd: Success 
[[email protected] ~]# passwd -S linuxtechi 
linuxtechi PS 2015-09-20 90 99999 7 10 (Password set, SHA512 crypt.) 
[[email protected] ~]# 


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

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

复制代码

代码如下:


[[email protected] ~]# passwd -w 12 linuxtechi 
Adjusting aging data for user linuxtechi. 
passwd: Success 
[[email protected] ~]# passwd -S linuxtechi 
linuxtechi PS 2015-09-20 90 99999 12 10 (Password set, SHA512 crypt.) 
[[email protected] ~]# 


本文出自 “鹏哥的博客” 博客,谢绝转载!

以上是关于Linux命令篇之usermod命令和passwd命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令篇之wc命令和tr命令

Linux查看所有用户用啥命令

linux基础篇-usermod命令 详解

用户管理命令--passwd,usermod,userdel

usermod,passwd,mkpasswd命令

Linux 查看用户命令