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用户组 | 修改/设置用户组密码 |
锁定和解锁用户
- 禁止个别用户登录
passwd -l test # 这就话的意思是锁定test用户,这样该用户就不能登录了。
passwd -u test # 对锁定的用户lynn进行解锁,用户可登录了。
- 我们通过修改/etc/passwd文件中用户登录的shell
vi /etc/passwd
test:x:500:500::/home/test:/bin/bash
更改为:
test:x:500:500::/home/test:/sbin/nologin
该用户就无法登录了。
- 禁止所有用户登录
touch /etc/nologin
除root以外的用户不能登录了!
其他命令
命令 | 说明 |
---|---|
su 用户名 | 切换用户身份,如果不带参数,则切换为root身份 |
id 用户名 | 显示指定用户信息,包括用户编号、用户名,组编号、组名 |
whoami | 显示当前登录用户名 |
who | 显示系统中有哪些使用者正在线(windows下对应命令quser,常用于看管理员是否在线) |