# 本章练习
# 情景模拟题 1
将本服务的账户分开管理,
- 分为单纯邮件使用者:将该账户加入名为 mail 的初始群组,且此账户不可使用 bash 等 shell 登陆系统。
- 可登陆系统账户:将该账户加入 youcan 的次要群组
练习期望:
- 目标:了解
/sib/nologin
的用途 - 前提:可自行观察使用者是否已经建立等问题
- 需求:需了解 useradd、groupadd 等指令的用法
# 1. 检查两个群组是否存在,不存在则建立
grep mail /etc/group
grep youcan /etc/group
groupadd youcan
# 2. 创建邮件账户,可以准备脚本来处理
vim popuser.sh
#!/bin/bash
for username in pop1 pop2 pop3
do
# -g 初始群组; -s 指定 bash; -M 不要创建家目录
useradd -g mail -s /sbin/nologin -M $username
echo $username | passwd --stdin $username # 将密码设置为账户相同
done
sh popuser.sh
# 3. 建立一般账户,同样适用脚本创建
vim loginuser.sh
#!/bin/bash
for username in pop1 pop2 pop3
do
# -g 初始群组; -s 指定 bash; -M 不要创建家目录
useradd -G youcan -s /bin/login $username
echo $username | passwd --stdin $username # 将密码设置为账户相同
done
sh loginuser.sh
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 简答题部分
root 的 UID 与 GID 是多少?基于这个理由,让 test 这个账户具有 root 权限,怎么做?
都为 0,可以直接修改
/etc/passwd
中 test 账户的 UID 和 GID 字段变成 0如何将一个账户暂时停掉?让该账户无法登录?
由于是暂时失效,不能使用 userdel 来删除,有以下几种方式
- 将
/etc/passwd
的 shell 字段修改为/sbin/nologin
- 将
/ec/shadow
的密码字段,内容前增加一个 !,让密码失效 - 将
/etc/shadow
第 8 字段关于账户失效日期,设置为小于目前的日期数字
- 将
使用 useradd 时,新增账户里面的 UID、GID 还有其他相关的密码控制是哪几个文件配置的?
/etc/login.defs
/etc/default/useradd
在使用 useradd 时,预设情况中,他们家目录就含有一个名称为 www 的子目录,该怎么操作?
会以
/etc/skel
作为参考目录,可以在该目录下创建一个 www 的目录简单说明系统账户与一般账户的差别?
一般而言,为了让系统能够顺利以较小的权限运行,系统会有很多账户,例如 mail、bin、adm 等。为了确保这些账户能够在系统上面具有独一无二的的权限,一般来说 Linux 会保留一些 UID 给系统使用,在 CentOS 5.x 上,小于 500 以下的 UID 即是所谓的系统账户
简单说明,为何 CentOS 建立使用者时,会主动创建一个与账户同名的群组,而不是使用
/etc/default/useradd
的设置?不同的 distribution 对于使用者 group 的建立机制不同,主要机制分为两种:
- public group schemes:给予一个公用的群组,一般来说是 users;以 SUSe server9 为代表
- private group schemes:创建一个与账户同名的群组,以 CentOS 7.x 为例
如何创建一个使用者 alex,所属群组为 alexgroup,预计使用 csh,他的全名为 “Alex Tsai”,还需要加入 users 群组中
groupadd alexgroup # -g 初始组, -G 次要组,-m 建立家目录 useradd -c "Alex Tsai" -g alexgroup -G users -m alex # 务必先建立群组,才能够建立账户
1
2
3
4由于种种因素,导致你的用户家目录以后都需要放置到
/account
目录下,该如何配置,让 useradd 时,默认的家目录指向/account
?最简单的办法是编辑
/etc/default/useradd
,将HOME=/home 改为 /account
要让 dmtsai 使用者,加入 mrcode1、mrcode2、mrcode3 三个群组,且不影响 dmtsai 原本已经支持的次要群组时,需要怎么操作?
# -a 增加,-G 次要群组,合用就是增加次要群组 usermod -a -G mrcode1,mrcode2,mrcode3
1
2