用户的分类:
根据帐号的位置:本地帐号、远程(域)帐号。 LDAP,NIS,
根据帐号的功能:超级用户(root)  UID:0
  普通用户
          系统用户 UID:1-999
          本地用户 UID:1000+

组分类:
根据帐号的位置:本地组、远程(域)组。 LDAP,NIS,
根据帐号的功能:超级用户组(root)  UID:0
        普通用户组
          系统用户组 UID:1-999
          本地用户 组 UID:1000+

***每一个用户都有一个同名的组***

关于系统用户和组的相关配置文件:
帐号信息 密码信息
用户:/etc/passwd /etc/shadow
组: /etc/group /etc/gshadow

/etc/passwd 每个字段的作用:
root:x:0:0:root:/root:/bin/bash
用户名 : 密码占位符 : UID : GID : 用户描述 : 用户主目录(bash中"~"代表哪个) : 登录后使用的shell

passwd中伪用户:
系统中有一类用户称为伪用户(psuedo users),这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求

/etc/shadow: 结构:

root:$6$.BTyNB8Q397zR.KY$412……M8ZHWiidd/:16274: 0 : 99999 : 7 : : :
RHEL7用户及组的管理_第1张图片

了解:
/etc/group配置文件结构:
[root@localhost ~]# grep yy /etc/group
yy:x:1000:yy
组名,密码占位符,GID,组成员(用户名)

添加用户帐号相关命令:
语法:useradd 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell

[root@localhost ~]# useradd yy
[root@localhost ~]# ls /home/
yy
[root@localhost ~]# tail -1 /etc/passwd
yy:x:1000:1000::/home/yy:/bin/bash

指定用户UID
[root@localhost ~]# useradd -u 2017 sunwukong
[root@localhost ~]# id sunwukong
uid=2017(sunwukong) gid=2017(sunwukong) 组=2017(sunwukong)
指定用户的宿主目录
[root@localhost ~]# useradd -d /home/zhubajie zhubajie
[root@localhost ~]# tail -1 /etc/passwd
zhubajie:x:2018:2018::/home/zhubajie:/bin/bash
指定用户的起始组
[root@localhost ~]# useradd -g 2017 shasheng
[root@localhost ~]# id shasheng
uid=2019(shasheng) gid=2017(sunwukong) 组=2017(sunwukong)
指定用户附加组
[root@localhost ~]# useradd -G 2018 tangsanzang
[root@localhost ~]# id tangsanzang
uid=2020(tangsanzang) gid=2020(tangsanzang) 组=2020(tangsanzang),2018(zhubajie)指定用户的登录shell
[root@localhost ~]# useradd -M -s /sbin/nologin mysql
注:-M再创建用户时不创建用户宿主目录
[root@localhost ~]# ls /home/
shasheng sunwukong tangsanzang tangsanzhang yy zhubajie

创建用户的另外的命令
useradd =adduser

关于用户密码的命令:
[root@localhost ~]# passwd #默认修改的是当前登录用户
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd zhubajie
Changing password for user zhubajie #修改指定用户的密码
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

如果你创建一百个用户,并给一百个用户,输入一个初始密码?怎么办?
[root@localhost ~]# echo 123456 | passwd --stdin zhubajie
Changing password for user zhubajie.
passwd: all authentication tokens updated successfully.

Linux用户密码加密方法:sha512

修改用户信息:
语法:
#usermod 用户名

常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell

[root@localhost ~]# id tangsanzang
uid=2020(tangsanzang) gid=2020(tangsanzang) 组=2020(tangsanzang),2018(zhubajie)
[root@localhost ~]# usermod -u 1111 tangsanzang
[root@localhost ~]# id tangsanzang
uid=1111(tangsanzang) gid=2020(tangsanzang) 组=2020(tangsanzang),2018(zhubajie)
[root@localhost ~]# usermod -g 2017 -G 2018 tangsanzang
[root@localhost ~]# id tangsanzang
uid=1111(tangsanzang) gid=2017(sunwukong) 组=2017(sunwukong),2018(zhubajie)

删除用户:
#userdel 用户名 ***-r 宿主目录一起删除***
[root@localhost ~]# ls /home/
shasheng sunwukong tangsanzang yy zhubajie
[root@localhost ~]# userdel -r yy
[root@localhost ~]# ls /home/
shasheng sunwukong tangsanzang zhubajie

添加组:
[root@localhost ~]# groupadd huaguoshan
[root@localhost ~]# grep huaguoshan /etc/group
huaguoshan:x:2022:

删除组:
[root@localhost ~]# groupdel huaguoshan
[root@localhost ~]# grep huaguoshan /etc/group
[root@localhost ~]#

控制添加用户规则的文件
[root@localhost ~]# vim /etc/default/useradd
HOME=/home #哪个目录作为用户主目录存放目录。如果你不想让用户家目录在/home下,可以修改这个地方。
SHELL=/bin/bash  #默认shell使用哪个
SKEL=/etc/skel   #模板目录

解决模板文件被删之后显示不正常的问题
[root@localhost ~]# useradd u01
[root@localhost ~]# echo 123123 |passwd --stdin u01
更改用户 u01 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# ls -a /home/u01/
. .. .bash_logout .bash_profile .bashrc
[root@localhost ~]# rm -rf !$.bash
rm -rf /home/u01/.bash

[root@localhost ~]# ls -a /home/u01/
. ..
[root@localhost ~]# su - u01
-bash-4.2$

恢复:
-bash-4.2$ cp /etc/skel/.bash /home/u01
-bash-4.2$ chown u01:u01 /home/u01/.bash

切换用户:
[root@localhost ~]# su - u01
加上- ,在切换时会把环境变量一起进行切换
不加,保留原本的环境变量

查看用户信息相关命令:
[root@localhost ~]# id u01
uid=2022(u01) gid=2022(u01) 组=2022(u01)

[root@localhost ~]# w
03:04:54 up 3:10, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.100.1 00:43 1:46m 0.18s 0.18s -bash
root pts/1 192.168.100.1 02:11 1:50 0.24s 0.00s -bash
root pts/2 192.168.100.1 03:04 6.00s 0.03s 0.02s w

[root@localhost ~]# who
root pts/0 2017-12-08 00:43 (192.168.100.1)
root pts/1 2017-12-08 02:11 (192.168.100.1)
root pts/2 2017-12-08 03:04 (192.168.100.1)

[root@localhost ~]# yum -y install finger
[root@localhost ~]# finger u01 ##列出用户的相关信息
Login: u01 Name:
Directory: /home/u01 Shell: /bin/bash
Last login 五 12月 8 03:03 (CST) on pts/1
No mail.
No Plan.