Chapter15 - 系统管理二总复习
一、系统应借助以下设置业验证使用 LDAP 和 Kerberos 的用户身份:
名称 | 值 |
---|---|
LDAP 服务器 | classroom.example.com |
搜索基础 | dc=example,dc=com |
使用 TLS | 是 |
TLS CA 证书 | http://classroom.example.com/pub/example-ca.crt |
Kerberos 域 | EXAMPLE.COM |
Kerberos KDC | classroom.example.com |
Kerberos 管理服务器 | classroom.example.com |
为了进行测试,可用用户ldapuserX
,密码为kerberos
- 安装
authconfig-gtk
,sssd
软件包
[student@desktop0 Desktop]$ sudo yum install -y authconfig-gtk sssd
- 运行
authconfig-gtk
,并输入提供的信息,请不要忘记取消选中使用 DNS 查找域的KDC
选项
[student@desktop0 Desktop]$ sudo authconfig-gtk

二、LDAP 用户的主目录应当在访问时自动挂载。这些主目录是由NFS 共享 classroom.example.com:/home/guests
提供的
- 安装
autofs
软件包
[student@desktop0 Desktop]$ sudo yum install autofs -y
- 创建包含以下内容的新文件
/etc/auto.master.d/guests.autofs
/home/guests /etc/auto.guests
- 创建包含以下内容的新文件
/etc/auto.guests
* -rw,sync classroom.example.com:/home/guests/&
- 启用并启动
autofs.service
服务
[student@desktop0 Desktop]$sudo systemctl enable autofs.service
[student@desktop0 Desktop]$sudo systemctl start autofs.service
三、server0
会导出 CIFS
共享,westeros
。该共享应当在启动时自动挂载到挂载点 /mnt/westeros
。要挂载该共享,您需要使用用户名 tyrion
密码 slapjoffreyslap
。该密码不应存储在非特权用户只可以读取的任何位置。
- 安装
cifs-utils
软件包
[student@desktop0 Desktop]$ sudo yum install cifs-utils -y
- 创建挂载点
[student@desktop0 Desktop]$sudo mkdir -p /mnt/westeros
- 创建包含以下内容的凭据文件,
/root/tyrion.creds
,然后将该文件的权限设置为:0600
username=tyrion
password=slapjoffryslap
[student@desktop0 Desktop]$sudo chmod 0600 /root/tyrion.creds
- 将以下行添加到
/etc/fstab
:
//server0.example.com/westeros /mnt/westeros cifs creds=/root/tyrion.creds 0 0
- 挂载所有文件系统,然后检查挂载的文件系统。
[student@desktop0 Desktop]$sudo mount -a
[student@desktop0 Desktop]$cat /mnt/westeros/README.txt
四、server0
会导出 NFSv4
共享 /essos
。需要使用 Kerberos
身份验证、加密和完整性检查来在启动时将该共享以只读写形式挂载到 /mnt/essos
。
可以从 http://classroom.example.com/pub/keytabs/desktop0.keytab 下载系统的keytab
- 创建挂载点
[student@desktop0 Desktop]$sudo mkdir -p /mnt/essos
- 下载系统的
keytab
[student@desktop0 Desktop]$sudo wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab
- 将以下行添加到
/etc/fstab
:
[student@desktop0 Desktop]$server0.example.com:/essos /mnt/essos nfs sec=kerb5p,rw 0 0
- 启动并启用
nfs-secure.service
服务
[student@desktop0 Desktop]$sudo systemctl enable nfs-secure.service
[student@desktop0 Desktop]$sudo systemctl start nfs-secure.service
- 挂载所有文件系统
[student@desktop0 Desktop]$sudo mount -a
五、在新的 2G 卷组stark
中配置新 512M 逻辑卷 arya
。
新逻辑卷应使用 xfs 文件系统进行格式化,并永久挂载到 /mnt/underfoot
- 在第二块磁盘上创建 2G 的分区

- 将新分区变为物理卷
[student@desktop0 Desktop]$sudo pvcreate /dev/sdb1
- 使用新物理卷构建新卷组
[student@desktop0 Desktop]$sudo vgcreate stark /dev/sdb1
- 在新卷组中创建 512M 的新逻辑卷
[student@desktop0 Desktop]$sudo lvcreate -n arya -L 512M stark
- 使用
xfs
文件系统对新LV
进行格式化
[student@desktop0 Desktop]$ sudo mkfs -t xfs /dev/mapper/stark-arya
- 创建挂载点
[student@desktop0 Desktop]$sudo mkdir -p /mnt/underfoot
- 将以下行添加到
/etc/fstab
/dev/mapper/stark-arya /mnt/underfoot xfs defaults 1 2
- 挂载所有文件系统
[student@desktop0 Desktop]$sudo mount -a
六、系统应该配备新的 512 M 交换分区,并在启动时自动激活。
- 第二块磁盘上创建 512 M 的新分区,然后将该分区类型设置为
82

2.将新分区格式化成交换分区
[student@desktop0 Desktop]$sudo mkswap /dev/sdb2
- 检索UUID 中的交换分区
[student@desktop0 Desktop]$sudo blkid /dev/sdb2
- 向
/etc/fstab
添加以下行;确保使用上一步找到的UUID,假设为UUID=dfce28a9-015d-4908-8206-840920260310
UUID=dfce28a9-015d-4908-8206-840920260310 swap swap defaults 0 0
- 激活所有交换分区
[student@desktop0 Desktop]$sudo swapon -a
七:创建新组kings
,以及四个属于该组的新用户: stannis
,joffery
,renly
和robb
。
- 创建
kings
组
[student@desktop0 Desktop]$sudo groupadd kings
- 创建四个用户,并将他们添加到
kings
组
[student@desktop0 Desktop]$for NEWUSER in stannis joffrey renly robb; do
>sudo useradd -G kings ${NEWUSER}
>done
八、创建新目录 /ironthrone
该目录由拥有权限 0700
的 root:root
所有。
配置该目录,以便 kings
组中的用户拥有该目录的读写权限,但用户 joffrey
除外,该用仅被授予读取特权。
这些限制还应当应用到 /ironthrone
目录下创建的所有新文件和目录。
- 创建权限正常的目录
[student@desktop0 Desktop]$sudo mkdir -m 0700 /ironthone
- 在
/ironthone
中添加 ACL ,从而向kings
组中的用户授予读写特权。请不忘记添加执行权限,因为这是一个目录。
[student@desktop0 Desktop]$sudo setfacl -m g:kings:rwX /ironthone
- 为用户
joffrey
添加ACL ,使其拥有只读和执行权限
[student@desktop0 Desktop]$sudo setfacl -m u:joffrey:r-x /ironthone
- 也添加前两个 ACL 作为默认 ACL
[student@desktop0 Desktop]$sudo setfacl -m d:g:kings:rwx /ironthone
[student@desktop0 Desktop]$sudo setfacl -m d:u:joffrey:r-x /ironthone
九、安装 httpd
和 mod_ssl
软件包,然后启用并启动 httpd.service
服务
- 安装
httpd
和mod_ssl
软件包
[student@desktop0 Desktop]$sudo yum install httpd mod_ssl -y
- 启动并启用
httpd.service
服务
[student@desktop0 Desktop]$sudo systemctl enable httpd
[student@desktop0 Desktop]$sudo systemctl start httpd
十、在系统上所有行防火墙的默认区域打开端口12345/tcp
- 在防火墙默认区域永久配置中打开端口
12345/tcp
[student@desktop0 Desktop]$sudo firewall-cmd --permanent --add-port=12345/tcp
- 重新加载防火墙以激活更改
[student@desktop0 Desktop]$sudo firewall-cmd --reload
十一、创建新目录 /docroot
。确保该目录的 SELinux 上下文设置为 Public_content_t
,并且该上下文在重新标记操作后继续生效
- 创建
/docroot
目录
[student@desktop0 Desktop]$sudo mkdir /docroot
- 为
/docroot
目录及其所有子目录添加新的默认上下文
[student@desktop0 Desktop]$sudo semanage fcontext -a -t public_content_t '/docroot(/.*)?'
- 重新标记
/docroot
目录
[student@desktop0 Desktop]$sudo restorecon -RvF /docroot
十二、http://server0.example.com/logfile 包含最近项目的日志。下载该文件,然后将所有以ERROR
或 FAIL
结尾的行提取到文件 /home/student/errors.txt
,所有行都应按日志文件中显示的顺序排列。
- 下载文件
[student@desktop0 Desktop]$wget http://server0.example.com/logfile
- 将以
ERROR
和FAIL
结尾的第一行提取到文件/home/student/errors.txt
中,同时保持行顺序不变
[student@desktop0 Desktop]$grep -e "ERROR$" -e "FAIL$" logfile > /home/student/errors.txt
十三、系统中应该有一个用于存储临时文件 /run/veryveryvolatile
的新目录。每当运行 systemd-tmpfiles –clean
时,任何超过 5秒的文件都应该从该目录中删除。
该目录应该拥有权限 1777
并由 root:root 所有。
- 创建包含以下内容的新文件
/etc/tmpfiles.d/veryveryvolatile.conf
:
d /run/veryveryvolatile 1777 root root 5s
- 使用
systemd-tmpfiles
创建目录。
[student@desktop0 Desktop]$sudo systemd-tmpfiles --create