vim /etc/selinux/config enforcing reboot
desk server firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 192.168.0.0/24 -p tcp --dport 22 -j REJECT systemtl restart firewalld firewall-cmd --direct --get-all-rules test:: ifconfig br0:0 192.168.0.111/24
echo "alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'" >> /etc/bashrc source /etc/bashrc
systemctl start httpd
firewall-cmd --pernament --add-source=172.25.X.0/24 --zone=trusted systemctl restart firewalld
firewall-cmd --list-all --zone=trusted firewall-cmd --direct --get-all-rules
firewall-cmd --permanent --direct --add-rule ipv4 nat PREROUTING 1 -s 172.25.X.0/24 -p tcp --dport 5423 -j DNAT --to-dest :80
!when exam use VM-CONSOLE to ADD 2 NetworkNic
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.16.0.75/24 nmcli con add con-name eth1 ifname eth1 type team-slave master team0 nmcli con add con-name eth2 ifname eth2 type team-slave master team0
ifconfig eth1 up (default up)
nmcli con modify 'System eth0' ipv6.addresses XXX/64 ipv6.method manual nmcli con up 'System eth0'
vim /etc/postfix/main.cf 75 myhostname = desktop2.example.com 83 mydomain = example.com 99 myorigin = $mydomain 164 mydestination = clear all 317 relayhost = classroom.examcple.com
scp server vim deskdop2 systemctl enable restart postfix
server getent passwd ldapuser1 yum install samba samba-client samba-common -y mkdir /data /groupdir vim /etc/samba/smb.conf /workgroup STAFF smbclient -L //localhost /[public] [common] path = /groupdir hosts allow = 172.25.X. 127. browseable = yes [data] path = /data hosts allow = 172.25.X. 127. write list = wolferyne browseable = yes
setfacl -m u: semanage fcnotext -at samba_share_t '/groupdir(/.*)?' semanage fcnotext -at samba_share_t '/data(/.*)?' restorecon -RvvF /groupdir restorecon -RvvF /data useradd -s /sin/nologin barney useradd -s /sin/nologin wolferyne useradd -s /sin/nologin manager smbpasswd -a barney smbpasswd -a wolfernye smbpasswd -a manager pdbedit -L systemctl restart enable smb nmb
desktop yum install samba-client cifs-utils -y
smbclient -L //172.25.X.11 -U barney smbclient //172.25.X.11/common -U barney smbclient //172.25.X.11/data -U manager smbclient //172.25.X.11/data -U wolferyne vim /root/exam username=manager password=westos chmod 600 /root/exam mkdir /mnt/westos vim /etc/fstab //172.25.X.11/data /mnt/westos cifs defaults,credentials=/root/exam,sec=ntlmssp,multiuser 0 0 mount -a su - student cifscreds add -u wolferyne 172.25.X.11
server yum install nfs-utils -y systemctl enable nfs-server nfs-secure-server mkdir /public mkdir -p /protected/restricted chmod 755 /protected/restricted chown ldapuser1.ldapuser1 /protected/restricted setfacl -m u:nfsnobody:rwx /protected/restricted vim /etc/exports /public 172.25.2.0/24(ro,async) /protected 172.25.2.0/24(rw,async,sec=krb5p) wget https: -O /etc/krb5.keytab ktutil /etc/krb5.keytab exportfs -rv showmount -e 172.25.X.11 systemctl start nfs-server nfs-secure-server
desktop mkdir /mnt/{nfsmount,nfssecure} showmount -e 172.25.X.11 wget http:// -O /etc/krb5.keytab ktutil rkt /etc/krb5.keytab vim /etc/fstab 172.25.X.11:/public /mnt/nfsmount nfs defaults 0 0 172.25.X.11:/protected /mnt/nfssecure nfs defaults,sec=krb5p 0 0 systemctl enable nfs-secure systemctl start nfs-secure mount -a
su - ldapuser1 su - ldapuser1 ##twice##must enter you passwd once or ssh ldapuser1@localhost cd /mnt/nfssecure
BOTH vim /etc/hosts 172.25.X.11 serverX.example.com www0.example.com transitive.example.com 172.25.X.10 desktopX.example.com
server yum install mod_ssl mod_wsgi -y wget http: -O /var/www/html/index.html vim /etc/httpd/conf.d/14.conf <VirtualHost _default_:80> DocumentRoot /var/www/html </> <Directory "/var/www/html"> Order Allow,Deny Allow from All Deny from 192.168.0.0/24 </> <VirtualHost *:80> ServerName www0.example.com DocumentRoot /var/www/virtual </> <Directory "/var/www/virtual"> Require all granted </> <Directory "/var/www/html/confidential"> Order Deny,Allow #!! watch the sort Allow from 172.25.X.11 Allow from localhost Allow from 127.0.0.1 Deny from all </> <VirtualHost *:8989> ServerName transitive.example.com WSGIScriptAlias / /var/www/cgi-bin/17.wsgi DocumentRoot /var/www/virtual </> Listen 8989
vim /etc/httpd/conf.d/ssl.conf 100 107 116
mkdir -p /var/www/virtual setfacl -m u:barney:rwx /var/www/virtual setfacl -m d:u:barney:rwx /var/www/virtual wget http -O /var/www/virtual/index.html mkdir -p /var/www/html/confidential wget ... -O /var/www/html/confidential/index.html wget .. -O /var/www/cgi-bin/17.wsgi
semanage port -at http_port_t -p tcp 8989 systemctl restart enable httpd curl https://server0.example.com
vim /root/scripts.sh ;chmod +x /root/scripts.sh #!/bin/bash case $1 in all) echo none ;; none) echo all ;; *) echo "/root/scripts.sh none|all" esac
server yum install targetcli -y fdisk /dev/vda +3G t 8e wq partprobe pvcreate /dev/vda vgcreate exam /dev/vdb1 lvcreate -l 767 -n iscsi_data exam lvs targetcli /b/b create iscsi_data /dev/exam/iscsi_data iscsi/ create iqn.2014-11.com.example:serverX iscsi/iqn../t/luns create /b/b/iscsi isc/iqn/t/acls create `/etc/iscsi/ini...iscsi` ..../portals create 172.25.X.11 systemctl enable targetcli
desktop iscsiadm -m disovery -t st -p 172.25.X.11 iscsiadm -m node -T iqn...:server -l
fdisk /dev/sda +1900M mkfs.xfs /dev/sda1 blkid /dev/sda1 >> /etc/fstab vim /etc/fstab UUID=" " /mnt/data xfs defaults,_dev 0 0
server yum install mariadb-server -y systemctl enable start mariadb mysql_secure_installation mysql -pwestos create database Contacts;
wget http:.. -O /var/user.mdb mysql -pwestos Contacts < /var/user.mdb mysql -pwestos create user Luigi@loalhost identified by 'westos'; grant select on Contacts.* to Luigi@localhost; show grants for Luigi@localhost; mysql -uLuigi -p westos show databases; use Contacts; show tables; select * from User_Name; desc User_logins; SELECT ID from User_logins WHERE User_pass='forsook'; desc User_Name select first_name FROM User_Name where user_id='4178'; 152
first poweroff desktop force then poweroff server
题目 1.配置 selinux Selinux 必须在两个系统 serverx 和 desktop 中运行 Enforcing 模式 2.配置 ssh 访问 用户能从域 example.com 内的客户端通过 ssh 远程访问您的两个虚拟系统 在域 my133.org 内的客户端不能访问您的两个虚拟机 3.自定义用户环境 在系统 serverx 和 desktopx 上穿件自定义命令 qstat 此命令将执行一下命令 /bin/ps -Ao pid,tt,user,fname,rsz 此命令对系统中所有用户有效 4.配置端口转发 在系统 serverx 中配置端口转发 在 172.25.x.0/24 网络中的系统,访问 server1 的本地端口 5432 将 被转发到 80 此设定时永久生效的 5 配置链路聚合 在 server1.example.com 和 desktopx.example.com 之间按以下要求配置一个链 接 此链路使用 eth1 和 eth2 此链路在一个接口失效时扔能正常工作 此链路 serverx 使用地址 172.16.x.65/24 此链路 desktopx 使用的地址 172.16.x.75/24 此链路在系统重启之后仍然保持正常状态 6.配置 ipv6 地址 在您的考试系统上配置接口 eth0 使用下列 ipv6 地址 Serverx 上的地址 2014:ac18::10a/64 Desktopx 上的地址 2014:ac18::11b/64 两个地址可以通信,并且在从新启动后依然生效,两快网卡的 ipv4 地址依然生 效 7.配置本地邮件服务 在系统 serverx 和 desktopx 上配置邮件服务 这些系统不接收外部发送来的邮件 这些系统上发送的任何邮件都会自动路由到 classroom.example.com 这些系统上发送的邮件显示来自 example.com 您可以通过用户 hal 来测试您的配置,访问: http://classroom.example.com/exam_mail/hal 8.通过 smb 共享目录 在 serverx 上配置 smb 服务 您的 smb 服务必须时 STAFF 工作组的一个成员共享/groupdir 目录共享名必须时 common 只有 example.com 域的客户可以访问 common 共享 Common 必须时可以浏览的 用户 barney 必须能够都取共享的内容,如果需要的话验证密码是 westos 9.Smb 多用户挂在配置 在 serverx 共享通过 smb 目录/data 共享名称 data 共享目录 data 只能被 example.com 域中的客户使用 共享目录 data 必须可以被浏览 用户 manager 必须能一读的方式访问此共享,访问密码时 westos 用户 wolferyne 必须能够一读写的方式访问此共享,访问密码时 westos 此共享永久挂在到 desktopx 主机的/mnt/westos 目录,并使用用户 manager 作 为认证,任何用户通过用户 wolferyne 来临时获取写的权限 10.配置 NFS 服务 在 serverx 配置 nfs 以只读的方式共享目/public 能被 example.com 域中的系统访问 以读写的方式共享目录/protected 能被 example.com 域中的系统访问 访问/protected 需要通过 kerberos 安全加密,您可以使用下面的 url 提供的秘 钥 http://classroom.example.com/pub/keytabs/server2.keytab 目录/protected 应该包含名称为 restricted,拥有人为 ldapuser1 的子目录 用户 ldapuser1 能够使用读写的方式访问/protected/restricted 11.挂在一个 nfs 共享 在 desktop1 上挂在一个来自 serverx.example.com 的 nfs 共享 /public 挂在在下面的目录上/mnt/nfsmount /protected 挂载在下面目录上/mnt/nfssecure 病且使用安全方式访问,秘钥: http://classroom.example.com/pub/kertabs/desktopx.keytab 用户 ldapuser1 能够在/mnt/nfssecure/restricted 上创建文件 这些文件系统在开机启动时自动挂载 12.实现一个 web 服务器 在 serverx 上配置一个站点 http://serverx.exampmle.com 从 http://classroom.example.com/materials/station.html 下载文件,并且将文件重名名为 index.html 不要修改该此文件的内容 将文件 index.html 拷贝到您的 web 服务器的 Documentroot 目录下 来自 example.com 域的客户可以访问此 web 服务 来自 my133t.org 域的可以端拒绝访问此 web 13.配置安全 web 服务站点 http://server1.example.com 配置 tls 加密一个已签名的证书 从 http://classroom.exampel.com/pub/tls/certs/serverx.crt 从 http://classroom.example.com/pub/tls/private/serverx.key 从 http://classroom.example.com/pub/example-ca.crt 14.配置虚拟主机 在 server1 上拓展您的 web 服务器,为站点 http://wwwx.example.com 创建一 个虚拟主机 设定默认发布目录为/var/www/virtual 从 classroom.example.com/materials/www.html 下 载 文 件 并 重 命 名 为 index.html,不要对文件 index.html 的内容做任何修改 将文件 index.html 放到默认发目录下 确保 barney 用户能在/var/www/virtual 目录下创建文件 15.配置您的 serverx 上的 web 服务器 在默认发布目录下创建一个名为 confidential 的目录 从 http://classroom.example.com/materials/private.html 下载到这个目录 中,并且重命名为 index.html 不要修改这个文件的内容 从 serverx 上,任何人都可以浏览此目录,但是其他系统不能访问此目录中的 内容 16.实现动态 web 内容 在 server1 上配置提供 web 内容 动态内容由名为 transitive.example.com 的虚拟机提供 虚拟机监听端口:8989 从 http://classroom.example.com/materials/scripts.wsgi 下载一个脚本, 然后防到合适的位置,不要修改该此文件内容 客户访问 http://transitive.example.com:8989 时应该生成动态的 web 页面 此站点 必须能被 example.com 域内的所有系统访问 17.创建一个脚本 在 serverx 上创建一个/root/scripts.sh 的脚本,让其提供下列特性 当运行/root/scripts.sh all 输出 none 当运行/root/scripts.sh none 输出 all 当没有任何参数或者参数不时 all 或 none 时,其错误输出产生下列信息 /root/scripts.sh/ all|none 18.配置 iscsi 服务端 配置 serverx 提供一个 iscsi 服务磁盘名称 iqn.2014.11.com.example:serverx 端口 3260 用 iscsi_data 作为后端卷,大小为 3G 此服务只能被 desktopx.example.com 访问19.配置 iscsi 的客户端 配置 desktopx 使其能链接在 server1 上提供的 iscsi Iscsi 设备在系统启动的期间自动加载 块设备 iscsi 上包含一个大小为 1900M 的分区,并格式化为 xfs 此分区自动挂载在/mnt/data 上同时在系统启动的期间自动挂载 20.配置一个数据库 在 serverx 上创建一个 mariadb,名为 Contacts 数据库应该包含来自数据库复制的内容。复制文件的 url http://classroom.example.com/materials/users.mdb 数据库只能被 localhost 访问 除了 root 用户,此数据库只能被 luigi 查询,此用户密码为 westos 超级用户密码为 westos,同时不允许空密码登陆 21.查询数据库 在系统 serverx 上使用数据库 contacts,并且使用相应 sql 查询以回答下列问 题 面时 forsook 的人的名字 Brian 有多少人的姓名时 Alan 同时居住在 Cupertino