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"
:仅以指定用户的身份运行此处指定的命令;