一、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里。
原文地址:http://blog.51cto.com/13576245/2069196