Linux 用户&用户组

用户和用户组的概念

用户 ———> 使用操作系统的人

  • Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

  • 每个用户账号都拥有一个唯一的用户名和各自的口令。

用户组 ———> 具有相同权限系统的一组用户

  • 用户组是具有 相同特征用户 的逻辑集合。

  • Linux将用户分组是 Linux对用户 进行管理访问控制权限 的一种手段,很大程度上简化了管理工作
    用户和用户组的关系。

主要组和附属组 ———> 用户可以同时属于多个组,其中一个主要组,多个附属组

相关文件配置

/etc/passwd 存储当前系统中所有用户的信息(密码除外)

该文件内容的每一行代表一个 用户的配置信息 ,每个用户信息格式固定。

  • 第一个字段(第一个root):用户名

  • 第二个字段(x):加密的密码

  • 第三个字段(第一个0):用户ID

  • 第四个字段(第二个0):用户组ID

  • 第五个字段(第二个root):用户的描述信息,默认用户的全名或空值

  • 第六个字段(/root):用户的主目录

  • 第七个字段(/bin/bash):登录shell,字段 /sbin/nologin 表示禁止登录

/etc/shadow 存储当前系统中所有用户的密码信息

shadow配置文件的行数与 passwd文件相同,并且每行与 passwd每一行都对应。

  • 第一个字段(root):用户名

  • 第二个字段($...0):加密后的密码(盐值加密)

  • 第三个字段:密码的最后一次修改时间(元年计数,1970年1月1日作为1

  • 第四个字段:密码在多少天内不能更改

  • 第五个字段(9999):密码在多少天后必须更改

  • 第六个字段(7):密码到期前多少天给用户发出警告

  • 第七个字段:密码在多少天后用户账户将被禁用

  • 第八个字段:密码将禁用的具体日期

  • 第九个字段:保留字段

/etc/group 存储当前系统中所有用户组信息

该文件内容的每一行代表一个用户组 ,每个用户组信息格式固定

  • 第一个字段(root):用户组的组名

  • 第二个字段(x):加密后的用户组密码

  • 第三个字段(0):用户组ID,GID

  • 第四个字段(空值):用户组的成员列表,多个组成员用逗号分隔

/etc/gshadow 存储用户组密码的一类信息

passwd用于存放组的加密密码 ,每个组账户在该行占用一行,每行分为4个字段

  • 第一个字段:用户组名称

  • 第二个字段:加密后的用户组密码,如果是空或!代表没有密码

  • 第三个字段:用户组管理者,空值代表没有组管理员

  • 第四个字段:用户组的成员列表,空值代表无成员列表

从相关文件分析用户和组之间的联系

相关命令

用户命令

使用命令后可以查看用户和用户组配置文件内容

命令 说明
useradd用户名 创建用户,同时创建与用户名同名的组
useradd -g 组名 用户名 创建用户并指定用户组
useradd用户名 -s xxx 创建用户并指定用户登录后所使用的shell, 如果值为/sbin/ nologin 或者** /bin/false** 时,表示禁止该用户登录
usermod -g 用户组 用户名 修改用户所在用户组
usermod -l 新用户名 用户名 修改用户名
userdel 用户名 删除用户,不删除用户的家目录(-r 参数同时删除家目录)

用户组命令

命令 说明
groupadd组名 创建用户组
groupadd -g 组编号 组名 创建用户组同时指定编号
groupmod- n新组名 旧组名 修改用户组的组名
groupmod -g 组编号 组名 修改用户组的组编号
groupdel 组名 删除指定用户组

修改密码

  • 普通用户直接输入 passwd命令修改自己的密码。不能加用户名修改别的用户密码

  • 普通用户设置密码必须符合密码原则,root用户可以任意设置

命令 说明
sudo passwd 初始化root用户密码
passwd 用户名 修改用户密码(新创建用户即为设置密码)
gpasswd用户组 修改/设置用户组密码

锁定和解锁用户

  1. 禁止个别用户登录
passwd -l test  # 这就话的意思是锁定test用户,这样该用户就不能登录了。  
passwd -u test  # 对锁定的用户lynn进行解锁,用户可登录了。
  1. 我们通过修改/etc/passwd文件中用户登录的shell
vi /etc/passwd  
test:x:500:500::/home/test:/bin/bash  
更改为:  
test:x:500:500::/home/test:/sbin/nologin  
该用户就无法登录了。
  1. 禁止所有用户登录
touch /etc/nologin  
除root以外的用户不能登录了!

其他命令

命令 说明
su 用户名 切换用户身份,如果不带参数,则切换为root身份
id 用户名 显示指定用户信息,包括用户编号、用户名,组编号、组名
whoami 显示当前登录用户名
who 显示系统中有哪些使用者正在线(windows下对应命令quser,常用于看管理员是否在线)
posted @ 2021-11-07 17:14  FreeK0x00  阅读(221)  评论(0编辑  收藏  举报