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

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

关于系统用户和组的相关配置文件
       帐号信息     密码信息
用户  /etc/passwd   /etc/shadow
组    /etc/group    /etc/gshadow
/etc/passwd  每个字段的作用
例如:root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:用户描述:用户主目录:登录后使用的shell

passw中的伪用户:
/etc/passwd文件中常见的伪用户:
  伪用户   含义
bin       拥有可执行的用户命令文件
sys      拥有系统文件
adm       拥有账户文件
uucp      UUCP使用
Ip        Ip或Ipd子系统使用
nobody    NFC使用

源码安装nginx,运行nginx web服务器默认使用nobody用户

#查看系统中支持哪些shell
[wang@localhost ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

/etc/shadow  的结构:
例如:
root:$6$eV6Vr50WEjYO8RE.$s5OZFX410914l1DwzFu7H29DNaPiStx2faeVL4yPsIEttAAn9TqW3rgQdXA1fulOZTU8jqIdHANMWeUbSUoFv.:17126:0:99999:7:::
用户名:被加密后的密码:最近更改密码的日期:密码不能改的天数:密码过期时间:密码需要更改期限到来前7发出警告:宽限天数:帐号过期时间:保留
                        从19100101开始算    0表示随时可以修改

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

添加用户帐号相关命令:
用户:
语法:useradd username
-u UID    -d 主目录    -g 起始组                       -G 附加组   -s 使用的shell
                       创建用户时,不会再创建组      创建用户时,还会再创建一个和用户同名的组
例如:
[root@localhost ~]# useradd -u 5003 shen
[root@localhost ~]# id shen
uid=5003(shen) gid=5003(shen) groups=5003(shen)

[root@localhost ~]# useradd -g shen shen5
[root@localhost ~]# id shen5
uid=5004(shen5) gid=5003(shen) groups=5003(shen)

[root@localhost ~]# useradd -G root shen6
[root@localhost ~]# id shen6
uid=5005(shen6) gid=5005(shen6) groups=5005(shen6),0(root)


[root@localhost ~]# grep shen6 /etc/group    #过滤
root:x:0:shen6
shen6:x:5005:


关于用户密码的命令:
例如:
passwd     #修改当前用户的密码

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


Linux用户密码加密:
123456   -->    sha512    -->   加密
123456   +随机值  -->    sha512    -->  (随机值) 加密

验证:123456 +随机值  --> sha512  --> 加密
---------------------------------------------------------------------------------------------
修改用户信息:
#usermod  username  
-u UID    -d 主目录    -g 起始组                       -G 附加组   -s 登录的shell

例如:
[root@localhost wang]# id shen5
uid=5004(shen5) gid=5003(shen) groups=5003(shen)
[root@localhost wang]# usermod -u 6004 shen5
[root@localhost wang]# id shen5
uid=6004(shen5) gid=5003(shen) groups=5003(shen)

[root@localhost wang]# grep 99 /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

删除用户:
#username username      #-r  主目录一起删除

[root@localhost wang]# ls /home/
jdk-6u29-linux-x64-rpm.bin  shen  shen5  shen6  wang
[root@localhost wang]# userdel -r shen5
[root@localhost wang]# userdel  shen6
[root@localhost wang]# ls /home/
jdk-6u29-linux-x64-rpm.bin  shen  shen6  wang

添加组:
groupadd

[root@localhost wang]# groupadd mk

修改组信息:
语法:groupmod grouname

[root@localhost wang]# grep mk /etc/group
mk:x:5004:
[root@localhost wang]# groupmod -g 550 mk
[root@localhost wang]# grep mk /etc/group
mk:x:550:

控制添加用户规则文件:
[root@localhost wang]# vi /etc/default/useradd

查看用户相关的命令:

[root@localhost wang]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@localhost wang]# whoami
root
[root@localhost wang]# w
 08:23:59 up 19:33,  2 users,  load average: 1.00, 1.00, 1.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
wang     tty1     :0               Mon12   19:33m 10.06s  0.14s pam: gdm-password
wang     pts/3    192.168.1.106    04:16    0.00s  0.05s  0.10s sshd: wang [priv]
[root@localhost wang]# who
wang     tty1         2016-12-19 12:51 (:0)
wang     pts/3        2016-12-20 04:16 (192.168.1.106)

用户切换:
su - username  加 - 用户和shell 环境一起切换   PATH

bash中的隐藏文件被删除解决方法:
1.切换用户
2.cp /etc/skel/.bash* /路径
3.切换回用户

修改拥有者和所属组:
chown shen1:shen1 /tmp/shen1/ -R