环境配置
要求:
X 是你的主机号
宿主机:foundationX.ilt.exam ple.com
虚拟机:
ser ver X.exam ple.com IP: 172.25.X.11/24
desktopX.exam ple.com
IP: 172.25.X.10/24
G AT EW AY: 172.25.X.254
DNS: 172.25.254.254
YUM 安装源:
http://content.exam ple.com /r hel7
SEL INUX 要求 enfor cing 模式
fir ew alld 防火墙启动
desktop环境脚本
[root@desktop42 mnt]# ls ##desktop初始化环境文件
system.sh
[root@desktop42 mnt]# cat system.sh
hostnamectl set-hostname desktop42.example.42 ##设置主机名
cat >/etc/sysconfig/network-scripts/ifcfg-eth0 </etc/sysconfig/network <
[root@localhost mnt]# vim system.sh
[root@localhost mnt]# cat system.sh
stnamectl set-hostname server42.example.42
cat >/etc/sysconfig/network-scripts/ifcfg-eth0 </etc/sysconfig/network <
1.进入系统单用户模式,修改 r oot 用户密码为 w estosexam ,并设置系统默认进入多用户模式
图形界面下系统默认就是多用户模式(修改密码时可以在系统启动时按e进入系统的启动选择界面然后设置新密码,也可以直接设置新密码)
2. 在 ser ver X 上添加两块虚拟网卡,用以配置主备负载接口 team 0,并分配 ip地址为172.25.X.100/24
echo "waiting..."
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.42.100/24 ##创建team0
nmcli connection add con-name eth2 ifname eth2 type team-slave master team0 ##添加eth2至team0
nmcli connection add con-name eth3 ifname eth3 type team-slave master team0 ##添加eth3至team0
echo "successful"
3. 配置 iSC SI 服务:
a) 在 ser ver X 上安装服务端程序,设置开机自启,防火墙允许此服务
b) 在 vdb 磁 盘上 分一 个 1G 大 小的 L VM 分 区 ,用 以创 建逻 辑卷 组
iSC SI_vg 和一个 100M 大小的逻辑卷 disk1_lv
c)
使用 disk1_lv 作为 iSC SI 的后端存储名称为 ser ver X.disk1
d) 定义 IQ N 为 iqn.2015-01.com .exam ple:ser ver X
e)
设置 AC L 允许 initiator nam e 为 iqn.2018-01.com .exam ple:desktopX
的 客 户 端 可 以 连 接 , 设 置
AC L
允 许
initiator nam e 为
iqn.2018-01.com .exam ple:desktopX 的客户端可以连接
f)
desktopX 安装客户端程序,连接 ser ver X 的 iSC SI 目标资源到本地,用
以创建一个 xfs 文件系统,并开机自动挂载到/iscsidisk
server端
#!/bin/bash
yum install targetcli
systemctl start target
systemctl enable target
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
fdisk /dev/vdb <
yum install iscsi-initiator-untils.x86_64 -y
cat > /etc/iscsi/initiatorname.iscsi <>/etc/fstab <
4.配置 NFS 服务
a) 在 ser ver X 上设置服务开机自启动,防火墙允许此服务
b) 在 ser ver X 上共享本地目录/nfsshar e,desktopX 可以读写访问此共享,
并且开机自动挂载到/m nt/nfsshar e 目录上
c)
在 sever x 上共享目录/autonfs,当 desktop 进入到/nfsauto/ser ver x 后自
动挂载 sever x 上共享目录/autonfs 到 desktop 上的/nfsauto/ser ver x 上
server端
#!/bin/bash
yum install nfs-utils -y
mkdir /nfsshare
cat > /etc/exports <> /etc/export <
yum install nfs-utils -y
yum install autofs -y
mkdir /mnt/nfsshare
cat >>/etc/fstab< /etc/auto.nfs<
查看挂载
5.配 SM B 服务:
a) 在 ser ver X 上配置 sm b 共享服务,要求开机自启,防火墙允许此服务
b) 创 建 共 享 目 录 为 /sm bshar e, 共 享 名 为
sm bshar e, 工 作 组 为
W EST O S,m ar keting 组成员可以读写此共享,不属于 m ar keting 组的人
只能读c)
创建 sam ba-only 用户 br ian 和 r ob,其中 br ian 用户属于 m ar keting
组,用户密码都是 w estos
d) 在 desktopX 上建立挂载点/m nt/m ultiuser 目录,开机自动挂载 ser ver X
上的 sm bshar e 共享,激活 sm b 多用户挂载支持。
server端
yum install samba samba-common samba-client -y
systemctl start smb
systemctl enable smb
firewall-cmd --permanent --add-service=samba
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --reload
mkdir /smbshare
cat > /etc/samba/smb.conf <
yum install samba-client.x86_64 cifs-utils.x86_64 -y
mkdir /mnt/multiuser
cat > /root/smbauth < /etc/fstab <
6. 配置 M ar iadb 数据库服务:
a) 在 ser ver X 上安装 m ar iadb 数据库,开机自启动,防火墙允许此服务
b) 给 数 据 库 设 置 r oot 管 理 员 密 码 为 w estos, 限 制 r oot 用 户 只 能 从
localhost 登录,移除匿名用户,删除 test 库
c)
创建一个名为 r edhat 的库,并从备份文件中恢复数据到此数据库,备份
文件的位置在:
http://classr oom .exam ple.com /pub/m ater ials/m ar iadb/m ar iadb.dum p 。
d) 创建数据库用户 m ar y,对 r edhat 数据库具有查询、插入、更新、删除
权限,密码为 m ar y_passw d。 natasha 用户可以从 desktopX 上登录数据
库,对 r edhat 库拥有查询权限,密码为 natasha_passwd
服务端
yum install mariadb-server.x86_64 -y
systemctl start mariadb
systemctl enable mariadb
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
mysql_secure_installation <
服务安装及火墙配置
数据库初始化
数据库备份
sever端登陆
desktop端登陆
7.配置 w eb 服务:
a) 在 ser ver X 上安装 httpd 服务,要求开机自启动,防火墙允许此服务
b) 配置虚拟主机,监听_default_:80,默认发布目录在/var /w w w /htm l,日志位
置在 logs/default-vhost.log,日志格式为 com bined
c)
建立虚拟主机
w w w X.exam ple.com , 监 听 :80, 默 认 发 布 目 录 在
/sr v/w w w X.exam ple.com /w w w ,日志存储在 logs/w w w X.exam ple.com .log,
日志格式为 com bined。d) 建立虚拟主机 w ebappX.exam ple.com ,监听443,
默认发布目录/sr v/w ebappX.exam ple.com /w w w ,
C A 机构证书的位置:
http://classr oom .exam ple.com /pub/exam ple-ca.cr t,
w ebappX 站点证书和私钥位置在:
http://classr oom .exam ple.com /pub/tls/cer ts/w ebappX.cr t
http://classr oom .exam ple.com /pub/tls/pr ivate/w ebappX.key
私钥的权限是 0600
在访问 w ebappX.exam ple.com 的 80 端口时,会被重定向到 443 端口
下载文件:
http://classr oom .exam ple.com /pub/m ater ials/w ebapp.cgi
并在访问域名 https://w ebappX.exam ple.com 时直接可以看到其运行结果
server端
yum install httpd
systemctl start httpd
systemctl enable httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
cat > /etc/httpd/conf.d/vhost.conf <
DocumentRoot /var/www/html
CustomLog "logs/default-vhost.log" combined
EOF
cat > /var/www/html/index.html <aini1wannian
EOF
systemctl restart httpd
cat > /etc/httpd/conf.d/www42.conf <
ServerName www42.example.com
DocumentRoot /srv/www42.example.com/www
CustomLog "logs/www42.example.com.log" combined
Require all granted
EOF
mkdir /srv/www42.example.com/www -p
cd /srv/www42.example.com/www
cat > /srv/www42.example.com/www/index.html<www.example.com
EOF
ls -Zd /var/www/html
semanage fcontext -a -t httpd_sys_content_t '/srv(/.*)?'
restorecon -RvvF /srv
systemctl restart httpd
yum install mod_ssl.x86_64 crypto-utils.x86_64 -y
firewall-cmd --permanebt
firewall-cmd --reload
wget http://classroom.example.com/pub/tls/certs/webapp15.crt
cd /etc/pki/tls/certs/
wget http://classroom.example.com/pub/tls/certs/webapp15.key
chmod 600 /etc/pki/tls/private/webapp15.key
chmod 600 /etc/pki/tls/private/webapp15.key
cat > /etc/httpd/conf.d/ssl.conf < /etc/httpd/conf.d/webapp42.conf <
ServerName webapp42.example.com
DocumentRoot /srv/webapp42.example.com/www
CustomLog "logs/webapp15.example.com.log" combined
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/webapp15.crt
SSLCertificateKeyFile /etc/pki/tls/private/webapp42.key
ServerName webapp42.example.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=30]
EOF
sed -i 's#webopp.cgi#webopp.cgi index.html#g' /etc/httpd/conf/httpd.conf
mkdir /srv/webapp42.example.com/www -p
cat > /srv/webapp42.example.com/www/webopp.cgi <
8.脚本编程要求如下:
a) 运行 scr ipt1.sh dog 输出结果为 cat
b) 运行 scr ipt1.sh cat 输出结果为 dog 除此以外都输出结果为 er r or
#!/bin/bash
[ -z "$1" ] && {
echo "error"
exit
}
[ "$1" = cat ] && {
echo "dog"
exit
}
[ "$1" = dog ] && {
echo "cat"
}||{
echo "error"
exit
}
9.建立用户脚本要求如下:
a) 如果系统存在用户 luck,并且使用/bin/bash,则输出 user ok
b) 如果系统村存在用户 luck,则输出 user exist
c)
如果系统不存在用户 luck,则运行 user add luck 命令来创建
d) 当在系统上运行命令 user cm d 时,将输出指令“echo hello;ls-l” 的结果,并
在重启后也生效。
脚本
#!/bin/bash
if [ -z $1 ]
then
{
echo "ERROR : please input userfile following script"
exit
}
fi
username=`grep luck /etc/passwd | cut -d ":" -f 1`
bash=`grep luck /etc/passwd | cut -d ":" -f 7`
if [ ""$username" == "luck" -a "$bash" == "/bin/bash"" ]
then
{
echo "user ok"
}
elif [ "$username" == "luck" ]
then
{
echo "user exist"
}
elif [ "$username" != "luck" ]
then
{
useradd luck &>/dev/null
}
fi
cat >/usr/bin/usercmd<