Linux进阶练习与回顾
本文是当时学习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 | ~$ vim /etc/httpd/conf/httpd.conf |
练习8 HTTP服务器访问控制
从 http://server.xintq.net/restricted.html 下载文件,能被本地用户harson通过路径 http://mail.domain13.xintq.net/restricted/ 访问到,但是不可以被 remote.test 访问到。
参考解答
1 | ~$ cd /www/virtual/ |
练习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挂载
...