linux用户密码管理

9月20日任务
3.4 usermod命令
3.5 用户密码管理
3.6 mkpasswd命令

usermod命令

usermod命令可以更改用户属性。/etc/passwd中每一行用冒号分为七列,usermod大部分可以更改。主要参数有:

  • u,修改用户uid,对应/etc/passwd第三列
  • g,修改用户gid,可以组名或者组号,对应/etc/passwd第四列
  • d,修改用户家目录,对应/etc/passwd第六列
  • s,修改用户shell,对应/etc/passwd第七列

此外还有-G参数,修改用户附属组。默认情况下新建一个用户同时会创建一个与用户同名的所属组,这个是主组,还可以添加附属组。usermod -G root user1这条命令就把user1添加到了root附属组。一个用户可以有多个附属组,添加多个附属组要同时列出,不然多次运行usermod -G命令会覆盖前面的附属组。

密码管理

passwd直接修改当前用户的密码。passwd username修改指定用户密码,只有所有者和root才有权修改。

用useradd添加新帐号后查看/etc/passwd会发现新创建账户密码位是两个叹号,这是没有设置密码,不能登录。如果密码位是星号,则代表帐号锁定。锁定可能是密码有效期到期,或者系统管理员锁定。

passwd -l username命令锁定帐号,这时/etc/passwd密码位显示两个叹号。passwd -u username解锁。此外,usermod也可以锁定帐号。usermod -L锁定后/etc/passwd密码位显示一个叹号,用usermod -U解锁。

passwd修改、设置密码时默认会输入两边密码,这不利于批量管理密码,尤其是脚本管理。passwd --stdin username可以只输入一次密码,没有交互界面,输入密码时会以明文显示密码。那么在编写脚本时,可以利用管道进行输入密码:echo "qqq" |passwd --stdin username

此外,也可以用\n换行来实现两边输入密码。echo -e "123123\n123123" |passwd username这样就实现了交互第二遍输入。两种方法都可行。

mkpasswd

mkpasswd可以随机生成密码,建意使用提高帐号安全。使用前先安装:yum install -y expect

mkpasswd 默认生成9位密码,包含小写大写数字和特殊字符。可以指定密码长度,mkpasswd -l 12生成12位的密码。还可以规定特殊符号的数量,mkpasswd -s 3则密码中包含3个符号。可以选择没有特殊符号,不过那会将定帐号安全。想想现在多少人的密码里只有数字和小写字母?至少加入几个大写字母吧。

    原文作者:awsome365
    原文地址: https://www.jianshu.com/p/bad43c6f3402
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞