Linux 用户管理
目录
用户管理
概念
用户(账户)
文件、进程、任务,给每个用户提供特定的工作环境
超级用户:root
系统用户:伪账户
普通用户
组(账户)
具有相同特征的用户的集合体
一个组可有多个用户,一个用户可属于不同的组
创建组的目的是可以成批的管理同类的用户,从而简化管理工作
当用户属于多个组时,登录的组称为主组,其他组称为附加组
私有组
标准组
用户相关配置文件
passwd 文件
- 位置:/etc/passwd
- 作用:保存各个用户的账户信息(密码除外)
- passwd 文件格式:每行定义一个用户账号,一行中又划分为多个字段,定 义用户账号的不同属性,各字段间用“:”分隔
|
|
- 所有用户都可以查看该文件的内容,但是口令密码使用×填充,不使用明文保存
- 用户 ID(UID)范围
- root:0
- 系统用户:1~999
- 普通用户:1000 开始
- 组 ID(GID): 用来表示用户所属的组
- 部分字段可以为空,但是必须用
:
分隔
shadow 文件
位置: /etc/shadow
作用:保存各用户账户的密码等信息
文件格式:每行定义一个用户账号,一行中又划分为多个字段定义 用户账号的不同属性,各字段间用“:”分隔
|
|
- 只有 root 有权限查看 shadow 文件
- 密文:若为
*
或!!
,表示账户未设置密码
- 密文:若为
组相关配置文件
组群账号信息文件 group
- 位置:/etc/group
- 作用:保存各用户账户的分组信息。
- 文件格式
|
|
root 组:GID 为 0;
系统组:安装 Linux 以及部分服务性程序时系统自动设置的组,GID 取值为 1 到 999.
私有组:由超级用户新建的组,GID>=1000
组群口令信息文件 gshadow
位置: /etc/gshadow
作用:用于定义用户组口令、组管理员等信息。
文件格式
|
|
- 其中组口令字段以
!
占位。
用户操作
useradd 命令
功能:新建用户账号
格式
|
|
选项
- -d home-dir:设置用户的宿主目录,默认为/home/username
- -e date:设置账号的过期日期,格式如:2020-10-30
- -g group-name:设定用户的所属组名
- -s shell-path:设定用户使用的 shell,默认/bin/bash
- -u uid:设定用户的 UID ,唯一且大于 1000
- -D username:用于显示用户所使用的默认值
例
|
|
passwd 命令
功能:设置或修改用户的口令,修改口令的属性
格式:passwd [选项] 用户名
选项
- -S username 用于查询指定用户的口令状态,仅 root 可用
- -l username 用于锁定指定用户的口令,仅 root 可用
- -u username 用于解锁指定用户的口令,仅 root 可用
- -d username 用于删除指定用户的口令,仅 root 可用
例
|
|
usermod 命令
功能:修改用户的属性 ,与 useradd 参数相同
格式:usermod [选项] 用户名
选项
- -c 全名:指定用户的全称
- -d 主目录:指定用户的主目录
- -e 有效期限:指定用户账号的有效期限
- -f 缓冲天数:指定口令过期后多久将关闭此账号
- -g 组群 ID 或组群名:指定用户所属的主要组群
- -G 组群 ID 或组群名:指定用户所属的附加组群
- -u 用户 ID:指定用户的 UID
- -l newusername username:改变已有用户名
- -L username:用于锁定指定的用户账户
- -U username:对已锁定的用户账号进行解锁
例
|
|
id 命令
功能:查看用户的 UID GID 和用户所属组群的信息。
- 如不指定,则显示当前用户的相关信息
格式
|
|
userdel 命令
- 功能:删除指定的用户账号
- 使用 r 参数,删除用户的同时删除用户所有相关的文件,包括宿主目录及用户的邮件池等。
- 格式
|
|
- 例
|
|
组群操作
groupadd 命令
- 功能:新建组群
- 格式
|
|
选项
- -g GID 指定新建组的 GID(>1000)
例
|
|
groupmod 命令
功能:修改指定组群的属性
格式
|
|
选项
- -g GID:指定新建组的 GID (>=1000)
- -n 新组名 原组名:指定组群的新名字
- -G 组群名 用户名:将用户添加到组群中
例
|
|
groupdel 命令
功能:删除指定的组群
格式:groupdel [选项] 组名
- 被删组群不是任何用户的主组群
- 要删除的组账户必须存在并且不能作为私有组被用户账号引用
例
|
|
gpasswd 命令
gpasswd
的全称是 “group password”,即组密码。这个命令用于管理 Linux 系统上的用户组密码,包括添加和删除组成员,设置组密码等操作。
功能:用于将指定用户添加到指定用户组或从组内删除
格式:gpasswd [选项] 用户名 组名
选项
- -a username groupname 将指定用户添加到指定用户组中
- -d username groupname 从组内删除用户
- -A username groupname 设指定用户为指定组的管理员
例
|
|
groups 命令
功能:查看一个用户的所属的所有组群
格式
|
|