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

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

时间:2018-02-05 23:23:52      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:用户   感叹号   weight   数字   包含   passwd命令   span   目录   /etc   

十二、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命令

标签:用户   感叹号   weight   数字   包含   passwd命令   span   目录   /etc   

原文地址:http://blog.51cto.com/13576245/2069196

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