您的位置:首页 > 其它

usermod命令、passwd密码管理、mkpasswd密码生成工具

2017-12-26 23:36 435 查看

usermod命令

usermod命令用于修改用户帐号
usermod可用来修改用户帐号的各项设定
参数

-c<备注>  修改用户帐号的备注文字。

-d<登入目录>  修改用户登入时的目录

-e<有效期限>  修改帐号的有效期限。

-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号

-g<群组>  修改用户所属的群组。

-G<群组>  修改用户所属的附加群组。

-l<帐号名称>  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s<shell>  修改用户登入后所使用的shell。

-u<uid>  修改用户ID。

-U  解除密码锁定。

更改用户uid

实验1:更改user005用户的uid为1008
命令:usermod -u 1008 user005

user005:x:1002:1002::/home/user005:/bin/bash
user007:x:1007:1005::/home/user007:/bin/bash
[root@shu-test ~]# usermod -u 1008 user005
[root@shu-test ~]# tail -n2 /etc/passwd
user005:x:1008:1002::/home/user005:/bin/bash
user007:x:1007:1005::/home/user007:/bin/bash
[root@shu-test ~]#

更改用户所属组

实验2:更改账号user005用户的组为grp2也就是gid为1005
命令:usermod -g grp2 user005

[root@shu-test ~]# tail -n5 /etc/group
slocate:x:21:
user01:x:1000:
user02:x:1001:
grp2:x:1005:
user005:x:1002:
[root@shu-test ~]# usermod -g grp2 user005
[root@shu-test ~]# tail -n2 /etc/passwd
user005:x:1008:1005::/home/user005:/bin/bash
user007:x:1007:1005::/home/user007:/bin/bash
[root@shu-test ~]#

更改用户家目录

实验3:指定user005的家目录为/home/user004
usermod -d /home/user004 user005


更改用户shell目录

实验4:指定user005的shell
usermod -s /sbin/nologin user005


增加用户所属组(多个组)

查询所属uid gid 组的命令
id [用户名]
id user005

[root@shu-test ~]# id user005
uid=1008(user005) gid=1005(grp2) 组=1005(grp2)

添加到额外扩展组中
usermod -G [组名] [用户名]

[root@shu-test ~]# id user005
uid=1008(user005) gid=1005(grp2) 组=1005(grp2)
[root@shu-test ~]# usermod -G user005 user005
[root@shu-test ~]# id user005 uid=1008(user005) gid=1005(grp2) 组=1005(grp2),1002(user005)
[root@shu-test ~]#


用户密码管理

passwd命令

更改用户密码

格式:
passwd [用户名]

passwd user005

[root@shu-test ~]# passwd user005
更改用户 user005 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@shu-test ~]#

*注意:查看/etc/shadow 文件中第二列表示密码,!号为无密码,号为被锁定无法登陆使用;**

锁定一个用户

格式:
passwd -l [用户名]
passwd -l user007

[root@shu-test ~]# passwd -l user007
锁定用户 user007 的密码 。
passwd: 操作成功
[root@shu-test ~]#

解锁一个用户

格式:
passwd -u [用户名]
passwd -u user007

[root@shu-test ~]# passwd -u user007
解锁用户 user007 的密码。
passwd: 操作成功
[root@shu-test ~]#

get新技能

更改用户密码,只需要输入1次密码;
passwd --stdin 【用户名】
passwd --stdin user007

[root@shu-test ~]# passwd --stdin user007
更改用户 user007 的密码 。
123456
passwd:所有的身份验证令牌已经成功更新。
[root@shu-test ~]#

那么我们写脚本时可以使用管道符|一次性给一个账号改密码
echo "123456789"|passwd --stdin user007
命令意思就是输出字符串123456789给passwd --stdin user007 来实现密码更改

[root@shu-test ~]# echo "123456789"|passwd --stdin user007
更改用户 user007 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@shu-test ~]#

echo新技能
echo -e 可以在字符串中加入\n来实现换行
echo -e "123456\nssss"

[root@shu-test ~]# echo -e "123456\nssss"
123456
ssss
[root@shu-test ~]#

根据这个 我们也可以来一次性更改密码

[root@shu-test ~]# echo -e "linuxu123456\nlinuxu123456" |passwd user007
更改用户 user007 的密码 。
新的 密码:重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
[root@shu-test ~]#


mkpasswd

一个生成密码的小工具
安装包expect
yum install -y expect


默认随机生成9位密码

[root@shu-test ~]# mkpasswd
0UoeA1^mw
[root@shu-test ~]#

命令格式:

-l[数值]:指定生成字符串的长度

-s[数值]:指定特殊符号

-d[数值]:指定多少个数字

指定长度
实验1:生成长度为12的字符串

[root@shu-test ~]# mkpasswd -l 12
v%ttk9oN1wWh
[root@shu-test ~]#

指定特殊符号数
实验2:生成长度为12,特殊符号为0的字符串

[root@shu-test ~]# mkpasswd -l 12 -s 0
19fyEAwnxxux
[root@shu-test ~]#

指定数字数
实验3:生成长度为14,特殊符号为0,数字为8的字符串;

[root@shu-test ~]# mkpasswd -l 12 -s 0 -d 8
1pL532g16A27
[root@shu-test ~]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  usermod passwd mkpasswd