passwd
useradd username #添加用户
/etc/passwd #用户配置文件,每行代表一个用户
文件的一个用户信息:
user3: x:1005:1005::/home/user3:/bin/bash
每一段代表的意思:
用户名:密码:UID:GID:注释:家目录:shell(命令解释器,这个用户用的shell是/bin/bash,代表可以登陆;/sbin/nologin代表不能登陆)
分号可以输入两个命令
[root@tanyvlinux ~]# head -1 /etc/passwd; tail -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
fftp:x:1008:1009::/home/fftp:/bin/bash
zabbix:x:986:979:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
shadow
对应于passwd文件有一个密码文件,跟passwd逐行对应
/etc/shadow
其中一行的内容:
user3:
6
6
6olNfZA4b$6m6WJE.IZoXHCz6Yy1sE0EIg.1RWtxhMCfqQ2R3ZNqQqEs6M7MBrQ7dr7IPLeIZok1PBFkpjzQJBcCCFOUgND/:18114:0:99999:7:::
每一段代表的意思:
用户名:密码:上次修改密码到现在的天数:设置多少天之前密码不能修改:设置多少天之后要修改密码; 设置提前几天作密码到期提醒;设置密码失效多少天后帐户失效;帐号有效天数(从1970年算起):保留字段
group
/etc/group #组配置文件;
文件的其中一个组信息:
user3❌1005:
每一段代表的意思:
组名:密码(很少用):组号:
/etc/gshadow #组的密码文件,没有设置密码用!表示;
user3:!::
以上提到的用户配置和组配置文件在系统里都有自动备份,同样的文件名加 -表示,
但这两个文件有可以有差异,备份文件不是完全同步。
[root@tanyvlinux ~]# ls -la /etc/passwd*
-rw-r--r--. 1 root root 2831 8月 21 18:15 /etc/passwd
-rw-r--r--. 1 root root 2759 8月 16 14:24 /etc/passwd-
备份文件:
组操作
groupadd -g 1005 grp1 #新建组和定义组号
grouped grp1 #删除组,组内没有用户才能删除
[root@tanyvlinux ~]# groupadd -g 1010 gt
[root@tanyvlinux ~]# tail -2 /etc/group
zabbix:x:979:
gt:x:1010:
[root@tanyvlinux ~]# groupdel gt
[root@tanyvlinux ~]# tail -2 /etc/group
wireshark:x:980:
zabbix:x:979:
用户操作
useradd ut #新建用户,自动生成一样的组名,一般情况下gid跟uid一致;
useradd -u 1004 -g grp2 user3 #指定uid 和组(组名或组号) 新建用户;
useradd -u 1004 -g grp2 -d /home/tan -s /sbin/nologin user4 #-d指定家目录,-s指定用户的shell(不能登陆);
useradd -M user5 #不建家目录;
userdel user8 #删除配置文件,不删除家目录;
userdel -r user7 #删除用户同时删除家目录;
usermod -u 1010 username #修改uid
usermod -g 1010 username #修改gid(主组)
usermod -d /home/kdjjf username #修改用户家目录,目录里内容要添加,不然用户使用有问题;
usermod -s /sbin/nologin username #修改用户的shell(不能登陆)
扩展组
id user1 #查看用户的ID和组信息;
usermod -G grp2, user5 username #指定扩展组,指定一个扩展组后,再指定一个扩展组,原来的会被替换,要同时指定需要的多个扩展组;
[root@tanyvlinux home]# usermod -G ut1 ut1
[root@tanyvlinux home]# id ut1
uid=1011(ut1) gid=1001(user1) 组=1001(user1),1010(ut1)
[root@tanyvlinux home]# usermod -G user3 ut1
[root@tanyvlinux home]# id ut1
uid=1011(ut1) gid=1001(user1) 组=1001(user1),1005(user3)
[root@tanyvlinux home]# usermod -G user3,ut1 ut1
[root@tanyvlinux home]# id ut1
uid=1011(ut1) gid=1001(user1) 组=1001(user1),1005(user3),1010(ut1)
passed
passwd #修改当前用户密码;
passwd 用户名 #root用户下,修改其他用户密码;
passed -l user1 #锁定密码
passwd -u user1 #解锁
[root@tanyvlinux home]# tail -2 /etc/shadow
zabbix:!!:18129::::::
ut1:!!:18141:0:99999:7:::
[root@tanyvlinux home]# passwd ut1
更改用户 ut1 的密码 。
新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@tanyvlinux home]# tail -2 /etc/shadow
zabbix:!!:18129::::::
ut1:$6$zVLXHmdG$XPhuAOw6P0X4/.iaXzCaAnTqU5JrTA.c6q.Z4hDFGNyfaCf1nNv7rPwcvhME3Ww9EIOZSACgLOa2ekqmU20jl0:18141:0:99999:7:::
[root@tanyvlinux home]# passwd -l ut1 #锁定帐号;
锁定用户 ut1 的密码 。
passwd: 操作成功
[root@tanyvlinux home]# tail -2 /etc/shadow
zabbix:!!:18129::::::
ut1:!!$6$zVLXHmdG$XPhuAOw6P0X4/.iaXzCaAnTqU5JrTA.c6q.Z4hDFGNyfaCf1nNv7rPwcvhME3Ww9EIOZSACgLOa2ekqmU20jl0:18141:0:99999:7:::
[root@tanyvlinux home]# passwd -u ut1 #解锁帐号;
解锁用户 ut1 的密码。
passwd: 操作成功
!!代表空密码
生成密码后,产生加密的信息,此时锁定帐号增加!!在密码字段的最前面
用户密码文件,密码字段带*的帐号,不能登陆,系统生成的
[root@tanyvlinux home]# cat /etc/shadow
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
adm:*:17834:0:99999:7:::
另一个锁定和解锁命令
usermod -L user1 #锁定,加了一个!在密码字段的最前面
usermod -U user1 #解锁
[root@tanyvlinux home]# usermod -L ut1
[root@tanyvlinux home]# tail -2 /etc/shadow
zabbix:!!:18129::::::
ut1:!$6$zVLXHmdG$XPhuAOw6P0X4/.iaXzCaAnTqU5JrTA.c6q.Z4hDFGNyfaCf1nNv7rPwcvhME3Ww9EIOZSACgLOa2ekqmU20jl0:18141:0:99999:7:::
passwd --stdin user5 #修改密码,明文显示,只输入一次;
echo “111222” |passwd --stdin user5 #一条命令修改好命令;
echo -e “123\nsss” #-e识别\标识的功能,\n换行;
echo -e “12312312\n12312312” |passwd user3 #一条命令修改密码,输入了两次密码;
密码要求:10位,数字,大小写字母,特殊符号,不要有规律
生成随机密码:
yum install -y expect #安装expect
mkpasswd -l 12 -s 0 #使用mkpasswd命令,-l 指定密码长度,-s 指定多少位特殊符号