Lesson13 Linux 账号与群组

一、UID 与 GID: 

1.  UID:即 UserID,使用者 ID,  记录于/etc/passwd 文件。

2.  GID:即 GroupID,群组 ID,记录于/etc/group 文件。

     每个 Linux 用户都有这两个 ID。

     需要显示文属性时,系统会根据 ID 查找指定文件中对应的账号与组群名进行显示。

     Lesson13 Linux 账号与群组

     登陆系统时,系统会在 /etc/passwd 中查找账号,读取 UID 与 GID, 之后核对 /etc/shadow 中的密码,完成后进入shell。

      Lesson13 Linux 账号与群组

二、  相关系统配置文件:

1.  /etc/passwd :文件内容结构如下

     Lesson13 Linux 账号与群组

     账号:密码:UID:GID:用户信息说明:家目录:Shell

  • 密码:记录于 /etc/shadow 
  • 家目录:root 用户为 /root,其它用户为 /home/用户名 。
  • UID:系统管理员为 0 ,其它 UID 的权限与特性没有区别。
  • Shell:默认的 shell 管理用 bash,值为 /sbin/nologin 无法进入交互式环境。

2.  /etc/shadow:文件内容结构如下

     Lesson13 Linux 账号与群组

    账号:密码:最近更改日期:密码不可被更改的天数:密码需要变更的天数:密码需要变更前的警告天数:

    密码过期后账号宽限时间:账号失效日期:保留字段

  • 密码:已用加密算法加密。
  • 最近更改日期:自 1970/01/01 起的天数。
  • 密码不可被更改的天数:为 0 则可以随时更改。
  • 密码需要变更的天数:经常改密码是一个好习惯。

3.  /etc/group:文件内容结构如下

     Lesson13 Linux 账号与群组

     组名:组群密码:GID:群组支持的账号

  • 组群密码:存于 /etc/gshadow,已不常用
  • 群组支持的账号:多个账号用逗号, 分隔

三、 账号管理命令:

1.  useradd:新建用户 useradd 用户名,useradd -D 可查看新建用户的默认配置信息。

2.  passwd:设置密码,passwd 用户名, 加参数 S 可以查看密码的详细信息(使用的算法)。

3.  userdel:删除用户 userdel 用户名。

4.  chage、usermode:修改更新账号信息。

四、 使用者身份管理:

1.  切换用户:su 用户名,root 用户切换到其它用户不用输入密码,切换到其它用户后输入 exit 可以切回 root 用户。

                      加参数 l 切换用户后会重新读取环境变量。

     
2. sudo : 切换 root 身份执行某项命令。

    对于 nologin 的用户,可以用 sudo -u 用户名 命令, 执行某项操作。

    运行 sudo 时,系统会在 /etc/sudoers 中查找该使用者是否具有运行 sudo 的权限,有则需输入当前用户密码确认。

    给用户添加 sudo 权限:

    Lesson13 Linux 账号与群组

    注意严格按照格式,建议复制 root 行后修改用户名。

    all 的三个项分别为 允许登陆者来源的主机名,可切换的身份,可下达的命令集合。

五、 用户信息查询:

 1.  w/who:查看已经登录的用户,前者会显示占用资源情况,后者显示详细登录时间。

 2.  last/lastlog:查看登录记录,前者以时间排列,后者以用户名排列。