码迷,mamicode.com
首页 > 其他好文 > 详细

2018.4.3三周第二次课

时间:2018-04-04 00:00:28      阅读:215      评论:0      收藏:0      [点我收藏+]

标签: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)

用户密码管理 passwd命令

概念:账户创建后,默认是没有设置密码的,只有设置好密码后才可以登录系统。在为用户创建密码时,尽量设置复杂一些。
如下是密码复杂度规则介绍:
-- 长度大于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 显示版本信息

mkpasswd命令

首先安装一个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

这里,-l表示字节,-s表示特殊符号,-d表示有几个数字。

2018.4.3三周第二次课

标签:usermod命令   用户密码管理   mkpasswd命令   echo介绍   

原文地址:http://blog.51cto.com/13646023/2094515

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!