标签:usermod命令 用户密码管理 mkpasswd命令 echo介绍
usermod 设置扩展组概念:更改用户属性的一个命令。
用法:usermod [选项] 后面跟你需要操作的内容 [用户名]
选项:
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
-l, --login LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射
举个例子,我们先来查看一下user5的uid和gid还有扩展组
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 组=1003(user5)
然后在这里,我们想让user5再属于另外一个组,叫扩展组:
[root@zhangzhen-01 ~]# usermod -G grp2 user5
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 组=1003(user5),1008(grp2)
如果我们想让user5,属于多个组应该怎么做呢:
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 组=1003(user5),1008(grp2),1011(grp3)
概念:账户创建后,默认是没有设置密码的,只有设置好密码后才可以登录系统。在为用户创建密码时,尽量设置复杂一些。
如下是密码复杂度规则介绍:
-- 长度大于10个字节;
-- 密码中包含大小写字母、数字以及特殊符号!@#()¥等;
--不规则性英文数字等;
--密码中不要带有自己的名字和电话等信息。
passwd若后面不加用户名,就是给自己设定密码
[root@zhangzhen-01 ~]# passwd
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
如何设置用户密码,格式 passwd [username] (这里username填写你的用户),假设新建一个用户test5
[root@zhangzhen-01 ~]# useradd test5 #创建一个用户
[root@zhangzhen-01 ~]# passwd test5 #使用passwd修改test5用户的密码
更改用户 test5 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。注:在这里,只有root才可以修改其他账户的密码,普通账户只能修改自己的密码。
我们可以用tail命令查看配置文件后十行信息
[root@zhangzhen-01 ~]# tail /etc/shadow
polkitd:!!:17610::::::
postfix:!!:17610::::::
sshd:!!:17610::::::
chrony:!!:17610::::::
zhangzhen-03:!!:17613:0:99999:7:::
user1:$6$gTcyr2nl$szsXaszsSj02hc1deEHB5sPYmENFOU1I1ydpB1H8Erjgv5Zf15zqP5P/k8CZfJH/2WtGuuI5dDCYbzAHLJctK0:17623:0:99999:7:::
zhang-02:!!:17619:0:99999:7:::
user5:!!:17623:0:99999:7:::
user6:!!:17623:0:99999:7:::
test5:$6$QPAIJOuh$mkjy1sX.SAsCTO2EYrUZmgYc3Npc7UDkny/HlTfbFWag1.tghAgymJ2mQqCaGDrV0loLk0YzAgN7E4.1NJ4aO.:17624:0:99999:7:::注:这里我们可以看见有加密的字符串,这里是设置过密码的用户,然后"!!"表示密码为空。
*哪些用户是不可登录的呢,用“”表示 **
[root@zhangzhen-01 ~]# head /etc/shadow
root:$6$yQ2l5yz9$Kn2mRieWcDq8beURzCQwyPbBQ8NvyERoRIQHDHJ1JVe3GEqW0awMtmJwNAnnAhP2SDQxK1n2r24iRWRixyJig1:17624:0:99999:7:::
bin::17110:0:99999:7:::
daemon::17110:0:99999:7:::
adm::17110:0:99999:7:::
lp::17110:0:99999:7:::
sync::17110:0:99999:7:::
shutdown::17110:0:99999:7:::
halt::17110:0:99999:7:::
mail::17110:0:99999:7:::
operator:*:17110:0:99999:7:::注:“*”表示不可登录。
如何锁定一个用户登录,-l,-L两种选项
[root@zhangzhen-01 ~]# passwd -l test5
锁定用户 test5 的密码 。
passwd: 操作成功
接下来我们查看锁定完后的配置文件是什么样子的:
[root@zhangzhen-01 ~]# tail -n2 /etc/shadow
user6:!!:17623:0:99999:7:::
test5:!!$6$QPAIJOuh$mkjy1sX.SAsCTO2EYrUZmgYc3Npc7UDkny/HlTfbFWag1.tghAgymJ2mQqCaGDrV0loLk0YzAgN7E4.1NJ4aO.:17624:0:99999:7:::注意,在这里 密文密码前方有2个“!”,表示锁定用户。
如何解锁一个用户登录,-u,-U两种选项
[root@zhangzhen-01 ~]# passwd -u test5
解锁用户 test5 的密码。
passwd: 操作成功
[root@zhangzhen-01 ~]# !tail
tail -n2 /etc/shadow
user6:!!:17623:0:99999:7:::
test5:$6$QPAIJOuh$mkjy1sX.SAsCTO2EYrUZmgYc3Npc7UDkny/HlTfbFWag1.tghAgymJ2mQqCaGDrV0loLk0YzAgN7E4.1NJ4aO.:17624:0:99999:7:::注意看,这里密文前面没有“!”,表示解锁成功。
--stdhin的用法,用passwd直接修改test5用户的密码
[root@zhangzhen-01 ~]# passwd --stdin test5
更改用户 test5 的密码 。
123123
passwd:所有的身份验证令牌已经成功更新。在这里注意看,--stdin是用来强制设定一个用户的密码
用echo,通过管道符一条命令设置密码
[root@zhangzhen-01 ~]# echo "123123" |passwd --stdin test5
更改用户 test5 的密码 。
passwd:所有的身份验证令牌已经成功更新。这条命令的含义是,echo(显示) “123123” 通过管道符,把前面命令的结果,传递(输出)给后面的命令。
echo -e 表示换行,示例如下:
[root@zhangzhen-01 ~]# echo -e "123\n321"
123
321在这里一定要注意,双引号里面的 \n 反斜杠n表示换行;
\t 反斜杠t表示 TAB
参考文献,echo的使用:
https://www.cnblogs.com/perfy/archive/2012/07/24/2605903.html
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
首先安装一个expect包,这个包可以实现随机的字符串
[root@zhangzhen-01 ~]# yum install -y expect
[root@zhangzhen-01 ~]# mkpasswd
Li~B5zp1y
这个就是随机生成的字符串了
我们也可以指定密码长度,-l
[root@zhangzhen-01 ~]# mkpasswd -l 12 #这里可以设置密码长度为12字节
Hka2pv3ltOv;
我们也可以指定密码长度的同时,指定有几个特殊字符和数字
[root@zhangzhen-01 ~]# mkpasswd -l 12 -s 3 -d 3
63>>fvf%GJ6z
标签:usermod命令 用户密码管理 mkpasswd命令 echo介绍
原文地址:http://blog.51cto.com/13646023/2094515