文章目录
  1. 1. 环境
  2. 2. 练习1 SELINUX
    1. 2.1. 参考解答
  3. 3. 练习2 IP转发
    1. 3.1. 参考解答
  4. 4. 练习3 SSH访问控制
    1. 4.1. 参考解答
  5. 5. 练习4 ftp访问控制
    1. 5.1. 参考解答
  6. 6. 练习5 挂载ISO镜像
    1. 6.1. 参考解答
  7. 7. 练习6 配置HTTP服务器
    1. 7.1. 参考解答
  8. 8. 练习7 HTTP服务器虚拟主机
    1. 8.1. 参考解答
  9. 9. 练习8 HTTP服务器访问控制
  10. 10. 参考解答
  11. 11. 练习9 NFS配置
    1. 11.1. 参考解答
  12. 12. 练习10 配置SAMAB服务
    1. 12.1. 参考解答
  13. 13. 练习11 邮件服务器
    1. 13.1. 参考解答
  14. 14. 练习12 邮件测试
    1. 14.1. 参考解答
  15. 15. 练习13 内核参数
    1. 15.1. 参考解答
  16. 16. 练习14 CRON访问控制
    1. 16.1. 参考解答
  17. 17. 练习15 SHELL编程
    1. 17.1. 参考解答
  18. 18. 练习16 ISCSI配置
    1. 18.1. 参考解答

本文是当时学习RHCE时总结的一些练习资料,涵盖了很多进阶的东西,整理了一下,顺便也回顾一下以前学过的东西。

注意: 本文中出现的网址和ip都是实验环境下的配置,请不要直接使用(当然,你也用不了)。

环境

  • domainX.xintq.net 域是 192.168.0.0/24 网络
  • remote.test 域是 192.168.1.0/24 网络
  • 我的IP是 192.168.0.113

练习1 SELINUX

在RHEL中,默认状态下SELINUX是开启的。将SELINUX状态设置为 enforcing状态。

参考解答

~$ vim /etc/sysconfig/selinux
SELINUX=enforcing
...
~$ setenforce 1
~$ getenforce

练习2 IP转发

将ip_forward功能打开,并设置为永久有效。

参考解答

~$ vim /etc/sysctl.conf
~$ sysctl -p
~$ iptables -F
~$ service iptables save

练习3 SSH访问控制

配置SSH允许harson用户访问,拒绝以下域访问。

remote.test (192.168.1.0/24)

参考解答

~$ vim /etc/hosts.deny
sshd: 192.168.1.0/255.255.255.0

练习4 ftp访问控制

配置ftp允许匿名从 /var/ftp/pub目录中下载,拒绝 remote.test域访问。

参考解答

~$ chkconfig vsftpd on
~$ service vsftpd start
~$ vim /etc/hosts.deny
vsftpd: 192.168.1.0/255.255.255.0

练习5 挂载ISO镜像

将/root/cdrom.iso挂载到/opt/data下,并设置为开机自动挂载。

参考解答

~$ mkdir -p /opt/data
~$ vim /etc/fstab
/root/cdrom.iso    /opt/data    iso9660 loop 0 0
...    
~$ mount -a

练习6 配置HTTP服务器

配置WEB服务器,能被 http://mail.domain13.xintq.net 访问到。
页面从 http://server.xintq.net/example.html 下载。

参考解答

省略。

练习7 HTTP服务器虚拟主机

配置WEB服务器,实现虚拟主机:

http://server13.domain13.xintq.net

能访问到/www/virtual目录下的页面,页面可以从

http://server.xintq.net/server.html

下载,并保证 http://mail.domain13.xintq.net 能同样被访问到。

参考解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
~$ vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName mail.domain13.xintq.net
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/virtual
ServerName server13.domain13.xintq.net
</VirtualHost>
...
~$ mkdir -p /www/virtual
~$ cd /www/virtual
~$ wget http://server.xintq.net/server.html -O index.html
~$ service httpd restart
~$ chcon --reference=/var/www/html /www/ -R
~$ service httpd restart

练习8 HTTP服务器访问控制

http://server.xintq.net/restricted.html 下载文件,能被本地用户harson通过路径 http://mail.domain13.xintq.net/restricted/ 访问到,但是不可以被 remote.test 访问到。

参考解答

1
2
3
4
5
6
7
8
9
10
11
12
13
~$ cd /www/virtual/
~$ mkdir restricted
~$ wget http://server.xintq.net/restricted.html
~$ mv restricted.html restricted/index.html
~$ vim /etc/httpd/httpd.config
<VirtualHost *:80>
ServerName mail.domain13.xintq.net
<Directory "/www/virtual/restriced">
order allow,deny
deny remote.test
</Directory>
</VirtualHost>
```language

练习9 NFS配置

配置nfs服务器,将 /common 目录共享给 domain13.xintq.net 域,并允许客户端以 root 用户访问时,也拥有 root 用户的权限。

参考解答

~$ mkdir -p /common
~$ chkconfig nfs on
~$ vim /etc/exports
/common 192.168.0.0/255.255.255.0(no root squash,rw)
...
~$ service nfs restart

练习10 配置SAMAB服务

配置samba服务器,将 /common 共享被浏览到,共享名称为:share。
拒绝 remote.test域访问,用户 harson 对此共享只读,如果需要,harson用户的密码为 harsonuser。

参考解答

工作组是STAFF。

~$ vim /etc/samba/smb.conf
...
workgroup = STAFF
...
[share]
...
~$ chcon -t samba_share_t /common

练习11 邮件服务器

配置一台 domain13.xintq.net域的邮件服务器,要求可以在服务器本地或者通过harson用户从网络上连接到服务器收发邮件。

harson用户的邮箱是 /var/spool/mail/harson。

注意DNS服务器已经帮你做好了MX记录的解析。

参考解答

~$ vim /etc/postfix/mail.cf
...
inet_interface=all
...
mydestination=...,domain13.xintq.net
...
~$ sercice postfix restart

练习12 邮件测试

连接到邮件服务器,给admin发邮件,这份邮件可以被harson用户接收到。

参考解答

~$ vim /etc/alias
...
admin: harson,root
...
~$ service postfix restart

练习13 内核参数

配置内核参数 max_loop为32,并要求可以通过 /proc/cmdline验证到内核参数。

参考解答

~$ vim /etc/grub.conf
...
kernel /vmlinuz ... max_loop=32
...

练习14 CRON访问控制

配置cron不允许tommy用户使用。

参考解答

~$ vim /etc/cron.deny
...
tommy
...

练习15 SHELL编程

写一个脚本 /root/program,要求当给脚本输入参数 kernel 时,脚本返回 user;给脚本输入参数 user 时,脚本返回 kernel;脚本没有参数或者参数指定错误时,从辩证错误输出打印:

usage: /root/program kernel|user

参考解答

参考 /ect/init.d/vsftpd 这个脚本。

练习16 ISCSI配置

访问 iscsi 共享存储,存储服务器的地址是:server.xintq.net,分出 20MB 空间,格式化成ext3文件系统,挂载到 /mnt/iscsi 下,并实现开机自动挂载。

参考解答

~$ yum iscsi-initiator-utils
~$ man iscsiadm
...找到 EXAMPLE 所在的地方...
...
用fdisk进行分区
mkfs.ext3 格式化
blkid /dev/sda1 # 查看uuid
~$ vim /etc/fstab
...
UUID="XXXXXXXXX"    /mnt/iscsi    ext3 _netdev 0 0
#一定要用UUID挂载
...
文章目录
  1. 1. 环境
  2. 2. 练习1 SELINUX
    1. 2.1. 参考解答
  3. 3. 练习2 IP转发
    1. 3.1. 参考解答
  4. 4. 练习3 SSH访问控制
    1. 4.1. 参考解答
  5. 5. 练习4 ftp访问控制
    1. 5.1. 参考解答
  6. 6. 练习5 挂载ISO镜像
    1. 6.1. 参考解答
  7. 7. 练习6 配置HTTP服务器
    1. 7.1. 参考解答
  8. 8. 练习7 HTTP服务器虚拟主机
    1. 8.1. 参考解答
  9. 9. 练习8 HTTP服务器访问控制
  10. 10. 参考解答
  11. 11. 练习9 NFS配置
    1. 11.1. 参考解答
  12. 12. 练习10 配置SAMAB服务
    1. 12.1. 参考解答
  13. 13. 练习11 邮件服务器
    1. 13.1. 参考解答
  14. 14. 练习12 邮件测试
    1. 14.1. 参考解答
  15. 15. 练习13 内核参数
    1. 15.1. 参考解答
  16. 16. 练习14 CRON访问控制
    1. 16.1. 参考解答
  17. 17. 练习15 SHELL编程
    1. 17.1. 参考解答
  18. 18. 练习16 ISCSI配置
    1. 18.1. 参考解答