用户配置文件和密码配置文件
用户配置文件 /etc/passwd
[root@linux-128 ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinsystemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologinsystemd-network:x:192:192:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:998:996:User for polkitd:/:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinchrony:x:997:995::/var/lib/chrony:/sbin/nologinwuzhou:x:1000:1000::/home/wuzhou:/bin/bash
- 这里是列表文本/etc/passwd由“:”分割成7个字段
- 第一段:用户名,root是超级用户
- 第二段:密码
- 第三段:用户的UID,root的uid是0,1-999是系统用户的uid或者预留的,普通用户从1000开始;
- 第四段:用户组gid;这个字段对应着/etc/group中的一条记录;
- 第五段:注释说明,没有实际意义;
- 第六段:用户的家目录;
- 第七段:用户的shell;/bin/bash:用户可以登录系统,/sbin/nologin 不可以登录系统。 注意:root和普通用户默认的是 /bin/bash;如果想让一个用户不能登陆系统 可以在 vi/etc/passwd 修改。将/bin/bash 修改成/sbin/nologin
用户密码文件:/etc/shadow
[root@linux-128 ~]# cat /etc/shadowroot:$6$zl63r8d5$knNxU6YQDPktVmvQoB82o59nukoj8Kv8.88SfCMPEdLcoaFqwL9VsO0U8Bzh5dfEwP3CRXDU9hbQDhHL44bll/:17458:0:99999:7:::bin:*:17110:0:99999:7:::daemon:*:17110:0:99999:7:::adm:*:17110:0:99999:7:::lp:*:17110:0:99999:7:::sync:*:17110:0:99999:7:::shutdown:*:17110:0:99999:7:::halt:*:17110:0:99999:7:::mail:*:17110:0:99999:7:::operator:*:17110:0:99999:7:::games:*:17110:0:99999:7:::ftp:*:17110:0:99999:7:::nobody:*:17110:0:99999:7:::systemd-bus-proxy:!!:17455::::::systemd-network:!!:17455::::::dbus:!!:17455::::::polkitd:!!:17455::::::tss:!!:17455::::::postfix:!!:17455::::::sshd:!!:17455::::::chrony:!!:17455::::::wuzhou:!!:17459:0:99999:7:::
- /etc/shadow 存放密码的文件用“:”别冒号分割成9段
- 用户名
- 是密码 这里是*表示账号被锁定 !!表示账号密码为空 密码为空时不能登陆系统的
- 是从1970年1月1日到上次修改密码的时间
- 是多少天后可以修改密码, 如果设置1表示上次修改时间过1天后才能修改密码
- 是多少天后密码会过期 99999就相当于永远不会过期
- 是密码到期前报警期限,
- 是密码过期后多少天如果不修改密码,这个账号就会废掉
- 是账号的生命周期, 从创建账号开始到过期时间
- 是保留项
用户组管理
用户组文件 /etc/group
groupadd增加用户组
- 增加用户组命令格式:groupadd [-g gid] groupname
例子:
[root@linux-128 ~]# groupadd grp1[root@linux-128 ~]# tail -2 /etc/groupslocate:x:21:grp1:x:1001:
- -g选项:设置gid;gid默认从1000开始
[root@linux-128 ~]# groupadd -g 1003 grp2[root@linux-128 ~]# tail -3 /etc/groupslocate:x:21:grp1:x:1001:grp2:x:1003:
删除组命令:groupdel
[root@linux-128 ~]# groupdel grp1[root@linux-128 ~]# tail -3 /etc/groupwuzhou:x:1000: slocate:x:21: //刚才创建的用户grp1已经被删除grp2:x:1003:
- group有一种情况不能删除组:一个组里有很多用户,只要里面有一个用户,这个组就不能删除。
[root@linux-128 ~]# tail -3 /etc/passwdchrony:x:997:995::/var/lib/chrony:/sbin/nologinwuzhou:x:1000:1000::/home/wuzhou:/bin/bashuser1:x:1001:1001::/home/user1:/bin/bash[root@linux-128 ~]# groupdel user1
groupdel:不能移除用户“user1”的主组 //user1组里有个用户user1用户,所以删除不了; 如果想要删除用户组,必须先删除组里的所以用户,再删除用户组。 use
用户管理
useradd 增加用户
- -u 定义UID;普通用户uid从1000开始
- -g 定义Gid
- -d 定义家目录
- -s 定义shell ; /bin/bash登陆,/sbin/nologin不允许登陆
- -M 不建家目录
- Useradd不加任何选项,直接跟用户名,这个会创建一个跟用户名同名的组。
[root@linux-128 ~]# useradd user2[root@linux-128 ~]# tail -1 /etc/passwduser2:x:1002:1002::/home/user2:/bin/bash
[root@linux-128 ~]# tail -1 /etc/groupuser2:x:1002:
[root@linux-128 ~]# useradd -u 1004 -g 1005 -M -s /sbin/nolongin user3useradd:“1005”组不存在[root@linux-128 ~]# useradd -u 1004 -g 1003 -M -s /sbin/nolongin user3[root@linux-128 ~]# tail -2 /etc/passwduser2:x:1002:1002::/home/user2:/bin/bashuser3:x:1004:1003::/home/user3:/sbin/nolongin
- 注意:-g后面跟一个不存在的gid会报错;加上-M后,不会创建家目录,但是这里会显示出来家目录,但是在home下面是没有这个家目录文件的
[root@linux-128 ~]# cat /home/user3cat: /home/user3: 没有那个文件或目录[root@linux-128 ~]# ls /homeuser1 user2 wuzhou
userdel 删除用户,但不会删除家目录
- userdel -r 删除用户连带家目录一起删除。 例子:
[root@linux-128 ~]# userdel user2[root@linux-128 ~]# ls /homeuser1 user2 wuzhou //user2的家目录还存在[root@linux-128 ~]# userdel -r user1[root@linux-128 ~]# ls /homeuser2 wuzhou //user1家目录已经删除