用户和密码配置文件
1、passwd配置,/etc/passwd
root: x:0:0:root:/root:/bin/bash
/etc/passwd由―:分割成7个字段,每个字段的具体含义是:
(1) 用户名(如第一行中的root就是用户名),代表用户账号的字符串。
(2) 第二个字段存放的是该账号的口令。
(3) 这个数字代表用户标识号,也叫做uid。
(4) 表示组标识号,也叫做gid。
(5) 注释说明,该字段没有实际意义。
(6) 用户的家目录。
(7) 用户的shell。除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录,建立账号时添加-s选项指定第七段的值。
2、shadow配置,/etc/shadow
bin:*:15980:0:99999:7: : :
(1) 用户名。
(2) 用户密码,这个密码已经加密,该文件属性设置为000,但是root账户是可以访问或更改的。如果为 ,则表示该用户密码被锁定。如果为!,则表示该用户密码为空。
(3) 上次更改密码的日期,这个数字是这样计算得来的,距离1970年1月1日到上次更改密码的日期,例如上次更改密码的日期为2012年1月1日,则这个值就是365(2012-1970)+(2012-1970)/4+1=15341。因为如果是闰年,则有366天。
(4) 要过多少天才可以更改密码,默认是0,即不限制。
(5) 密码多少天后到期。默认是99999,可以理解为永远不需要改。
(6) 密码到期前的警告期限。
(7) 账号失效期限。密码已经到期后多少天失效。
(8) 账号的生命周期。跟第三段一样。
(9) 作为保留用的,没有什么意义。
用户组管理
/etc/group和/etc/gshadow两个配置文件
1、创建组
指定gid创建组:
[root@centos7-1 ~]# groupadd -g 1005 temence
[root@centos7-1 ~]# tail -n1 /etc/group
temence❌1005:
2、删除组
删除空组:
[root@centos7-1 ~]# groupdel temence
[root@centos7-1 ~]# tail -n1 /etc/group
ggg❌1001:
删除非空组:
[root@centos7-1 ~]# groupdel ggg
groupdel:不能移除用户“ggg”的主组
删除非空组时,需要将组里用户删掉才可删除该组
3、组成员管理
用于查看扩展组下的所有用户
用法:groupmems [选项] [动作]
选项:
-g, --group groupname 更改组 groupname,而不是用户的组(只 root)
-R, --root CHROOT_DIR chroot 到的目录
动作:
-a, --add username 将用户 username 添加到组成员中
-d, --delete username 从组的成员中删除用户 username
-h, --help 显示此帮助信息并推出
-p, --purge 从组中移除所有成员
-l, --list 列出组中的所有成员
4、新增用户
-u 指定uid或者属主名字
-g 指定gid或者属组名字
-d 指定用户家目录
-s 指定shell
-M 不创建家目录
-G 添加扩展组,可以一次性添加多个组,使用“,”分开
指定uid、gid创建用户:
[root@centos7-1 ~]# tail -n2 /etc/passwd
gbj❌1000:1000::/home/gbj:/bin/bash
ggg❌1001:1001::/home/ggg:/bin/bash
[root@centos7-1 ~]# tail -n2 /etc/group
gbj❌1000:
ggg❌1001:
[root@centos7-1 ~]# useradd -u 1003 -g 1000 temence
[root@centos7-1 ~]# tail -n2 /etc/group
gbj❌1000:
ggg❌1001:
[root@centos7-1 ~]# tail -n2 /etc/passwd
ggg❌1001:1001::/home/ggg:/bin/bash
temence❌1003:1000::/home/temence:/bin/bash
指定家目录、shell
[root@centos7-1 ~]# useradd -d /home/qwer -s /sbin/nologin qwer
[root@centos7-1 ~]# tail -n2 /etc/passwd
temence❌1003:1000::/home/temence:/bin/bash
qwer❌1004:1004::/home/qwer:/sbin/nologin
创建用户同时不创建用户家目录
[root@centos7-1 ~]# useradd -M ghj
[root@centos7-1 ~]# tail
tail tailf
[root@centos7-1 ~]# tail -n2 /etc/passwd
qwer❌1004:1004::/home/qwer:/sbin/nologin
ghj❌1005:1005::/home/ghj:/bin/bash
[root@centos7-1 ~]# ls /home/
gbj ggg qwer temenc
5、删除用户
userdel -r [用户] 删除用户的同时删除用户家目录
6、更改用户属性
u 指定uid或属主名字
-g 指定gid或属组名字
-G 添加扩展组,可以一次性添加多个组,使用“,”分开
-s 指定shell
-d 指定用户家目录,如果创建用户时未创建目录,此时使用该参数并不会新增家目录,只是会在/etc/paswd目录中修改。如果床架哦那个湖时创建了家目录,那么使用该参数也不会修改/home目录中的家目录也只会修改/etc/passwd
7、查看用户属性
[root@centos7-1 ~]# id root
uid=0(root) gid=0(root) 组=0(root)
用户密码管理
[root@centos7-1 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
passwd拥有set_uid权限,可以让其他用户也拥有root权限使用该密码
1、修改密码
[root@centos7-1 ~]# passwd xxx
2、锁定用户
[root@centos7-1 ~]# passwd -l xxx
锁定用户 temence 的密码 。
passwd: 操作成功
[root@centos7-1 ~]# tail -5 /etc/shadow
tcpdump:!!:17315::::::
gbj:!!:17324:0:99999:7:::
ggg:!!:17325:0:99999:7:::
temence:!!$6eFNutGrc9zF64UrO3cE2uOL2mDOUpjKmzPfZ7kQorNiU2YUeBvzipNDpVR8uv/0qsL8eroCW8yzGtirGU.dj50:17328:0:99999:7:::
3、解锁用户
[root@centos7-1 ~]# usermod -L xxx
[root@centos7-1 ~]# tail -5 /etc/shadow
tcpdump:!!:17315::::::
gbj:!!:17324:0:99999:7:::
ggg:!!:17325:0:99999:7:::
temence:!$6eFNutGrc9zF64UrO3cE2uOL2mDOUpjKmzPfZ7kQorNiU2YUeBvzipNDpVR8uv/0qsL8eroCW8yzGtirGU.dj50:17328:0:99999:7:::