5.2 用户与组管理命令
目录
Linux 用户与组管理命令

本节我们将详细讲解用户与组管理的相关命令,包括以下内容:
- 用户的管理
- 用户组的管理
1. 用户组管理
groupadd
groupadd [选项] group_name
- 作用: 创建新组
- 选项:
-g GID:指定GID;默认是上一个组的GID+1;-r: 创建系统组;
groupmod
groupmod [选项] GROUP
- 作用: 修改组属性
- 参数:
GROUP指定要修改的组的组名 - 选项:
-g GID:修改GID;-n new_name:修改组名;
groupdel
groupdel [选项] GROUP
- 作用: 删除组
gpasswd命令:
gpasswd [选项] group
- 组密码文件:/etc/gshadow
- 作用: 设置组密码或向组添加或删除用户
- 选项:
-a USERNAME:向组中添加用户-d USERNAME:从组中移除用户
2. 用户管理
Linux 与用户相关的配置文件如下:
/etc/passwd: 保存用户及属性信息/etc/group: 组及其属性信息/etc/shadow: 用户密码及相关属性/etc/gshaow: 组密码及相关属性/etc/login.defs: 用户创建和设置规则的配置/etc/skel: 用户家目录的默认包含的文件/etc/default/useradd: 用户创建的默认值配置/etc/shells: 系统包含的所有shells
useradd
useradd -D:
- 作用: 显示创建用户的默认配置;
useradd -D 选项:
- 作用:
- 修改创建用户选项的默认值;
- 修改的结果保存于
/etc/default/useradd文件中;
- 选项:
s: 设置默认 shell
useradd [选项] 登录名
- 作用: 创建新用户
- 选项:
-u, --uid UID:指定UID;-g, --gid GROUP:指定基本组ID,此组得事先存在;-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;-c, --comment COMMENT:指明注释信息;-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;-M: 不为用户创建主目录-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;-r, --system:创建系统用户;
- 注意:创建用户时的诸多默认设定配置文件为/
etc/login.defs
usermod命令
usermod [选项] 登录名
- 作用: 修改用户属性
- 选项:
-u, --uid UID:修改用户的ID为此处指定的新UID;-g, --gid GROUP:修改用户所属的基本组;-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;-a, --append:与-G一同使用,用于为用户追加新的附加组;-c, --comment COMMENT:修改注释信息;-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;-l, --login NEW_LOGIN:修改用户名;-s, --shell SHELL:修改用户的默认shell;-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";-U, --unlock:解锁用户的密码;
userdel命令
userdel [选项] 登录
- 作用:删除用户
- 选项:
-r:删除用户时一并删除其家目录;
passwd
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
- 作用:
passwd:修改用户自己的密码;passwd USERNAME:修改指定用户的密码,但仅root有此权限;
- 选项:
-l, -u:锁定和解锁用户;-d:清除用户密码串;-e DATE: expire 过期期限,日期;-i DAYS:inactive 非活动期限;-n DAYS:minimum 密码的最短使用期限;-x DAYS:maximum 密码的最长使用期限;-w DAYS:warning 警告期限;--stdin:echo "PASSWORD" | passwd --stdin USERNAME
newgrp命令
newgrp [-] [group]
- 作用: 临时切换指定的组为基本组;
- 选项:
-: 会模拟用户重新登录以实现重新初始化其工作环境;
- 附注: 如果用户不属于切换的目标组,则需要输入目标组组密码
chage
chage [选项] 登录名
- 作用: 更改用户密码过期信息
- 选项:
-d, --lastday DAYS: 修改最近一次更改时间-E, --exporedate DATE: 过期期限-W:-m:-M:
id
id [OPTION]... [USER]
- 作用: 显示用户的真和有效ID;
- 选项:
-u: 仅显示有效的UID;-g: 仅显示用户的基本组ID;-G: 仅显示用户所属的所有组的ID;-n: 显示名字而非ID;
- eg:
id docker
|
|
3. 用户切换
su
su
- 用法:
su -l USERNAME|su - USERNAME: 登录式切换, 会通过读取目标用户的配置文件来重新初始化su USERNAME: 非登录式切换:不会读取目标用户的配置文件进行初始化
- 注意:管理员可无密码切换至其它任何用户;
- 选项:
-c "COMMAND":仅以指定用户的身份运行此处指定的命令;