美文网首页
Linux 账号与群组

Linux 账号与群组

作者: Carlswt | 来源:发表于2018-08-24 22:03 被阅读0次

    1. 使用者标识符:UID,GID

    • GID: Group ID
    • UID: User ID

    2. 使用者账号

    login时:

    1. 在/etc/passwd 判断是否有账号
    2. 如果有将UID,GID(/etc/group)读出来
    3. 前面正确后,linux进入/etc/shadow,核对密码表
    4. 登录成功
    

    /etc/passwd 文件结构
    1. 每一行代表一个账号
    2. 有很多系统运行必须的账号

        root@871554b5b066:/# head -n 3 /etc/passwd
        root:x:0:0:root:/root:/bin/bash
        daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
        bin:x:2:2:bin:/bin:/usr/sbin/nologin 
    
    3. 每一行用:隔开。共有七个分别是
        1 . 账号名称
        2 . 密码
        3 . UID
            * id :0,代表系统管理员
            * id:1~999,保留给系统用的id
            * id:1000·60000,给一般使用者使用的
        4 . GID
        5 . 用户信息说明栏
        6 . 家目录
        7 . Shell
    

    /etc/shadow 文件结构

        root@871554b5b066:/# head -n 4 /etc/shadow
        root:$6$gCrhiK4l$jBgjXjDUFspgRp.5gXH3j4XSoFbw6w90Gn9J.mJebR698hLw1PNZPxo/bG.njd3UM5J.9G9sRhK9KJhsEGHIY1:17767:0:99999:7:::
        daemon:*:17541:0:99999:7:::
        bin:*:17541:0:99999:7:::
        sys:*:17541:0:99999:7:::
    
    1. shadow 同样以: 作为分隔符,总共9个字段
      1. 账号名称
      2. 密码(经过编码加密)
      3. 最近更改密码的日期(linux 日期的时间是以1970年1月1日作为1而累加的日期)
      4. 密码不可被更改的天数(与3字段相比)
      5. 密码需要重新变更的天数
      6. 密码需要变更期限前的警告天数
      7. 密码过期后的账号宽限时间(密码失效日)
      8. 账号失效日
      9. 保留
    2. 一般用户密码忘记了:请系统管理员修改
    3. root密码忘记了
        1. 重启进入单人模式,以passwd修改密码
        1. LiveCD 开机挂在根目录,将/etc/shadow 里面的root密码字段清空

    3. 关于群组:有效与初始群组,groups,newgrp

    /etc/group 文件结构

    root@871554b5b066:/# head -n 4 /etc/group
    root:x:0:
    daemon:x:1:
    bin:x:2:
    sys:x:3:
    
    1. 组名
    2. 群组密码
    3. GID
    4. 此群组支持的账号名称
    • 有效群组和初始群组
      1. /etc/passwd 中的GID,就是初始群组
      2. groups命令第一个输出的群组即为有效群组
    • newgrp 有效群组的切换
      • 前提是你要切换的群组是你已经支持的群组
    • /etc/gshadow
      root@871554b5b066:/# head -n 4 /etc/gshadow
      root:*::
      daemon:*::
      bin:*::
      sys:*::
      
        1. 组名
        1. 密码栏
        1. 群组管理员的账号
        1. 有加入该群组所支持的所属账号

    账号管理

    1. 新增与移除使用者:useradd,相关配置文件,passwd,usermod,userdel
    2. useradd
        * [root@study ~]# useradd [-u UID] [-g 初始群组] [-G 次要群组] [nM]\
        > [-c 说明栏] [-d 家目录的绝对路径] [-s shell] 使用者账号名
    
        选项与参数:
        -u : 后面接UID,是一组数字,直接指定特定的UID给这个账号
        -g : 后面接的那个组名就是initial group(初始群组)
        -G : 后面接的组名则是这个账号还可以加入的群组
        -M : 强制!不要建立用户家目录(系统账号默认值)
        —m : 强制!要建立用户家目录(一般账号默认值)
        -c : 这个就是/etc/passwd 的第五栏的说明内容,可是随便设定
        -d : 指定某个目录成为家目录,而不要使用默认值,务必使用绝对路径!
        -r : 建立一个系统的账号,这个账号的UID会有限制
        -s : 后面接一个shell,若没有指定则预设是/bin/bash
        -e : 后面接一个日期,格式为:[YYYY-MM-DD] 此项目可写入shadow的第八字段
        -f : 后面接shadow的第七字段项目,指定密码是否会失效,0为立刻失效,-l为永远不失效
    
        [root@study ~]# useradd lusiwei
        [root@study ~]# ll -d /home/lusiwei
        默认会建立家目录,且权限为700
    
    1. useradd 参照文件

      • useradd -D
      useradd 默认值参考这个文件 : /etc/default/useradd
      
    2. passwd
      [root@study ~]# passwd [--stdin] [账号名称]
      [root@study ~]# passwd [-l] [-u] [--stdin] [-S] \

      [-n日数] [-x 日数] [-w 日数] [-i 日期] 账号
      选项与参数:
      --stdin: 可以有过凯子前一个管线的数据,作为密码输入
      -l : 是lock的意思,会将/etc/shadow第二栏最前面加上!使密码失效
      -u : 与-l相对是unlock的意思
      -S : 列出密码相关参数
      -n : 后面接天数,shadow的第4字段
      -x : 后面接天数,shadow的第5字段
      -w : 后面接天数,shadow的第6字段

      -i : 后面接日期,shadow的第7字段
      5 .--stdin 修改密码

      [root@study ~]# echo "abc520" | passwd --stdin lusiwei
      

    6 . chage
    选项与参数: -l : 列出该账号详细的密码参数

    1. usermod

    相关文章

      网友评论

          本文标题:Linux 账号与群组

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