注意:您有一个不能用的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-configsystemctl 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