用户管理:增useradd 删userdel 改usermod 查id
组的管理:增groupadd 删groupdel 改groupmod 查groups
/etc/default/useradd 即定义useradd默认参数,也定义了/etc/passwd ,/etc/shadow,/etc/group,/etc/gshadow配置文件写入什么默认信息。
/etc/login.defs定义了与/etc/passwd和/etc/shadow配套的用户限制设定
[root@localhost ~]# grep -v "^ *#" /etc/login.defs | grep -v ^$
[root@localhost ~]#vim /etc/login.defs
1.Linux 中的用户和组的分类
(1) 用户分类
①超级用户:root,拥有一切权限,uid=0
②系统用户 (伪用户):如 bin、daemon、adm、lp 等,是系统正常工作所需的,不能用于登录,1≤uid≤999
③普通用户:为使用者使用 Linux 系统资源而建,多数用户属于此类,uid>999
(2) 组分类
①基本组 (私有组):建立账户时,若未指定所属组,系统会创建与用户名相同的组
②附加组 (公有组):可容纳多个用户,组内用户拥有组的权利
一个用户只能在一个基本组,但可以在多个附加组
(3) 配置文件
①/etc/passwd:用户账户文件
passwd 是文本文件,用于定义系统的用户信息,所有用户都对 passwd 有读取权限,该文件中只定义用户账号,而不保存口令
每行定义一个用户账户信息,每行由 7 个字段组成,用:分隔
账户名称:密码:UID :GID : 个人资料:主目录:Shell
用户 ID 组标识
②/etc/shadow:用户密码文件
每行 9 个字段
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
③/etc/group:用户组账户文件
每个组一行记录,任何用户可读取,字段有
组名、组加密口令、GID、以逗号分隔的组成员
④/etc/gshadow:用户组密码文件
字段包括
用户组、用户组密码、用户组管理者、组成员
2. 用户管理
(1) 添加新用户 ——useradd
①命令格式:useradd [选项] <username>
②常用选项:-c(注释信息)
-d(家目录)
-e(失效日期)
③示例
▲新建一个用户 zhang3,查看 passwd、shadow 文件中的变化
useradd zhang3
grep zhang3 /etc/passwd
grep zhang3 /etc/shadow
▲新建一个用户 wang5,指定其 UID 为 1005,登录 shell 为 /bin/bash,账号永不过期
useradd -u 1005 -s /bin/bash -e -l wang5
▲新建一个用户 admin 为辅助管理员用户,将其用户家目录指定为 /ladmin,基本组指定为 wheel,附加组同时属于 adm 组和 root 组
useradd -d /admin -g wheel -G adm,root admin st3
▲新建一个用于访问 FTP 的 zhao6 用户,禁止其登录且不创建家目录
useradd -M -s /sbin/nologin zhao6
(2) 修改用户信息 ——usermod
①命令格式:usermod [选项] <username>
②常用选项:部分与 useradd 意义相同,
-l(更改用户名)
-L(锁定账户)
-U(解锁账户)
③示例
▲将用户 admin 的家目录移至 /home 目录下
usermod -d /home/admin -m admin
▲将用户 wang5 的名称修改为 wangwu,并暂时停用该账号
usermod wang5 -l wangwu -L
(3) 为用户账户设置密码 ——passwd
①命令格式:passwd [账号名]
②常用选项:
-d(清空口令)
-e(使密码立即过期)
-l(锁定账户)
③示例:
▲若当前用户为 root,请修改 root 用户密码,并为 zhang3 用户设置密码
echo 123 (密码) | passwd --stdin zhang3
(4) 删除用户账号 ——userdel
命令格式:userdel [-r] 账户名
(5) 用户间转换 ——su
①命令格式:su [用户名]
②su 和 su - 命令的区别:
加载的配置文件不一样
su:~/.bashrc, /etc/bashrc
su -:/etc/bashrc, /etc/profile, ~/.bashrc, ~/.bash_profile
(6) 控制用户对系统命令的使用权限 ——sudo
①sudo 执行流程:用户执行 sudo 时输入密码,系统在 /etc/sudoers 中查找权限,有权限则执行后续命令
②常用选项:sudo -l(列出可执行命令),
-u(指定身份执行)
③配置方式:
vim /etc/sudoers 或 visudo
root ALL=(ALL) ALL
ALL:是关键字,代表任何身份、主机或命令
3. 用户组管理
(1) 创建用户组 ——groupadd
①命令格式:groupadd [-r] 用户组名称
②常用选项:-g(指定组标识 GID)
-r(建立系统账号)
③示例
▲添加组 ID 为 1000,组名为 group1 的新组
groupadd -g 1000 group1
(2) 修改用户组属性 ——groupmod
①命令格式:groupmod 选项 用户组
②常用选项:-g(指定新 GID)
-n(修改组名)
③示例
▲将 group1 的 GID 修改为 2000,组名修改为 group11
groupmod -g 2000 -n group11 group1
(3) 添加 / 删除组成员 ——gpasswd
①命令格式:gpasswd [选项] [用户] [组]
!!! 只有 root 用户可用
②选项:
-x (删除组密码)
-a (添加新用户)
-d (删除用户)
-M (可同时添加多个用户)
-A (给组指派管理员)
③示例
▲将 zhang3、li4 加入 group11 中并指派 zhang3 为管理员
gpasswd -a zhang3 group11
gpasswd -a li4 group11
gpasswd -A zhang3 group11
(4) 删除组账户 ——groupdel
命令格式:groupdel 用户组名
❗❗❗若为基本组,需先删除引用该组的用户
4. 查询用户信息和组信息
①用户:id centos
②组:groups group11