美文网首页
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