本文共 4558 字,大约阅读时间需要 15 分钟。
概念:更改用户属性的一个命令。用法: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 user5uid=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/shadowuser6:!!: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 ~]# !tailtail -n2 /etc/shadowuser6:!!: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 的密码 。123123passwd:所有的身份验证令牌已经成功更新。在这里注意看,--stdin是用来强制设定一个用户的密码
用echo,通过管道符一条命令设置密码
[root@zhangzhen-01 ~]# echo "123123" |passwd --stdin test5
更改用户 test5 的密码 。passwd:所有的身份验证令牌已经成功更新。这条命令的含义是,echo(显示) “123123” 通过管道符,把前面命令的结果,传递(输出)给后面的命令。
echo -e 表示换行,示例如下:
[root@zhangzhen-01 ~]# echo -e "123\n321"
123321在这里一定要注意,双引号里面的 \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 363>>fvf%GJ6z转载于:https://blog.51cto.com/13646023/2094515