注意:您有一个不能用的DNS域ilt.example.com,这个域中所有172.25.254.0/255.255.255.0的子网都在这个域中。XX for locahost number****desktop - 10 server - 11
- 1、配置SELinux。必须在两个系统desktopX和serverX中运行Enforcing模式,并且重启后依旧生效。 setenforce 1
- 2、设置SSH访问控制- 用户能够在example.com这个域通过ssh远程访问您的两个虚拟机系统。- 客户端在ilt.example.com这个域名中的是不能登录你的两个虚拟机系统的。 vim /etc/hosts.deny #拒绝名单sshd:172.25.254. ip段vim /etc/hosts.allow #允许名单(级别大于拒绝名单)sshd:172.25.19.systemctl restart sshd #重启下服务e
- 3、自定义用户环境- 在系统desktopX和serverX上创建自定义命令名为qstat。此自定义命令将执行以下命令- /bin/ps -Ao pid,tt,user.fname,rsz- 此命令队系统中的所有用户生效 export qstat=“/bin/ps -Ao pid,tt,user,fname,rsz” >> /etc/bashrc. /etc/bashrc
- 4、配置端口转发- 在系统desktopX配置端口转发,要求如下- 在172.25.xx.0/24网络中的系统,访问desktopX的本地端口5423将被转发到80端口,此设置永久性生效。(xx for localhost number)
firewall-config
systemctl enable firewall - 5、配置聚合链路(xx for localhost number)- 在desktopX.example.com和serverX.example.com之间按以下要求配置- 此链路使用接口eth1和eth2- 此链路在desktopX使用下面的地址172.16.xx.25/255.255.255.0- 此链路在serverX使用下面的地址172.16.xx.35/255.255.255.0- 此链路在系统重启之后依然保持正常状态 /etc/sysconfig/network-scriptscp /usr/share/doc/teamd-1.9/example_ifcfgs/3/* ./修改 ifcfg-team_test0———————————–DEVICE=“team_test0”DEVICETYPE=“Team”ONBOOT=“yes”BOOTPROTO=noneNETMASK=255.255.255.0IPADDR=172.16.12.25TEAM_CONFIG=‘{“runner”: {“name”: “activebackup”}}’–––––––––––––––––systemctl restart network #需要重启两次teamdctl team_test0 sta #查看状态
- 6、配置IPv6地址。在您的考试系统上配置接口eth0使用下列IPv6地址:- desktopX上的地址应该是200e:ac18::e0a/64- serverX上的地址应该是200e:ac18::e14/64- 两个系统必须能与网络200e:ac18/64内的系统通信- 地址必须在重启后依旧生效- 两个系统必须保持当前的IPv4地址并能通信 vim ifcfg-eth0IPV6INIT=yesIPV6_AUTOCONF=noIPV6ADDR=200e:ac18::e0a/64
- 7、配置本地邮件服务- 在系统desktopX和serverX上配置邮件服务器,满足以下要求- 这些系统不接受外部发来的邮件- 在这些系统上本地发送的任何邮件都会自动路由到classroom.example.com- 从这些系统上发送的邮件显示来自于example.com- 你可以通过发送邮件到本地用户‘root’来测试你的配置,系统classroom.example.com已经配置把此用户的邮件转到下列URL http://classroom/received_mail/11/ vim /etc/postfix/main.cfinet_interfaces = allmyorigin = example.comlocal_transport = error:xxrelayhost = classroom.example.comsystenctk restart postfixsystemctl enable postfix
- 8、desktopX用SMB服务器共享/common目录- 你的SMB服务器上的所有成员必须在SMBGROUP这个工作组中。- 共享名必须是common。- 这个common共享目录仅仅只能让example.com域中的客户端访问。- 这个共享名必须是可浏览的- natasha必须对这个共享文件有读的权限,如果有必要,可以设置用户访问密码为redhat yum install samba* -y #服务端/etc/samba/smb.confworkgroup = SMBGROUP #设置工作组[common] #与文件路径同名 comment = linhut #描述 path = /common #共享资源名 #read list= natasha #读权限用户,添加这个名单就只有里面的可以读 browseable = yes #共享资源是否允许用户浏览 hosts allow = 172.25.12. #允许访问的(这里题目DNS域解析为这个段)————/common 所有人可读权限cat /etc/samba/smb.conf | grep chconchcon -t samba_share_t /common -R #修改selinux权限useradd natashasmbpasswd -a natashayum install samba-client -y #客户端smbclient //d19.example.com/common -U natashasystemctl enable smbfirewall-cmd –add-service=samba –permanentfirewall-cmd –reload
- 9、配置多用户SMB挂载。在desktopX共享通过SMB目录/miscellaneous满足一下要求- 共享名为miscellaneous- 共享目录只能被example.com域中的客户端使用- 共享目录miscellaneous必须可以被浏览- 用户silene必须能以读的方式访问此共享,密码是redhat- 用户akira必须能以读写的方式访问此共享,密码是redhat- 此共享目录永久挂载在serverX.example.com上的/mnt/multi目录下,并使用用户selene作为认证,任何用户可以通过用过akira来临时获取写的权限 yum install samba-client -y/etc/samba/smb.conf添加[miscellaneous] #与文件路径同名 comment = linhut #描述 path = /miscellaneous #共享资源名 #read list= silene #有读权限用户 write list = akira #读写权限用户 browseable = yes #共享资源是否允许用户浏览 hosts allow = 172.25.12. #允许访问的(这里题目DNS域解析为这个段)chcon -t samba_share_t /miscellaneous -R #修改selinux权限useradd akirauseradd slienesmbpasswd -a akirasmbpasswd -a sileneyum install cifs-utils -yvim /etc/fstab//d12/miscellaneous /mnt/multi cifs defaults,user=silene,password=redhat,sec=ntlmssp,multiuser 0 0yum install cifs-utils -ysu - student(需要在普通用vim 户下)cifsiostat add d12.example.com -u akira #到普通用户目录下授权
- 10、配置nfs服务,在desktopX上配置nfs服务,要求如下- 以只读的方式共享目录/public,同时只能被example.com域中的系统访问。- 以读写的方式共享/protected需要通过Kerberos安全加密,您可以使用下面URL提供的密钥http://classroom.example.com/pub/keytabs/desktopXX.keytab(xx for localhost number)- 目录/protected应该包含名为confidential拥有人为deepak的子目录- 用户deepak能以读写方式访问/protected/confidential systemctl enable nfs-server #设置开机自启netstat -tpln #查看111端口是否打开mkdir /publicvim /etc/exports/public 172.25.12.0/255.255.255.0(ro,sync)systemcl restart nfs-serverexportfs -vcat /var/lib/nfs/etab打开程序: mountd ntp rpc-bind
- 11、挂载一个NFS共享。在serverX上挂载一个来自desktopX.example.com的NFS共享,并符合下列要求- /public挂载在下面的目录上/mnt/nfsmount- /protected挂载在下面的目录上/mnt/nfssecure并使用安全的方式,密钥下载URL如下:http://classroom.example.com/pub/keytabs/serverXX.keytab- 用户deepak能够在/mnt/nfssecure/confidential上创建文件- 这些文件系统在系统启动时自动挂载 vim /etc/fstab172.25.12.10:/public /mnt/nfsmount nfs default 0 0mount -a
- 12、架设一个web服务器。在serverX上配置一个站点:http://serverX.example.com,然后执行下面步骤- 从服务器上下载://classroom.example.com/pub/web/server.html- 将下载的文件更名为index.html- 拷贝这个index.html的去你的web服务器的DocumentRoot- 不能修改index.html中的任何内容- 要求来自example.com这个域的成员可以访问stationX.example.com站点。- 来自于ilt.example.com域的客户端拒绝访问此web
<VirtualHost *:80> DocumentRoot “/var/www/html” ServerName server19.example.com <Directory /var/www/html>
Require all granted Require not ip 172.25.254. <Directory /var/www/html/secret> require local require all denied - 13、配置安全web服务- 为站点http://serverX.example.com配置TLS加密,一个已经签名证书从http://classroom.example.com/pub/tls/certs/serverX.crt获取,此证书的密钥从http://classroom.example.com/pub/tls/private/serverX.key获取,此证书的签名授权信息从http://classroom/pub/example-ca.crt获取 <VirtualHost *:443> DocumentRoot /var/www/html ServerName server12.example.com SSLEngine on SSLCertificateFile /etc/pki/tls/certs/serevr12.crt SSLCertificateKeyFile /etc/pki/tls/certs/server12.key SSLCertificateChainFile /etc/pki/tls/certs/example-ca.crtcd /etc/pki/tls/certswget -c http://classroom.example.com/pub/tls/certs/server12.crtwget -c http://classroom.example.com/pub/tls/private/server12.keywget -c http://classroom/pub/example-ca.crt
- 14、配置虚拟主机。在serverX上扩展您的web服务器,为站点http://wwwX.example.com创建一个虚拟主机,然后执行下述步骤- 设置 DocumentRoot为/var/www/virtual- 从http://classroom.example.com/pub/web/www.html- 将下载的文件更名为index.html- 这个index.html文件是在你的DocumentRoot中- 确保用户natasha可以在/var/www/virtual的文件中创建内容- 注意:原始站点http://serverX.example.com必须仍然能够访问,名称服务器example.com提供对主机名wwwX.example.com的域名解析。 useradd natasha<VirtualHost *:80> DocumentRoot “/var/www/virtual” ServerName www12.example.comsetfacl -m u:natasha:rwx virtualsetfacl -m d:natasha:rwx virtual
- 15、配置web内容的访问。在您的serverX上的web服务器的DocumentRoot目录下创建一个名为secret的目录,要求如下- 从http://classroom/pub/web/private.html下载此网页- 不要对这个文件的内容做任何修改- 从serverX上,任何人都可以浏览secret的内容,但是从其他系统不能访问这个目录内容 <VirtualHost *:80> DocumentRoot “/var/www/virtual” ServerName www12.example.com <Directory /var/www/virtual/secret> require local require all denied
- 16、实现动态web内容,在serverX上配置提供动态web内容,要求如下:- 动态内容由名为webappX.example.com的虚拟主机提供- 虚拟主机侦听端口8899- 从http://classroom.example.com/pub/web/webapp.wsgi下载一个脚本,然后放在适当的位置,无论如何不要修改此文件内容- 客户点访问http://webappX.example.com:8899时,应该接收到动态生成的web页面- 此http://webaapX.example.com:8899必须能被example.com域内的所有系统访问 Listen 8899<VirtualHost *:8899> DocumentRoot “/var/www/webapp” ServerName webapp12.example.com WSGIscriptalias / /var/www/webapp/webapp.wsgi <Directory /var/www/webapp> require ip 172.25.12. require all denied semanage port -l | grep httpsemanage port -at http_port_t 8899 -p tcpfirewall-cmd –add-port=8899/tcp –permanent
- 17、写一个脚本/root/program,要求当个脚本输入参数kernel时,脚本返回user,当给脚本输入参数user时,脚本返回kernel。当脚本没有参数或者参数错误时,从标准错误输出中输出“usage:/root/program kernel|user” ** #/bin/bashif [ “$1” == “kernel” ];then echo “user”elif [ “$1” == “user” ];then echo “kernel”else echo “usage:/root/program kernel|user”fi **
- 18、创建一个添加用户脚本。在desktopX上创建一个脚本,名为/root/mkusers,此脚本能实现为系统desktopX创建本地用户,并且这些用户的用户名来自一个包含用户列表的文件。同时满足以下要求:- 此脚本要求提供一个参数,此参数就是包含用户列表的文件- 如果没有提供参数,此脚本应该给出下面的提示信息Usage:/root/mkusers,然后退出并返回相应的值- 如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found,然后退出并返回相应的值- 创建用户登录shell为/bin/false- 此脚本不需要为用户设置密码- 你可以从下面的URL获取用户名列表作为测试用http://classroom.example.com/pub/web/userlist #/bin/bashif [ $# -eq 0 ];then echo “Usage:/root/mkusers” exit 1fiif [ ! -f $1 ];then echo “input file not found” exit 1fiwhile read linedo useradd -s /sbin/nologin $line echo “成功创建user:”$linedone < $1下面没符合题意不过代码更加流畅#/bin/bashif [ $# -eq 0 ];then echo “Usage:/root/mkusers”elif [ ! -f $1 ];then echo “input file not found”else while read line #读行 do useradd -s /sbin/nologin $line echo “成功创建user:”$line done < $1fi
- 19、配置iscsi服务。配置desktopX提供一个iscsi服务,磁盘名为iqn.2014-11.com.example:desktopX,并符合下列要求:- 服务端口为3260- 使用iscsi_vol作其后端卷,大小为3G- 此服务职能被serverX.example.com访问 fdisk /dev/sdbyum install targetcli* -ysystemctl enable targettargetcli/backstores> block/ create iscsi_vol /dev/sdb3/iscsi>create iqn.2014-11.com.example:desktop12/iscsi> cd iqn.2014-11.com.example:172.25.12.10cd tpg1//iscsi/iqn.20…25.11.10/tpg1> acls/ create iqn.2014-11.com.example:server12/iscsi/iqn.20…25.11.10/tpg1>luns/ create /backstores/block/iscsi_vol/iscsi/iqn.20…25.11.10/tpg1> portals/ create 172.25.12.10/iscsi/iqn.20…25.11.10/tpg1> set attributedemo_mode_write_protect=0/iscsi/iqn.20…25.11.10/tpg1> set attributeauthentication=0/iscsi/iqn.20…25.11.10/tpg1> set attributegenerate_node_acls=1/iscsi/iqn.20…25.11.10/tpg1> exitfirewall-cmd –add-port=3260/tcp –permanentfirewall-config
- 20、配置iscsi的客户端。配置serverX使其能建立连接在system1上提供的iqn.2014-11.com.example:desktopX并符合以下要求:- iscsi设备在系统启动期间自动加载- 块设备iscsi上包含一个大小为1700M的分区,并且格式化为xfs.- 分区挂载在/mnt/data上,同时开机重启后依旧生效。 man iscsi/exampieyum install iscsi-initiator-utils -yiscsiadm -m discovery -t st -p 172.25.12.10 -lldkidfdisk /dev/sda –分一个1700M分区mkfs.xfs /dev/sda1vim /etc/fstabUUID=“adaSDASDdsdjasdmalDSDSAFSDF” /mnt/data xfs defaults,_netdev 0 0
- 21、配置一个数据库。在desktopX上创建MariaDB数据库,名为Contacts,并符合以下条件:- 数据库应该包含来自数据库复制的内容,复制文件的URL为http://classroom.example.com/pub/web/users.mdb- 数据库只能本地主机访问- 除了root用户,此数据库只能被用户Luigi查询。此用户密码为redhat。- root用户密码为redhat,同时不允许空密码登陆 yum install mariadb* -ycd /root && wget -c http://classroom.example.com/pub/web/users.mdbmysql_secure_installation #设置root密码>mysql -uroot -predhatcreate database Contacts;use Contacts;show tables;source /root/users.mdb; grant select on Contacts.* to Luigi@‘localhost’ identified by’redhat’;select Host,User,Password,Select_priv from mysql.user;
- 22、数据库查询。在系统desktopX上使用Contacts,并使用相应的SQL查询以下回答以下问题:- 密码是tangerine的人的名字?- 有多少人的姓名是John同时居住在Santa Clara? use Contacts;select firstname,lastname from name where aid in (select bid from pass where password=“tangerine”);select count(firstname) from name where firestname=“John” and aid in (select cid from loc where loction=“Santa Clara”);
视频分享
链接: https://pan.baidu.com/s/1c2TtIQO 密码: e3jz