美文网首页
用户及组管理

用户及组管理

作者: 赛亚人之神 | 来源:发表于2019-04-01 09:47 被阅读0次

    回顾:

    1. 文件管理命令、bash 的基础特性、文本处理命令
    文件管理命令:cp,mv,rm
    bash 基础特性:alias/unalias,glob(*, ?, [], [^]),快捷键
    IO重定向、管道:
      标准输入重定向:>, >>
      标准输出重定向:>, >>
      
        &>, &>>
        COMMAND > /path/to/file 2>&1
    
      输入重定向:<
        显示使用:tr
        隐式使用:有些命令可以直接跟文件比如 cat, tac, less, more, head, tail 等
        管道: COMMAND1 | COMMAND2 | ...
    
      文本处理命令:wc, cut, sort ,uniq
    

    用户和组管理

    资源分派:
      Authentication:认证
      Authorization:授权
      Audition:审计 - 对授权的合规使用进行审计,不能随意使用
    
      token, identity(username/passwd)
    
    Linux 用户:Username/UID
      管理员:root, 0
        系统用户: 1-499(centos6),1-999(centos7)
          对守护进程获取资源进行权限分配
    
        普通用户: 500+(centos6),1000+(centos7)
          交互式登录
    
    Linux 组:Groupname/GID
      管理员:root, 0
        普通组:
          系统组: 1-499(centos6),1-999(centos7)
          普通组: 500+(centos6),1000+(centos7)
    
    Linux 安全上下文:
      运行中的程序:进程(process)
        以进程发起者的身份运行:
          root: cat
          tom: cat
        进程所能够访问的所有资源的权限取决于进程的发起者的身份
    
    Linux 组的类别:
      用户的基本组(主组):
        组名同用户名,且仅包含一个用户:私有组
    
      用户的附加组(额外组):
    
    Linux 用户和租相关的配置文件
      /etc/passwd:用户及其相关属性(名称,UID,基本组ID等等)
      /etc/group:组及其相关属性
    
      /etc/shadow:用户密码及其相关属性
      /etc/gshadow:组密码及其相关属性
    
      1. /etc/passwd:
        name:password:UID:GID:GECOS:directory:shell
        grandkai:x:1000:1000:grandkai:/home/grandkai:/bin/bash
        用户名:密码:UID:GID:备注信息:家目录:默认shell
    
        GENCOS(General Electric Comprehensive Operating System)通用电气综合操作系统
    
      2. /etc/group
        group_name:password:GID:user_list
        grandkai:x:1000:grandkai
        组名:组密码:GID:以此组为附加组的用户列表(分隔符为逗号)
    
      3. /etc/shadow
        
        login name:用户名
        encrypted password:加密了的密码
        date of last password change:最近一次修改密码的日期,last password change
        minimum password age:密码的最小年龄,days until change allowed. 0 或者空 表示没有最小密码年龄
        maximum password age:密码的最大年龄(99999 表示永久有效)
        password warning period:密码警告时间段(0 或者空 表示没有密码警告期)
        account expiration date:账号过期时间(空字段表示没有强制密码过期)
        reserved field:保留字段
          
          加密机制:
            加密:明文 --> 密文
            解密:密文 --> 明文
            
            单项加密:提取数据指纹
              md5:message digest, 128 bits
              sha1: secure hash algorithm, 160 bits
              sha224: 224 bits
              sha256: 256 bits
              sha384: 384 bits
              sha512: 512 bits
              
              雪崩效应:初始条件的微小改变,将会引起结果的巨大改变
              定长输出:
              
              grandkai:$6$0cXxvl9zOAp/IlRK$nq8SKo3divnjV5Y0MBTlV/EXpmjbwTzrMZqg0AAMNCqoznnw7bJyVVobdat4nTwQQ6Q8qb/ihd5.gMI93cXc41::0:99999:7:::
    
              6:表示使用了 sha512 算法
              0cXxvl9zOAp/IlRK:表示添加的杂质
              nq8SKo3divnjV5Y0MBTlV/EXpmjbwTzrMZqg0AAMNCqoznnw7bJyVVobdat4nTwQQ6Q8qb/ihd5.gMI93cXc41:这里才是密码
    
    用户和组相关的管理命令
      用户创建:useradd [options] LOGIN
        -u: UID:[UID_MIN, UID_MAX],定义在 /etc/login.defs
        -g: GID:指明用户所属基本组,可以为组名,也可以是 GID
        -c: COMMENT:用户注释信息
        -d: HOME_DIR:指定用户默认的家目录
        -s: SHELL,指定用户默认的 shell 程序,可用列表在 /etc/shells 文件中
        -G: GROUP1[,GROUP2,...[,GROUPN]]],为用户指明附加组,组必须事先存在
        
        默认值设定: /etc/default/useradd 文件中
        useradd -D
           -s SHELL:更改默认 shell
    

    练习:创建用户 gentoo,附加组为 distrolinux,默认 shell/bin/bash,注释信息为“Gentoo Distribution”

    useradd gentoo -G distro,linux -s /bin/bash -c "Gentoo Distribution"
    
    组创建:
      groupadd [option]... group_name
        -g: GID:指明 GID 号:[GID_MIN, GID_MAX]
        -r: 创建系统组:
          CentOS 6: ID < 500
          CentOS 7: ID < 1000
    
    查看用户相关的 ID 信息:
      id [OPTION]... [USER]
        -u: UID
        -g: GID
        -G: Groups
        -n: Name(配合 -ugG 其中的一种联合使用),显示名称而不是id
    
    【切换用户】或【以其他用户的身份执行命令】
      su [options...] [-] [user [args...]]
        切换用户的方式:
          su Username:非登录式切换,即不会读取目标用户的配置文件(切换后还是在当前目录而不是 Username 的家目录)
          su - Username:登录式切换,会读取目标用户的配置文件,完全切换
    
        换个身份执行命令:
          su [-] Username-c "COMMAND"
    
        选项:
          -, -l, --login
          su -l Username 相当于 su - Username
    
    
    用户属性修改:
       usermod [OPTION] login
        -u: UID:新UID
        -g: GID:新基本组
        -c: COMMENT:用户新注释信息
        -d: HOME_DIR:新的家目录,原有家目录中的文件不会同时移动到新的家目录,若要移动需要配合 -m 选项,表示 --move-home
        -s: SHELL:新的默认 shell
        -G: GROUP1[,GROUP2,...[,GROUPN]]],新附加组,原来的附加组会被覆盖,如果想保留,配合 -a 选项,表示 --append
    
        -e, --expireddate YYYY-MM-DD:用户账号的过期日期
        -f, --inactive:密码过期之后,账号被彻底禁用之前的天数
        -L, --lock:锁定用户的密码,会在用户的密码前加一个感叹号 ! 表示禁用
        -U, --unlock:解锁用户的密码,移除禁用符号 !
    
    
    给用户添加修改密码
      passwd [OPTIONS] Username:修改指定用户的密码,仅 root 用户权限
      passwd:修改自己的密码
        常用选项:
          -l: 锁定指定用户
          -u: 解锁指定用户
          
          -n, --minimum DAYS:最短使用期限
          -x, --maximum DAYS:最大使用期限
          -w, --warning DAYS:提前多少天开始警告
          -i, --inactive DAYS:非活动期限
          
          --stdin: 从标准输入读取新密码,可以是管道
            echo "new passwd" | passwd --stdin Username
    
          Note:/dev/null, bit buckets
                /dev/zero
    
      例子:修改用户 gentoo 账号密码,并输出信息不能显示在控制台或者文件中
        echo "redhat" | passwd --stdin  gentoo &> /dev/null
    
    删除用户
      userdel [OPTION]... login
        -r, --remove:删除用户家目录
    
    组属性修改:  
      groupmod [OPTION]... group
        -n, --new-name:新组名
        -g, --gid:新 GID
    
    组删除:
      groupdel GROUP
    
    组密码:
      gpasswd [OPTION] GROUP
        -a user:将 user 添加至指定组中
        -d user:删除用户 user 的以当前组为组名的附加组
         
        -A user1,user2...:【设置有管理权限的用户列表】
    
      newgrp 命令:临时切换基本组
        如果用户本不属于此组,则需要组密码
    
    修改用户密码过期信息
      chage [OPTION]... LOGIN
        -d, --lastday
        -E, --expiredate
        -I, --inactive
        -m, --mindays
        -M, --maxdays
        -W, --warndays
    
    其他命令:
      chfn:修改指纹信息 (/etc/passwd 中的 GENCOS)
    
      chsh:修改登录默认 shell
        chsh [OPTION] username
          -l, --list-shells:打印所有 shells(/etc/shells 中列出的所有的shell)
          -s, --shell:指定用户登录的默认 shell
    
      finger:查看指纹信息)
    

    命令总结:

    useradd, groupadd, usermod, groupmod, userdel, groupdel, id, passwd, gpasswd, pwck, su, newgrp, chage, chfn, chsh, finger

    相关文章

      网友评论

          本文标题:用户及组管理

          本文链接:https://www.haomeiwen.com/subject/xermbqtx.html