Red Hat Linux - RHCE部分模拟试题 //答案不保正确//

RHCE部分--Red Hat Certificate Engineer ( 接RHCT部分继续解答)
阅读说明:  //后的文字为注解  ;   #为root权限下命令行 ;  蓝色字体为答案  ;  未有任何标识并且单独一行的蓝色文字表示进入配置文件后需要添加或修改的容  ; 任何中文字都是说明或者是解题方法 ;

一 搭建FTP服务,要求 ,student1和student2登录ftp后,只能在自己的家目录下,student3不能登录ftp,不允许从192.168.0.0/24以外的其它地方登录
# rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm                             //安装VSFTP包
# vim /etc/vsftpd/vsftpd.conf +94                                     //进入第94行的配置文件内
chroot_list_enable=YES    
#(default follows)                                                              //这里的#号不表示命令行
chroot_list_file=/etc/vsftpd/chroot_list
# vim /etc/vsftpd/chroot_list                                                
student1
student2
# vim /etc/vsftpd/ftpusers
student3
#vim /etc/hosts.deny
vsftpd: ALL
# vim /etc/hosts.allow
vsftpd: 192.168.0. / 255.255.255.0
# /etc/init.d/vsftpd restart                                                //别忘记重启服务
# getsebool -a | grep ftp                                                 //查看FTP里的BOOLEAN值
# setsebool -P ftp_home_dir on         // 将ftp_home_dir的 BOOLEAN值设置为ON,保证客户端FTP登录时不会被SELINUX给拦截掉
# chkconfig vsftpd on                                             //别忘记将VSFTPD这个服务设置成开机自启
以上设置完成后,可以用# lftp 192.168.0.X -u student1  来测试题目中的要求时候已经全部满足.

二 配置 samba 服务,共享出 /home/sharefile 目录,要求只有 192.168.0.0/24 192.168.1.0/24 127.0.0.1 可以访问,共享出的名字是 [sharefile], 用户不能查看到,只有 student 组才有写的权限,同时,要把 student 组里的每个用户的家目录也要共享出来,同时设置 Netbios name=GUEST200X
# rpm -ivh samba-3.0.25b-0.el5.4.i386.rpm 或者也可以用#yum install samba-3.025b                 
# service smb restart                      //启动samba 服务
# chkconfig smb on                         //设置自动启动samba 服务
# mkdir /home/sharefile                             
# chown root:student  /home/sharefile                   
# chmod 3777 /home/share                             //改变sharefile 的使用权限,给予sgid和sticky权限
# smbpasswd -a student1                       //给student1 添加PASSWD
# vim /etc/samba/smb.conf                    //进入配置文件
(goble部分就修改下面三个)
workgroup =WORKGROUP                  //如果没有特别要求,建议修改成WINDOWS系统的默认组名WORKGROUP
netbios name = GUEST200X
hosts allow = 127. 192.168.0. 192.168.1.
(===share definition 部分====)
[home]                                                    //家目录一般为默认共享
comment = Home Directories
browseable = no                                  //不能查看到                                    
writable = no                                         //不允许写(可依照需要设定)
[sharefile]
        comment = yangbang
        path = /home/sharefile                //共享文件夹的路径
        public = no                                    //不能匿名登录
browseable = no
        writable = no
        write list = @student                   //表示这个组里的用户都符合
        valid users = @student
# /etc/init.d/smb restart                        //重启服务
# smbclient -L 192.168.0.X -N                 // 测试查看共享情况(browseable = yes才能看到)
# getsebool -a | grep samba                        //查看samba里的BOOLEAN值
# setsebool -P samba_enable_home_dirs on             //修改可以登录家目录的selinux 权限
(SELINUX的BOOLEAN值修改后,还是不能登录,然后还需文件目录的selinux属性)
# chcon -t samba_share_t /home/*                                //改变文件目录的selinux安全上下文的属性,此处可以用#ll -Z /home 来查看
# chcon -t samba_share_t /home/                                //改变文件目录的selinux安全上下文的属性
# chcon -t samba_share_t /home/share/* //改变文件目录的selinux安全上下文的属性
# smbclient //192.168.1.107/student1 -U student1  或  #smbclient //192.168.1.107/sharefile -U student1%password          //进行测试
三 搭建 web server 站点的名字: stationX.example.com, 192.168.0.254:/var/ftp/pub 目录下下载 webdoc.gz, 解压后挂载到你的站点的的 DocumentRoot 下,就能看到一个 index.html ,保证能默认访问到此网页
# rpm -qa | grep httpd                    //先检查有未安装HTTPD包
# rpm -ivh /mnt/Server/httpd-2.xxxxx        
(此httpd包系统默认不安装,安装时有提示依赖关系,请按照下列对应来安装依赖包)
    // libpq.so.4的包属于:postgresql-libs-32bit-8.1.9-2.1.x86_64.rpm
    // libaprutil-1.so.0包属于:apr-util-1.2.7-2.i386
    // libapr-1.so 包属于:apr-1……
# /etc/init.d/httpd    start                   //全部安装完成后启动APACH服务
# chkconfig httpd on                        //设置开机自启
# mkdir /web
# cp webdoc.gz /web
# cd /web
# gunzip webdoc.gz                        //解压.gz压缩包
# mount -o loop /web/webdoc /var/www/html/
# chcon -t httpd_sys_content_t /var/www/html/index.html        //调整SELINUX的文件安全上下文,否则将出现access denies.
# chcon -t httpd_sys_content_t /var/www/html/                        //调整SELINUX的文件安全上下文
# vim /etc/rc.local  //设置开机运行的命令
 mount -o loop /web/webdoc /var/www/html/    //需要知道的是,mount命令设计SELINUX安全问题,开机启动加载时为因权限问题而拒绝执行.    
# /etc/init.d/httpd    restart
因为没有DNS解析服务,所以要在/etc/hosts 文件下定义 "192.168.1.X    stationX.example.com "来达到IP地址解析的目的
定义完成后就可以在浏览器里输入"stationX.example.com"来测试之前的设定是否生效.

四 搭建 sendmail, 要求,
# rpm -qa | grep sendmail                //一般系统默认安装
# rpm -qa | grep sendmail-cf-......    //但还需要安装CF,因为需要M4聚合工具来进行编译
# chkconfig --list | grep sendmail    
# chkconfig sendmail on
1 要能接受从远程和本地发过来的邮件
2 tudou 这个用户要能接收到从远程发过来的邮件
# vim /etc/mail/sendmail.mc            //进入配置文件
DAEMON_OPTIONS('port=smtp,Addr=0.0.0.0, Name=MTA')dnl             //修改第116行,将127.0.0.1改成0.0.0.0
LOCAL_DOMAIN('example.com')dnl                                    //修改第155行,将local.domain改成example.com
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf            //M4的聚集编译,将.MC文件里的内容编译到.CF中,因为.CF才是真正的配置文件。 
# /etc/init.d/sendmail restart
# vim /etc/hosts                 //因为没有DNS服务,所以需要在/etc/hosts文件中做对应                  
192.168.0.x        example.com
# netstat -tupln | grep 25                        // 查看本机25端口的情况
(以上配置完成后,就可以了,接下来是如何做测试)
# sendmail -d0                                       //查看服务器所识别的主机名
# telnet 192.168.0.x 25                        //在客户端通过25端口TELNET登入邮件服务器
HELO   myexample                                                    //HELO表示TCP三次握手,myexample表示服务器名(此行不输也没关系)
MAIL From : [email protected]             //发件者
RCPT To : [email protected]                 //收件者
DATA                                                                            //邮件内容开启命令
This is a test!                                                                //邮件内容    
.                                                                                       //"小点"表示输入结束
quit                                                                                  //结束退出
然后再切换到服务器上使用#su - todd; $mail来查看
3 发给 tudou,kevin,student1 必须也能收到
在邮件服务器上编辑# vim /etc/alias文件
# vim /etc/alias
tudou:        tudou,kevin,student1                //增加这么一行
# newaliases                            //重新执行这个命令来刷新当前配置

五 搭建 sendmail 服务
1
要求打开 pop3s,pop3,imap,imaps 功能,且要做为 dovecot 生成的 private key 和测试的证书
证书的内容要按照下面的要求生成
设置 Common Name stationX.example.com,
设置 Email Address [email protected]
# yum install dovecot            //YUM安装dovecot
(如果用RPM安装,有mysql和perl-DBI两个依赖包)
# cd /etc/pki/tls/certs           
# make dovecot.pem                //生成dovecot.pem的public key和private key
按照提示填写
Common Name (eg, your name or your server's hostname) []:stationX.example.com
Email Address []:[email protected]
cp /etc/pki/tls/certs/dovecot.pem  /etc/pki/dovecot/certs/       //复制公钥证书到指定目录
cp /etc/pki/tls/certs/dovecot.pem  /etc/pki/dovecot/private    //复制私钥证书到指定目录
# vim /etc/dovecot.conf            //进入配置文件
protocaols = imap imaps pop3 pop3s             //去掉注释大概在17行
ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem            //指定public key的路径 ,大概在第87行
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem           //指定private key的路径,约88行
# /etc/init.d/dovecot restart
# chkconfig dovecot on
六 搭建ssh服务,不允许kevin远程登录,也不允许从example.com和cracker.org以外的其它地方登录
(如何查看SSHD服务,和安装SSHD服务这里就不说了,一般RHEL默认安装)
# vim /etc/ssh/sshd_config
Denyusers   kevin                            //在配置文件中添加一行参数
# /etc/init.d/sshd restart
# vim /etc/hosts.deny
sshd : ALL
# vim /etc/hosts.all
sshd : 192.168.0.  /  255.255.255.0   192.168.1.  / 255.255.255.0

七 配置 squid, 监听 8080 端口,只允许 example.com 这个域可以使用你这个代理
# rpm -ivh /mnt/Server/squid-STABLE......
# vim /etc/squid/squid.conf //大概在73行
 http_port 8080            
 acl example.com src 192.168.0.0/255.255.255.0            //大概在2523行
 http_access allow example.com                                        //大概在2524行
# chkconfig squid on
# service squid restart  (也可以用#squid -k reconfigure来重新生效,无需重启服务)
# netstat -tupln | grep 8080                        // 查看本机8080端口的情况

八 配置NIS服务器(192.168.0.254),并在客户端ATUOFS /nishome目录.
服务器端:
# rpm -qa | grep yp                        //查看相关的包多安装了没,需要ypserv,portmap,ypbind,yp-tools包
# rpm -ivh /mnt/Server/ypserv-........                //一般RHEL5.2就需要另外安装ypserv就行了
# /etc/init.d/ypserv start
# chkconfig ypserv on
# vim /etc/sysconfig/network
NISDOMAIN=yangbang
# nisdomainname yangbang                    //写入内存,这样就不需要重启生效了
# /etc/init.d/portmap restart
# chkconfig portmap on
# rpm -qa | grep make                                //确保make包已安装,一般系统默认安装
# mkdir /nishome                                        //为了和客户端家目录区分,这里给NIS服务的家目录另取一个名字
#useradd tom -d /nishome/tom                //在/nishome目录下创建tom用户.
# /usr/lib/yp/ypinit -m                                //生成NIS数据库(MAPS)
(这里注意的是,如果你新建了NIS服务器的用户,新建完一次,必须重新生成一遍NIS数据库,否则客户端还是无法使用新建的用户来进行NIS服务的验证;或者可以在/var/yp目录下执行make来更新数据库)
这里不需要添加任何主机,直接按CTRL - D
# /etc/init.d/yppasswdd                            //启动NIS password 升级进程
(完成上面步骤后再把YPSERV,PORTMAP,YPPASSWDD服务都重启一遍即可)
# ps auxf | grep yp                                    //查看进程,确定服务工作正常
# vim /etc/exports                                    //进入NFS共享配置文件
/nishome            192.168.1.0/24(rw,sync)
# exportfs -rv
# service nfs restart
客户端:
# rpm -qa | grep yp                        //查看相关的包多安装了没,需要portmap,ypbind,yp-tools包
# /etc/init.d/portmap restart
# chkconfig portmap on
# chkconfig ypbind on
# rpcinfo -p 192.168.0.254         //查看NIS服务器上的portmap服务
# authconfig-tui                            //进入图形化操作界面
在左边(客户端)选择"Use NIS",然后"Next" ,在 "Domain:" 指定你的NIS域名,在 " Server: "指定你的NIS服务器IP地址,完成后SAVE
接着系统会自行启动相关服务.
#yptest                                        //用户测试你的NIS服务器
(这样客户端的配置就完成了,可以在客户端#su - tom来进行登录验证测试,注意此时虽然能登录,但命令的提示符显示为-bash-3.2$,这是因为NIS服务器的/nishome目录还没有挂载到客户端而导致的)
(这里我们使用AUTOFS来进行挂载配置)
# rpm -qa | grep autofs                //查看AUTOFS包有没安装,一般为默认安装.
# /etc/init.d/autofs restart
# chkconfig autofs on
#mkdir /nishome                        //在客户端也创建一个名为nishome的目录,用于与NIS服务器的nishome目录挂载
# vim /etc/auto.master
/nishome             /etc/auto.misc
# vim /etc/auto.misc
tom        -rw,soft,intr            192.168.0.254:/nishome/tom
# service autofs restart
# mount                                    //查看当前挂载情况,因该/nishome还没挂载上
#su - tom                                //发现命令行正常了,用pwd查看可以发现当前目录为/nishome/tom
# exit
# mount                                    //发现/nishome自动挂载上啦
# ll /nishome                            //可以发现有tom目录,挂载取消后,该tom目录将消失,因该那时看到的只是本地的nishome目录
(默认的autofs超时是300秒,也就是说300秒后相关目录没有任何动作,系统将自动取消挂载,直到等到下一次触发)

本文出自 “青之舞雨 Life Struggle” 博客,谢绝转载!

你可能感兴趣的:(linux,职场,休闲,rhce)