考试下载服务器(如所需软件下载 apt客户端等):

​ virtual.storage.uosexam.com 10.10.23.1

云主机:

​ server1.uosexam.com 10.10.23.101

​ server2.uosexam.com 10.10.23.102

​ (注:以上域名以及考题中遇到的域名, 需手动添加到云主机的/etc/hosts中)

云主机账号密码:

​ 用户名:desk

​ 密 码:123

一、SSH

按照以下要求配置ssh服务: (仔细读题,看看是不是已经生成密钥)

宿主机可使用root用户免密登陆server1 和server2

server1和server2之间可通过root用户互相免密登陆

#需要重置root账户密码。
#需要重置root账户密码。
Server1/2:
vim +32 /etc/ssh/sshd_config
    PermitrootLogin yes                 *****( 添加一行)

systemctl enable ssh
systemctl restart ssh / sshd

考试服务器:如要求考试服务器也可以免密登server1和server2。则做如下:
ssh-keygen
ssh-copy-id 10.10.23.102 
ssh-copy-id 10.10.23.101
systemctl enable ssh
systemctl restart ssh / sshd

server1:
ssh-keygen
ssh-copy-id 10.10.23.102
server2:
ssh-keygen
ssh-copy-id 10.10.23.101

测试验证
二、防火墙

在server1和server2上配置ufw防火墙,且只允许以下服务以及试卷中要求的服务访问

​ VNC 5900 tcp

​ ssh 22 tcp

​ http 80 tcp

​ https 443 tcp

​ mysql 3306 tcp

apt update
apt install ufw
ufw allow VNC
ufw allow ssh
ufw allow http
ufw allow https
ufw allow mysql
ufw allow ftp
ufw allow 3260/tcp     #为后面的iscsi 做准备
ufw enable
systemctl enable ufw

ufw allow proto tcp from 192.168.122.0/24 to any port 
三、Apt(server1和server2均需配置)

下载http://virtual.storage.uosexam.com/exam/sou.list,并根据下载的文件配置apt源

配置完后更新apt源

server1:  注意后面有没有空格

wget http://virtual.storage.uosexam.com/exam.sou.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cat sou.list >> /etc/apt/sources.list
vim /etc/apt/sources.list
apt update

server2:
wget http://virtual.storage.uosexam.com/exam.sou.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cat sou.list >> /etc/apt/sources.list
vim /etc/apt/sources.list
apt update
四、SCSI
1. server2上配置iscsi服务

​ 磁盘名为iqn.2020-06.com.uosexam:server

​ 对/dev/vdb进行分区,大小为5G,名称为/dev/vdb1

​ 使用uos_disk作为后端卷,大小为/dev/vdb1分区大小

#Server2
lsblk
fdisk /dev/vdb  #格式化对应的vdb1 5G   
#输入g n 回车 回车 +5g w
mkfs.ext4 /dev/vdb1
apt install targetcli-fb
targetcli
ls #查看
/backstores/block create uos_disk /dev/vdb1
iscsi/ create iqn.2020-06.com.uosexam:server
iscsi/iqn.2020-06.com.uosexam:server/tpg1/acls create iqn.2020-06.com.uosexam:client
iscsi/iqn.2020-06.com.uosexam:server/tpg1/luns create /backstores/block/uos_disk
saveconfig
2. Server1 挂载iscsi存储

​ iscsi设备在系统重启后能自动加载

​ 在iscsi块设备上划分一个2G的分区,格式为ext4

​ 将分区永久挂载在/var/www上

#Server1
apt install open-iscsi
vim /etc/iscsi/initiatorname.iscsi
        InitiatorName=iqn.2020-06.com.uosexam:client
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
systemctl restart iscsid  reboot #注意这里不要重启Server2 否则就白做了
iscsiadm --mode discoverydb --type sendtargets --portal server2 IP地址 --discover
iscsiadm --mode node --targetname iqn.2020-06.com.uosexam:server --portal 10.10.23.164:3260 --login

lsblk
fdisk /dev/sda
#输入:g n  回车 +2G w
mkfs.ext4 /dev/sda1
#自动挂载
mkdir -pv /var/www
mount /dev/sda1 /var/www

blkid  #找到sda1的UUID b6253879-7de4-46a3-a664-70dc2ba86bed
vim /etc/fstab
UUID=b6253879-7de4-46a3-a664-70dc2ba86bed /var/www    ext4    defaults,_netdev 0 0
mount -a

#自动挂载

vim +43 /etc/iscsi/iscsid.conf
node.startup = automatic
#注释node.startup = manual

systemctl enable iscsid
五、Apache2
1.Apache安全web主机

​ 虚拟主机监听的端口为8899

​ 设置DocumentRoot为/var/www/port

​ 下载http://virtual.storage.uosexam.com/exam/port.html文件到/var/www/port下并重命名为index.html

​ 访问http://server1.uosexam.com:8899即可看到/var/www/port/index.html的内容

​ 为http://server1.uosexam.com配置安全的web服务,可以使用https://server1.uosexam.com去访问您的web

#Server1
mkdir -pv /var/www/port
chmod -R 777 /var/www/port
wget http:virtual.storage.uosexam.com/exam/port.html -O /var/www/port/index.html
#这个地方把下载的port更改名称放到对应位置即可
apt install apache2 curl
systemctl enable apache2
systemctl restart apache2

vim /etc/apache2/sites-enabled/port.conf
Listen 8899
<VirtualHost *:8899>
    ServerName    server1.uosexam.com
    DocumentRoot    /var/www/port
</VirtualHost>
#ALL 在其他所有访问的客户端都要添加如下信息:
vim /etc/hosts
#添加以下:
10.10.23.101 server1.uosexam.com
systemctl restart apache2
前两问验证方法: curl http://server1.uosexam.com:8899
或在宿主机网页访问验证,记得在宿主机添加vim /etc/hosts 信息.

apt install openssl
cd /etc/apache2/
mkdir ssl
openssl genrsa -out ./ssl/1.key
openssl req -new -x509 -key ./ssl/1.key -out ./ssl/1.pem
        #直接回车到底
cp ./sites-available/default-ssl.conf ./sites-enabled/defaults-ssl.conf
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
vim ./site-enable/defaults-ssl.conf
     #添加
     ServerName server1.uosexam.com
     #修改
     DocumentRoot /var/www/port
     SSLCertificateFile      /etc/apache2/ssl/1.pem
     SSLCertificateKeyFile  /etc/apache2/ssl/1.key
     
a2enmod ssl
systemctl restart apache2
systemctl enable apache2

验证:
用网 https://server1.uosexam.com
2.Apache访问控制

在server1上使用Apache配置基于域名的web虚拟主机,并实现下列要求

​ 使用www.uosexam.com做为FQDN访问

​ 设置DocumentRoot为/var/www/virsh

​ 下载http://virtual.storage.uosexam.com/exam/port.html文件到/uos下并重命名为index.html

​ 访问http://www.uosexam.com/net 即可看到 /uos/index.html的内容

​ 设置从server1 本机禁止访问(返回403),从其他主机可以访问(返回码200或301)

mkdir -pv /uos
mkdir -pv /var/www/virsh
wget http://virtual.storage.uosexam.com/exam/port.html -O /uos/index.html

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cp /etc/apache2/sistes-enabled/port.conf /etc/apache2/sistes-enabled/acl.conf
vim /etc/apache2/sites-enabled/acl.conf
<VirtualHost *:80>
    ServerName www.uosexam.com
    DocumentRoot /var/www/virsh
    Alias /net /uos
</VirtualHost>
<Directory /uos>
    AllowOverride    none
    Deny from 192.168.1.101
    Require all granted
   </Directory>
vim /etc/hosts
    10.10.23.101 server1.uosexam.com www.uosexam.com
systemctl restart apache2
systemctl enable apache2

curl:
192.168.1.10 www.uosexam.com/net -> 403
192.168.1.20 www.uosexam.com/net -> 301  www.uosexam.com/net/ -> 200
3. 动态web

​ 在server1上配置动态web,内容由move.uosexam.com提供

​ 从http://virtual.storage.uosexam.com/exam/下载一个python.py脚本存放到合适的位置
​ 访问move.uosexam.com/python/python.py的时候可以得到动态页面

apt install libapache2-mod-wsgi
a2enmod wsgi
mkdir /var/www/dt
wget http://virtual.storage.uosexam.com/exam/python.py -O /var/www/dt/python.py
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cp /etc/apache2/sites-enabled/port.conf /etc/apache2/sites-enabled/dt.conf
vim /etc/apache2/sites-enabled/dt.conf
<VirtualHost *:80>
    ServerName move.uosexam.com
    DocumentRoot /var/www/dt
    WSGIScriptAlias    /python    /var/www/dt
</VirtualHost>

vim /etc/hosts
    10.10.23.101 server1.uosexam.com www.uosexam.com move.uosexam.com
    
systemctl restart apache2

验证:http://move.uosexam.com/python/python.py
六、编写脚本
1. 脚本1

在server1上创建名为/root/test.sh的脚本、完成以下功能

​ 判断传入的位置参数有且只有一个

​ 执行脚本时,传入一个位置参数:

​ 参数为quit,则输出exit

​ 参数为yes,则输出running

​ 为其它任意值,均执行非正常退出,脚本退出码11

#注意括号两边的空格不可少
vim /root/test.sh
#!/bin/bash
set -e
if [ $# -eq 1 ]
then
        if [ $1 == "quit" ];then echo "exit"
        elif [ $1 == "yes" ];then echo "running"
        else
                exit 11
        fi
else
        exit 11
fi

验证:
./test.sh quit 
./test.sh yes
./test.sh 
echo $?
2. 脚本2

在server1的创建/root/filing.sh的脚本,要求使用case、完成以下功能

​ 执行脚本时,传入一个位置参数,此参数为gzip、bzip2或者xz三者之一

​ 参数为gzip时,归档压缩/etc目录至/backups目录中,并命名为etc-2020.tar.gz

​ 参数为bzip2,归档压缩/etc目录至/backups目录中,并命名为etc-2020.tar.bz2

​ 参数为xz,归档压缩/etc目录至/backups目录中,并命名为etc-2020.tar.xz

​ 参数为其它任意值,则输出error

#!/bin/bash
if [ ! -d /backups ];then mkdir /backups
fi
case $1 in
        "gzip") tar -caf /backups/etc-2020.tar.gz /etc
        ;;
        "bzip2") tar -cjf /backups/etc-2020.tar.bz2 /etc
        ;;
        "xz")   tar -cf /backups/etc-2020.tar.xz /etc
        ;;
        *) echo "error"
        ;;
esac

chmod 777 filing.sh
验证:
./filing.sh gzip
./filing.sh bzip2
./filing.sh xz
ls /backups
3. 脚本3

​ 在server1上,编写shell脚本,保存为/root/square.sh, 要求找出1-200以内6的倍数,并打印这些数的平方值

vim /root/square.sh
#!/bin/bash
for i in {1..200}
do
        [ $[i%6] -ne 0 ] && continue
        echo $[i*i]
done
七、DNS

在server1上配置FQDN服务器、满足下列要求,且保证服务重启后依然生效
域名www.uos.com可访问机器为172.25.0.11的机器 (根据具体要求)
域名admin.uos.com可访问机器为172.25.0.33的机器 (根据具体要求)/lib/systemd/systemd-sysv-install enable bind9././

server1上操作如下:

apt install bind9 -y
systemctl restart bind9
systemctl enable bind9

vim /etc/bind/named.conf.default-zones
zone "uos.com"{
        type master;
        file "/etc/bind/uos.com";
};

cp /etc/bind/db.local /etc/bind/uos.com

vim /etc/bind/uos.com
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     uos.com. root.uos.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      uos.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
www     IN      A       172.25.0.11           ***根据具体要求来做
admin   IN      A       172.25.0.33           ***根据具体要求来做

vi /etc/resolv.conf 
nameserver 10.10.23.101  (此处配置为本机的地址,应为server1的本机地址)

systemctl restart bind9

检查验证:
nslookup www.uos.com
nslookup admin.uos.com

在server2上配置缓存DNS服务
在任意机器指定DNS服务器为server2的IP时,可解析出server1配置的所有地址

apt install bind9
systemctl restart bind9
systemctl enable bind9

vim /etc/bind/named.conf.options  ***把forwarders前面的注示去掉,并把地址改为server1地址
forwarders {
        10.10.23.101;
}; 三行//都要删除掉
vim /etc/resolv.conf  
nameserver 10.10.23.101               ***此处一定要修改成为server1的地址为DNS。***

systemctl restart bind9
检查验证:
nslookup www.uos.com
nslookup admin.uos.com
八、FTP (别急看题)
1. server1创建FTP服务

FTP登陆限制
在server1上,安装vsFTP,并对用户登陆限制,使用chroot_list方式

创建xiyou、shuihu,两个FTP用户,密码为’123123’
使用xiyou登录将被锁定目录,shuihu不被锁定
server1:
apt install vsftpd -y
server2:
apt install ftp lftp -y
server1:
systemctl enable vsftpd
useradd -m -s /sbin/nologin xiyou
useradd -m -s /sbin/nologin shuihu

登陆限制添加账户*******************统一都加上
useradd -m -s /bin/bash tangseng
useradd -m -s /bin/bash sunwukong
useradd -m -s /bin/bash zhuabajie
useradd -m -s /bin/bash shaseng

***********************************
echo "tangseng:123123"|chpasswd
echo "sunwukong:123123"|chpasswd
echo "zhubajie:123123"|chpasswd
echo "shaseng:123123"|chpasswd
echo "xiyou:123123" | chpasswd
echo "shuihu:123123" | chpasswd
************************************
@@@@三个题可一起做:
chroot_list做如下:

vim +122,123,125 /etc/vsftpd.conf
    chroot_local_user=YES               
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    @@@@添加如下
    allow_writeable_chroot=YES
echo 'shuihu' >> /etc/vsftpd.chroot_list
   
 @@@登陆限制题添加: 
    userlist_enable=YES
    userlist_deny=NO
   
   匿名用户账户题:
   +25,31,40,44, 去掉#
    anonymous_enable=YES
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_umask=022 # 本条配置自行添加
#当chroot_local_usdock
######## 如果ftp前面还有userlist那道题,就加上以下命令
echo 'tangseng' >> /etc/vsftpd.chroot_list
echo 'sunwukong' >> /etc/vsftpd.chroot_list
echo 'zhubajie' >> /etc/vsftpd.chroot_list
echo 'shaseng' >> /etc/vsftpd.chroot_list
echo 'ftp' >> /etc/vsftpd.chroot_list
echo 'anonymous' >> /etc/vsftpd.chroot_list
######如果有登陆限制的添加如下:
echo 'tangseng' >> /etc/vsftpd.user_list
echo 'sunwukong' >> /etc/vsftpd.user_list
# 如果还有ftp匿名登录的题,加上下面两行命令
echo 'ftp' >> /etc/vsftpd.user_list
echo 'anonymous' >> /etc/vsftpd.user_list
# 如果还有ftpchrootlist登录的题,加上下面两行命令
echo 'xiyou' >> /etc/vsftpd.user_list
echo 'shuihu' >> /etc/vsftpd.user_list

下面这步很重要:
vim /etc/pam.d/vsftpd
# auth  required        pam_shells.so   # 注释掉这行代码,关闭pam验证
systemctl restart vsftpd

Server2:
apt install ftp lftp
ftp验证:
# xiyou只能切换到自己的家目录下
ftp 10.10.123.101
Name: xiyou
Password: 123123
\> cd /
\> ls
\> exit
2. FTP用户登陆限制

​ 使用user_list 方式

​ 创建tangseng、sunwukong、zhubajie、shaseng四个FTP用户,密码为’123123’

​ 只允许tangseng、sunwukong可以登陆FTP服务器

​ 其他用户将不被允许登陆

Server1:
useradd -m -s /bin/bash tangseng
useradd -m -s /bin/bash sunwukong
useradd -m -s /bin/bash zhuabajie
useradd -m -s /bin/bash shaseng

echo "tangseng:123123"|chpasswd
echo "sunwukong:123123"|chpasswd
echo "zhubajie:123123"|chpasswd
echo "shaseng:123123"|chpasswd

echo 'tangseng' >> /etc/vsftpd.user_list
echo 'sunwukong' >> /etc/vsftpd.user_list
# 如果还有ftp匿名登录的题,加上下面两行命令
echo 'ftp' >> /etc/vsftpd.user_list
echo 'anonymous' >> /etc/vsftpd.user_list

vim /etc/vsftpd.conf  # 添加以下内容userlist_enable=YES 是白名单
    userlist_enable=YES
    userlist_deny=NO
systemctl restart vsftpd

# 如果还有ftpchrootlist登录的题,加上下面两行命令
echo 'tangseng' >> /etc/vsftpd.chroot_list
echo 'sunwukong' >> /etc/vsftpd.chroot_list
echo 'zhubajie' >> /etc/vsftpd.chroot_list
echo 'shaseng' >> /etc/vsftpd.chroot_list
systemctl restart vsftpd.service 

Server2:
ftp 10.10.123.101
Name: tangseng # sunwukong、zhubajie、shaseng
Password: 123123
# tangseng、sunwukong可以访问,zhubajie、shaseng不能访问即为成功
3.创建FTP服

创建/srv/ftp/pub 目录

要求在server2上使用匿名用户可以在/srv/ftp/pub/里面执行上传以及下载

server1:
vim +25,31,40,44 /etc/vsftpd.conf
    anonymous_enable=YES
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
  
    
     mkdir -pv /srv/ftp/pub
很重要:chmod -R o+rw /srv/ftp/pub


# 如果还有ftp匿名登录的题,加上下面两行命令
echo 'ftp' >> /etc/vsftpd.user_list
echo 'anonymous' >> /etc/vsftpd.user_list

### 如果ftp前面还有userlist那道题,就加上以下命令
echo 'ftp' >> /etc/vsftpd.chroot_list
echo 'anonymous' >> /etc/vsftpd.chroot_list

systemctl restart vsftpd
验证:
Server2:
ftp 192.168.1.10
Name:ftp | anonymous
\> cd pub
\> get test.txt
\> exit

Server1:
rm -rf /srv/ftp/pub/test.txt
Server2:
rm -rf /root/test.txt
九、Dockerfile
1. 使用dockerfile创建nginx服务

在server1上面搭建docker服务,满足下列要求

下载http://virtual.storage.uosexam.com/exam/uos.tar文件

​ 导入uos.tar到docker并将uos打标签为uos:nginx

​ 基于uos:nginx镜像书写dockerfile,安装nginx服务,访问默认主页返回内容为:I'm UOS NGINX

​ nginx为开机自起动;

​ 生成的新镜像命令为uos:nginx2

​ 基于uos:nginx2镜像,生成容器,命名为mynginx,并映射到server1的8888端口

​ 访问server1:8888,返回结果:I'm UOS NGINX


server1:
wget http://virtual.storage.uosexam.com/exam/uos.tar
#安装、开机自动启动
apt install -y docker.io
systemctl restart docker
systemctl enable docker
mkdir /docker
cp uos.tar  /docker
docker load -i /docker/uos.tar 
****上面指不可用时用docker import 来执行
#docker images  查看镜像 ,删除镜像的docker rmi uos:nginx 
docker tag uosproject/uos:latest uos:nginx
*****docker tag 如果前面为空,可用IMAGE id来创建*********
mkdir -pv docker_nginx && cd docker_nginx
vim Dockerfile
FROM uos:nginx
RUN apt update                   ******(这句必须有,否则会报错)
RUN apt install -y nginx 
RUN echo "I'm UOS NGINX" > /var/www/html/index.html
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

docker build -t uos:nginx2 .
docker run -d -p 8888:80 --name mynginx --restart=always uos:nginx2  
注意=前后不能有空格
##查看容器信息:docker ps ,停止容器 docker stop 5b70414379ed ,删除docker rm 5b70414379ed

Server1:出现I'm UOS NGINX
curl 10.10.123.101:8888
2. 使用docker创建ssh服务

​ 下载http://virtual.storage.uosexam.com/exam/uos.tar

​ 导入uos.tar到docker并将uos打标签为uos:v1

​ 基于uos:v1镜像,编写dockerfile,要求:

映射ssh端口到server1的2222端口;

​ 创建登录用户uos密码uos;

​ 配置sshd服务;

​ 设置开机自启ssh服务;

​ 命名为uos:v2镜像;

​ 根据uos:v2镜像创建名为myssh的容器,要求:

​ 可随主机启动时启动容器;

​ 可以从server1通过uos用户ssh登录

#安装、开机自动启动
apt install -y docker.io
systemctl restart docker
systemctl enable docker
docker load -i /docker/uos.tar 
docker images
docker tag uosproject/uos:latest uos:v1
mkdir -pv myuos && cd myuos
vim Dockerfile
FROM uos:v1
RUN mkdir -pv /run/sshd \
&& apt update \ 
&& apt install nmap -y  \
&& apt install openssh-server -y
RUN useradd -m uos
RUN /bin/echo "uos:uos" | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]

docker build -t uos:v2 .   ###注意后的点不要落下
docker run -d -p 2222:22 --name myssh --restart=always uos:v2

验证:
server1:
ssh -l uos -p 2222 10.10.123.101    ###server1
3. 使用docker创建wordpress服务

在server1上面搭建docker服务,满足下列要求

​ 导入mysql.tar和wordpress.tar到docker

​ 后台启动mysql容器,名称设置为mysql.wordpress,并设置数据库root密码admin

​ 启动wordpress容器,名称设置为wordpress,映射本机8008端口到容器的80端口,数据库指定为

mysql.wordpress容器

​ 浏览访问server1的8008端口,可以登录wordpress服务

#安装、开机自动启动
apt install -y docker.io
systemctl restart docker
systemctl enable docker
cp mysql.tar /docker/
cp wordpress /docker/
docker load -i /docker/mysql.tar
docker load -i /docker/wordpress.tar
##下面中的版本信息是用docker images 查看的

docker run -d --name mysql.wordpress -e MYSQL_ROOT_PASSWORD=admin -p 33060:3306 mysql:5.6
docker run -d --name wordpress --link mysql.wordpress:mysql  -p 8008:80 wordpress:4.9.4
docker ps
验证:
网页打开: 10.10.123.101:8008  选择语方界面正确
十、 ansible题
1. 文本内容替换

在server1上,创建名为/root/replace.yml的playbook文件,要求如下:

​ 编写hosts, 写入主机节点:

​ server1在web组中

​ server2在db组中

该playbook执行后将/etc/motd替换为下面的文本:

​ 在web组当中,该文本替换为:welcome to uos web server

​ 在db组当中,该文本替换为:welcome to uos sql service

server1上做如下操作:
apt install -y ansible
#设置ROOT且必须免密登录,Server1,Server2 都需要配置
vim /etc/ansible/hosts
[web]
10.10.123.101
[db]
10.10.123.102

验证:Server1:
ansible server1 -m ping
ansible server2 -m ping
ansible all -m ping # 全绿即成功
#server1.yml
vi /root/replace.yml
---
- hosts: web
  tasks:
    - name: web 
      shell: echo "welcome to uos web server" > /etc/motd
- hosts: db
  tasks:
    - name: db
      shell: echo "welcome to uos sql sevice" > /etc/motd
      
##语法检查:
ansible-playbook --syntax-check  replace.yml
ansible-playbook replace.yml
检查验证:
Server1/2:
cat /etc/motd
ansible all -m ping  全绿
2. 使用Ansible安装软件包

在server1上安装配置ansible,满足下列要求

​ server1在web组里面

​ server2在db组

​ 编写一个playbook名称为/root/apt.yml、满足下列要求

​ 在web组安装软件包”php-mysql”、”php-fpm”、”gcc”

​ 在db组安装”mariadb-server”

​ 使mariadb-server服务启动、并实现开机自启动

server1:
apt install -y ansible
#设置免密登录,Server1,Server2 都需要配置
vim /etc/ansible/hosts
[web]
10.10.123.101 
[db]
10.10.123.102 

#server1.yml
vi /root/apt.yml
---
- hosts: web
  remote_user: root
  tasks:  
    - name: web
      apt: name=php-mysql,php-fpm,gcc state=present
- hosts: db
  remote_user: root
  tasks:
    - name: db
      apt: name=mariadb-server state=present
    - name: enable
      service: name=mariadb state=started

ansible-playbook --syntax-check  apt.yml
ansible-playbook apt.yml  全绿通过
十一、 Mysql

数据库内容查找
1、在server1上创建mariadb数据库,并实现下列要求

​ root密码设置为txuos

​ 下载http://virtual.storage.uosexam.com/exam/scott.sql文件

​ 导入scott.sql文件

为deepin用户授权,只能访问scott库,密码为txuos

2、按照下列要求查询数据

​ 在scott库的emp表中查找deptno为30并且sal大于2000的人,将查找出来的名字写入/var/lib/mysql/exam.txt中

1、答案 server1
apt install mariadb-server
systemctl restart mariadb.service
systemctl enable mariadb              一定要先启服务,再改密码,否则起不来
mysqladmin -u root password txuos            *****(改root密码)
systemctl restart mariadb.service
wget http://virtual.storage.uosexam.com/exam/scott.sql
mysql -uroot -ptxuos < scott.sql 
mysql -uroot -ptxuos
进入mariadb后
\>show databases;
\>grant all on scott.* to deepin@'%' identified by "txuos";
\>flush privileges;
\>exit
systemctl restart mariadb

2、答案 server1
mysql -uroot -ptxuos scott;
\>show tables;
\>desc emp;
\>select ename from emp where deptno=30 and sal>2000 into outfile'/var/lib/mysql/exam.txt';
\>exit
cat /var/lib/mysql/exam.txt

十二、DHCP

# 主机exam1,Mac地址为f4:b5:20:26:c3:7c的网卡可以获取到的IP地址为192.168.1.100
# 主机exam2,Mac地址为32:C3:21:A7:33:DE的网卡可以获取到的IP地址为192.168.1.101
# 主机exam3,Mac地址为67:BB:83:A4:74:C0的网卡可以获取到的IP地址为192.168.1.102

Server1:
lsof -i:67
apt install isc-dhcp-server
ifconfig

vim /etc/default/isc-dhcp-server
    INTERFACESv4="ens3" # 将监听端口修改为对应网卡

vim /etc/dhcp/dhcpd.conf  
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.102;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 192.168.1.10;
  option routers [route -n];192.168.1.254
  option broadcast-address 192.168.1.255;
  default-lease-time 600;
  max-lease-time 7200;
    }
host exam1 {    
  hardware ethernet f4:b5:20:26:c3:7c;
  fixed-address 192.168.1.100;
    }   
host exam2 {
  hardware ethernet 32:C3:21:A7:33:DE;
  fixed-address 192.168.1.101;
    }
host exam3 {
  hardware ethernet 67:BB:83:A4:74:C0;
  fixed-address 192.168.1.102;
    }

systemctl enable / restart isc-dhcp-server
---
Server1:
lsof -i:67
netstat -uap # 启动exam1/2/3查看dhcp是否正常运行,dhcp是否生效

标签: Linux