基础知识
    Linux用户
    管理员: root 0 (UID)用户ID为0
    普通用户:1-65535
    系统用户:1-499/1-999
    登录用户: 500+ / 1000+

    Linux组
    管理员组: root 0
    普通组:
    系统组:1-499/1-999
    登录用户组:500+ / 1000+

    组类型:
    1、基本组—主组: 组名会和用户名相同,且仅包含一个用户的组—私有组
    2、附加组—额外组:一个用户可以属于多个附加组

    Linux安全上下文:
    运行中的程序: 进程
    进程能够访问的所有资源的权限在于进程发起者的用户身份

    用户和组相关的配置文件:
    /etc/passwd : 用户及其属性信息(用户名称,用户ID,基本组ID等等)
    /etc/group: 组及其属性信息
    /etc/shadow: 用户密码及其属性信息
    /etc/gshadow: 组密码及其属性信息
    配置文件/etc/passwd:
    root:x:0:0:root:/root:/bin/bash
    username:password:UID:GID:GECOS(用户注释信息):home directory:shell
    配置文件/etc/group
    root:x:0:
    gname:password:GID:user_list
    配置文件/etc/shadow
    root:xxxx::0:99999:7:::
    登录名:加密密码:最近一次更改密码的日期:密码的最小使用期限:密码的最大使用期限:密码
    的告警时间段:密码的禁用日期:账户过期日期:保留字段
    用户管理命令
    - useradd命令:创建用户
    [root@test ~]# useradd —help
    Usage: useradd [options] LOGIN
    常用选项:
    -u: 指定uid
    -g:指定gid
    -c:指定用户注释信息
    -d:指定家目录
    -s:指定shell类型(默认是/bin/bash)
    可用的shell类型
    [root@test ~]# cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    -G:指定附加组
    -r:指定为系统用户
    默认设置:
    [root@test ~]# useradd zhangsan
    zhangsan:x:1000:1000::/home/zhangsan:/bin/bash
    创建用户的默认配置:
    [root@test ~]# cat /etc/default/useradd
    # useradd defaults file
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    [root@test ~]# useradd -u 2000 -c “this is lisi” -d /home/ll lisi
    lisi:x:2000:2000:this is lisi:/home/ll:/bin/bash
    - userdel命令:删除用户
    常用选项:
    -r:remove home directory and mail spool 删除用户家目录和邮件信息
    - usermod命令:编辑用户信息
    常用选项:
    - aG:将用户添加到附加组中
    - dm:移动用户新登录目录(默认情况会登录到自己的家目录下)
    - L: 锁定用户
    - U: 解锁用户

    - passwd命令:编辑用户密码
    常用选项:
    -n mindays: 指定最短使用期限
    -x maxdays:指定最大使用期限
    -w warndays:提前多少天开始警告
    -i Inactivedays: 非活动期限
    —stdin: 从标准输入接收用户密码
    [root@test ~]# echo “111111” | passwd —stdin zhangsan
    Changing password for user zhangsan.
    passwd: all authentication tokens updated successfully.
    案例1:创建用户gentoo、附加组为distro和linux,默认shell为/bin/csh,注释信息为“Gentoo Distribution”
    [root@test ~]# useradd -G bin,root -c “Gentoo Distribution” -s /bin/csh gentoo
    组管理命令:
    - groupadd命令:创建组
    常用选项:
    -g: 指定gid
    -r: 指定为系统组
    -p, —password PASSWORD use this encrypted password for the new group
    [root@test ~]# groupadd -g 2000 -r linux
    - groupdel命令:删除组
    常用选项:
    -r, —remove remove home directory and mail spool
    -f, —force force some actions that would fail otherwise
    - groupmod命令:编辑组信息
    常用选项:
    -g, —gid GID change the group ID to GID 指定GID
    -n, —new-name NEW_GROUP change the name to NEW_GROUP 修改组名称
    -p, —password PASSWORD change the password to this (encrypted) 修改组密码
    PASSWORD
    gpasswd命令:编辑组密码
    常用选项:
    -a, —add USER add USER to GROUP 添加用户到某个组中
    -d, —delete USER remove USER from GROUP 移除用户从某个组
    -r, —delete-password remove the GROUP’s password 移动组密码
    -M, —members USER,… set the list of members of GROUP 设置组列表
    -A, —administrators ADMIN,… 设置组中管理员
    set the list of administrators for GROUP
    用户/组相关命令:
    - id命令:
    [root@test ~]# id —help
    Usage: id [OPTION]… [USER]
    常用选项:
    -Z, —context print only the security context of the current user 只输出当前用户的安全上下文
    -g, —group print only the effective group ID 只输出主组ID
    -G, —groups print all group IDs 输出所有组ID
    -n, —name print a name instead of a number, for -ugG 输出是名字代替ID号
    -r, —real print the real ID instead of the effective ID, with -ugG 输出真实ID号
    -u, —user print only the effective user ID
    [root@test ~]# id zhangsan
    uid=1000(zhangsan) gid=1000(zhangsan) groups=1000(zhangsan),0(root)
    - su命令:切换用户或提权
    常用的切换方式:
    su username : 切换用户,不读取用户配置信息
    su - username: 切换用户,读取用户配置信息(完全切换)(常用的操作)
    su [-] username -c “Command”: 切换用户执行命令
    [zhangsan@test ~]$ su root -c “cat /etc/shadow