linux用户:

管理员:root, UID号为:0 普通用户: 1-65535

			系统用户:1-499(centos6),1-1000(centos7)
			
			 登录用户:500+(centos6), 1000+(centos7)

linux组:

管理员组:root, UID号为:0 普通组: 

			系统组:1-499(centos6),1-1000(centos7)
			
			 普通组:500+(centos6), 1000+(centos7)

linux组的类别

		 用户的主要组(primary group)
		 
			         用户必须属于一个且只有一个主组,组名同用户名
							 
			用户的附加组(supplementary group)
			
             一个用户可以没有或有多个附加组

linux 用户和组的主要配置文件:    /etc/passwd (root:x:0:0:root:/root:/bin/bash)

                     name:用户名
										
                    password:密码位,pwconv 密码被映射到了/etc/shadow
										
                    uid: 
										
                    gid:
                    gecos:描述位
										
                    home: 家目录
										
                    shell: 默认为/bin/bash 如果设置为/sbin/nologin 表示不可以交互式登录



	  /etc/shadow      (root:$6$4uOWPgUw$kAWs8f8m9EXMbdxLS1:17675:0:99999:7:::)
		
	                   name:用户名
											
                      password:$6$salt$password
											
                      密码上一次的修改时间:
											
                      密码的最小存活期:在这个时间到达之前,不能改密码
											
                      密码的最大存活期:密码的过期时间
											
                      密码过期前多少天警告:
											
                      密码过期后多少天触发帐户过期:
											
                     帐户过期时间:从1970-1-1开始计算
                       
			       保留位
		
	chage 
               Options:
                        -d, --lastday LAST_DAY        修改密码上一次的修改时间
												
                        -E, --expiredate                     EXPIRE_DATE  设置密码的过期时间
												
                        -I, --inactive INACTIVE       设置密码过期之后多少天触发帐户过期
												
                       -l, --list                    列出信息
											 
                       -m, --mindays MIN_DAYS        设置密码的最小存活期
											 
                       -M, --maxdays MAX_DAYS        设置密码的最大存活期
											 
                       -W, --warndays WARN_DAYS      设置密码过期之前多少天提醒用户
		
		  /etc/group  (root:x:0:gentoo)
			
			       组名称
									
                  组密码:x表示 grpconv 组密码被映射到了/etc/gshadow
									
                  组ID
									
                  组成员:作为附加组的成员列表,以逗号分隔

		/etc/gshadow
		
		           组名称
									 
                   组密码
									 
                   组管理员:以逗号分隔,可以修改组密码以及修改组成员
									 
                   组成员:作为附加组的成员列表,以逗号分隔
		
		
		
		添加用户
		
		       useradd [options] LOGIN

            -u UID 

            -o 配合-u 选项,不检查UID的唯一性

            -g GID/GROUP NAME:指明用户所属基本组,可为组名,也可以GID

            -c "COMMENT":用户的注释信息

            -d HOME_DIR: 以指定的路径(不存在)为家目录   确保指定目录的目录名要存在,而基名不要存在

            -s SHELL: 指明用户的默认shell程序,默认不指定是为/bin/bash

            -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在

            -N 不创建私用组做主组,使用users组做主组

            -r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000

            -m 创建家目录,用于系统用户

            -M 不创建家目录,用于非系统用户
		
		
		手工创建家目录

            mkdir /home/magetest

            cp -r /etc/skel/.[^.]* /home/magetest

            chown -R magetest.magetest /home/magetest

            chmod -R 700 /home/matgtest

	添加用户的默认配置文件 (/etc/default/useradd)	

              GROUP=100

              HOME=/home

              INACTIVE=-1

              EXPIRE=

              SHELL=/bin/bash

              SKEL=/etc/skel

              CREATE_MAIL_SPOOL=yes

	修改用户的相关属性	
		
		     usermod [OPTION] login

           -u UID: 新UID

           -g GID: 新主组

           -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项

           -s SHELL:新的默认SHELL

           -c 'COMMENT':新的注释信息

           -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

           -l login_name: 新的名字;

           -L: lock指定用户,在/etc/shadow 密码栏的增加 ! 

           -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

           -e YYYY-MM-DD: 指明用户账号过期日期

           -f INACTIVE: 设定非活动期限

删除用户及其家目录      userdel -r 用户名

     passwd [OPTIONS]   UserName: 修改指定用户的密码,仅root用户权限

         passwd: 修改自己的密码

    常用选项:

		       -l:锁定指定用户
    
		       -u:解锁指定用户
    
		       -e:强制用户下次登录修改密码,相当于chage -d 0
                                
																
					           [tom@centos7(mit) ~]$ su - leij
			                    Password: 
                                You are required to change your password immediately (root enforced)
                                Changing password for leij.
                                (current) UNIX password: 
                                New password: 
                                Retype new password: 
                                 Sorry, passwords do not match.
                                New password: 
                                Retype new password: 
                                Last login: Sat Jun  2 10:28:51 CST 2018 on pts/0
                                Last failed login: Sat Jun  2 10:30:48 CST 2018 on pts/0
                                There was 1 failed login attempt since the last successful login.
     
		        --stdin:从标准输入接收用户密码
       
			       echo "PASSWORD" | passwd --stdin USERNAME

		
		
		groupadd 
            -g GID GNAME
            -r GNAME
  groupdel GNAME

gpasswd Options:

               -a, --add USER                增加单个用户到指定组当中(组管理员可执行)

               -d, --delete USER             从指定组中删除单个用户(组管理员可执行)

               -r, --delete-password         将指定组的组密码删除(组管理员可执行)

              -R, --restrict                限制组成员访问该组

               -M, --members USER,...        一次性设置组成员(仅root执行)

               -A, --administrators ADMIN,... 设置组管理列表(root执行)

newgrp groupname

用户会打开一个子shell,在这个子shell下,该用户的主要组切换为该组,若该用户本不属于该组,则要输入组密码,若该组属于用户的附加组之一,则无需输入码。

groupmems

	             -g GNAME
	
	             -a  USERNAME 加用户加入到指定组
	
	             -d  USERNAME 把用户从指定组删除

                 -p  清除该组的所有成员
	
	             -l  列出组成员列表 

groups USERNAME

查看用户属于哪些组(包含主要组)

chown 仅root才能执行

           USERNAME FILENAME/DIRNAME
	
	          所属人修改文件的权限
	
	                            -R 递归修改

                              .|: GNAME FILENAME/DIRNAME 修改所属组
                                
								如:chown .tom test 或 chown :tom test
                                
								USERNAME.|:GNAME FILENAME/DIRNAME 同时修改文件的所属人及所属组
 
                                 如: chown tom.tom test  或 chown tom:tom test 
																	
                                --reference= FILENAME/DIRNAME 将指定文件的从属关系设置为与指定文件相同
																
								     如: -rw-rw-r--. 1 leij leij 0 Jun  2 10:56 test

              -rw-r--r--. 1 root root 0 Jun 2 11:09 testb

								      chown --reference=testb test
														
										-rw-rw-r--. 1 root root 0 Jun  2 10:56 test
                                        -rw-r--r--. 1 root root 0 Jun  2 11:09 testb

chgrp 仅root和文件的所属人可以更改文件的所属组(但所属人一定要属于目标组)、

             GNAME FILENAME/DIRNAME

               -R 递归修改