usermod命令/用户密码管理/mkpasswd命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了usermod命令/用户密码管理/mkpasswd命令相关的知识,希望对你有一定的参考价值。

参考技术A usermod命令

usermod是用来更改用户信息的一个命令

-u:用来更改用户//usermod -u UID 用户名-g:用来更改用户组//usermod -g GID或者用户组 用户名-d:用来更改家目录//usermod -d 家目录 用户名-s:用来更改用户shell//usermod -s /bin/bash或者/sbin/nologin 用户 ( /bin/bash表示:能登录的,/sbin/nologin表示:不能登录的)-G:添加扩展组//usermod -G 指定用户组 用户名 (操作玩可以使用id命令来查看该用户的属性)(如果需要多个添加多个扩展组,直接用户组后再加)

用户密码管理

更改密码使用passwd命令

passwd root //更改root用户密码

passwd hch // 更改普通用户密码

使用tail查看存放的用户密码文件

[root@localhost ~]# tail /etc/shadow

hch:!!:17527:0:99999:7:::

第二列显示星号,则表示密码是被锁定的,锁定的密码同样不能登录。

需要锁定用户的时候我们可以使用 passwd -l 命令来锁定

[root@localhost ~]# passwd -l hch

锁定用户 hch 的密码 。

passwd: 操作成功

[root@localhost ~]# tail /etc/shadow

hch:!!:17527:0:99999:7:::

上面我们可以密码字符串前面我们可以看到有两个感叹号即表明已经锁定成功,如果我们需要给它解锁,则 passwd -u 命令来解锁

锁定用户密码的命令还有usermod也可以操作,usermod命令加上 -L 或者 -U 即可用来锁定用户密码或者解锁。

使用passwd命令来修改密码,还有一个参数我们会使用到: passwd --stdin  ,用这个命令来更改命令,是以可视的形态更改密码的,示例:

[root@localhost ~]# passwd --stdin hch

更改用户 hch 的密码 。

123456

passwd:所有的身份验证令牌已经成功更新。

与此同时,我们还可以使用管道符来将echo 的结果执行到后面的passwd的命令上,示例

[root@localhost ~]# echo "456321"|passwd --stdin hch

更改用户 hch 的密码 。

passwd:所有的身份验证令牌已经成功更新。

同样的我们还可以这样修改密码,示例

[root@localhost ~]# echo -e "456987\n456987"|passwd hch

更改用户 hch 的密码 。

新的 密码:无效的密码: 密码少于 8 个字符

重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。

上例中,n456987,相当于你使用passwd修改密码时,系统要你新建一个密码紧接着再重新输入一次密码来确认 ,这里我们加了n456987,这样操作就相当于再重新输入一次密码的操作。

mkpasswd命令

安装mkpasswd命令包:

yum install -y expect

生成不规则字符串:mkpasswd

[root@localhost ~]# mkpasswd

y1yd9BNz/

默认:大小写字母,特殊符号,数字 9位的密码

指定密码共生成几位字符串:  mkpasswd -l  指定数字

[root@localhost ~]# mkpasswd -l 12

5?smnPjcLyg6

指定密码包含几个特殊符号: mkpasswd -l 指定数字  -s  指定数字

[root@localhost ~]# mkpasswd -l 12 -s 3

eGozm$6!;oN1

十usermod命令用户密码管理mkpasswd命令

十二、usermod命令、用户密码管理、mkpasswd命令

一、usermod命令

usermod:更改用户属性。

格式:usermod -u 111 username;usermod -g 123 username(-g后面可以是组名,也可以是gid)

也可以-d指定家目录,-s指定它的shell

-G:扩展组

命令id+用户名:可以查看该用户的uid,gid和组。这个组不仅包含了前面的gid,还可以包括其他的扩展组。一个用户可以属于多个组,但是gid只有一个,我们把除了gid以外的组叫做扩展组。

小实验:

# usermod -G grp1 user1

# id user1

uid=1000(user1) gid=1000(user1) 组=1000(user1),1001(grp1)

# usermod -G grp2 user1

# id user1

uid=1000(user1) gid=1000(user1) 组=1000(user1),1002(grp2)

# usermod -G grp1,grp2 user1

# id user1

uid=1000(user1) gid=1000(user1) 组=1000(user1),1001(grp1),1002(grp2)

# usermod -g grp1,grp2 user1

usermod:“grp1,grp2”组不存在

# usermod -g grp1 user1

# id user1

uid=1000(user1) gid=1001(grp1) 组=1001(grp1),1002(grp2)

上例中,-G加一个组,扩展了一个组,再-G另外一个组,grp2就替换了之前的grp1组,-G同时加两个组,便扩展两个组,当-g两个组的时候,会报错,是因为系统将grp1和grp2看成了一个组,-g一个组以后,便更改了用户的gid。

二、用户密码管理

passwd命令

账户创建后,默认是没有设置密码的,只有设置好密码后,才可以登录系统。为了安全,建议按如下规则设置密码:

a)长度大于10个字符;

b)密码中包含大小写字母、数字以及特殊符号*&%等;

c)不规则性(不要出现happy,love,Linux,111111等单词或者数字);

d)密码中不要带有自己的名字、电话、生日以及公司名字等。

为账户设置密码,使用命令passwd,格式为passwd [username]。该命令后面若不加用户名字,则是为自己设定密码。若登录的是root用户,后面可以跟普通用户的名字,意思是修改指定账户的密码。需要注意的是,只有root才可以修改其他账户的密码,普通账户只可以修改自己的密码。改完以后可以tail进/etc/shadow查看到自己设置的用户后面有一个加密的字符串,若没有设置密码,会显示两个感叹号,密码为空则不能登录;若用户的密码位显示的是*号,表示该用户的密码是锁定的,不能用的,也是不能登录的。

-l选项(lock):锁定用户的密码。tail查看shadow文件,可以看到加密字符串前面多了两个!!。

-u选项(unlock):解锁用户密码。tail查看shadow文件,可以看到加密字符串前面的!!消失。

usermod -L username也可以锁定用户密码,tail查看shadow文件,可以看到加密字符串前面多了一个!。

usermod -U username解锁用户密码。

# passwd --stdin username

这条命令也可以更改密码,只输入一次,并且密码是明文显示。

# echo "111222" |passwd --stdin username

这条命令不用再输入任何的密码,管道符:将前面命令的结果传递给后面的命令。

# echo -e "123\nsss"         (-e:表示一行内可以出现一个换行符,\为换行符)

# echo -e "123\nsss"

123

sss

# echo  "123\nsss"

123\nsss

不加-e则会原封不动的打印出来。

# echo -e "123\tsss"

123 sss

# echo -e "1231111\n1231111" |passwd username也可更改密码。

三、mkpasswd命令(make passwd)

mkpasswd:用于生成密码的工具。安装的Linux默认是没有这个命令的,需要安装一个expect软件包,命令:

# yum install -y expect

# mkpasswd

w0qR8iCr&

有时我们需要生成指定长度的密码,用此命令也可满足,比如,生成12位长度的密码,示例命令:

# mkpasswd -l 12

2rvlwHx1f:Xt

当然,还可以指定密码中有几个特殊字符或数字,示例命令:

# mkpasswd -l 12 -s 0 -d 3

Lz9Hyv1cb4uc

上例中,-s指定特殊字符的个数,-d指定数字的个数。用这个随机字符串作为密码非常好,只是不便于记忆,可以记录在keepass里。


以上是关于usermod命令/用户密码管理/mkpasswd命令的主要内容,如果未能解决你的问题,请参考以下文章

usermod命令用户密码管理mkpasswd命令

usermod命令,用户密码管理 ,mkpasswd命令

十usermod命令用户密码管理mkpasswd命令

十usermod命令用户密码管理mkpasswd命令

3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令

usermod命令,用户密码管理,makpasswd