您的位置:首页 > 其它

usermod命令,用户密码修改命令passwd以及密码生成mkpasswd命令

2017-12-26 13:38 561 查看

一、usermod命令

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。
语法格式为:

usermod [选项] [参数]

选项包括:

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

示例命令:
1、修改用户uid,添加附加群组:



2、修改用户名:
之前:



之后:



二、passwd命令

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
命令语法格式:

passwd [选项] [参数]

常用选项有这些:

-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。

以下请查看示例命令:
1、要修改当前用户密码,直接输入passwd即可:



2、修改其他用户密码(只有root账户有权限这样做),比如修改testuser01的密码:



3、比如我们让某个用户不能修改密码,可以用-l选项来锁定:
没锁定之前:



锁定后:



再次解锁-u参数之后,在重新输入密码的时候提示了很多错误,在修改密码的时候注意下:



在这个过程中,在/etc/shadow文件中,!!表示密码锁定,无法修改。



在修改密码时,我们发现,如果直接输入passwd命令,会要求我们输入两次命令,如果需要一次性输入无需确认,我们可以这样:

passwd --stdin username



或者

echo "abc123456" | passwd --stdin username //设密码为abc123456

# echo -e "abc123456\nabc123456" | passwd username  //设密码为abc123456,-e是echo参数:激活转义字符,\n是换行并且移光标到行首。


三、mkpasswd命令

mkpasswd命令生成随机复杂密码,前提安装expect,然后执行mkpasswd命令即可生成随机的密码。安装expect:

yum install -y expect



有时候我们的密码有特殊要求,那么mkpasswd命令也是有各种选项的:

-l (密码的长度定义, 默认是 9)
-d (数字个数, 默认是 2)
-c (小写字符, 默认是 3)
-C (大写字符, 默认是 2)
-s (特殊字符, 默认是 1)
-v (详细)
比如创建了一个长度为20位,包括数字个数,包含小写字母个数,包含大写字母个数,包含特殊符号个数。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  usermod passwd mkpasswd