tx
陆拾柒
文章
29
评论
84

金砖服务样题详解

系统:Rocky 9.0
工具:SecureCRT 9.5.2

1.DNS服务部署

(1)配置Linux1为主DNS服务器,Linux2为备用DNS服务器,为所有Linux主机提供冗余DNS正反向解析服务。正向区域文件均为/var/named/named.skills,反向区域文件均为/var/named/named.10

a.在Linux1和Linux2中安装DNS

yum install bind bind-utils -y

b.修改Linux1主配置文件并配置域名区域

vim /etc/named.conf 

vim /etc/named.rfc1912.zones
zone "skills.com" IN {
        type master;
        file "named.skills";
        allow-update { 10.0.220.102; };
};

zone "220.0.10.in-addr.arpa" IN {
        type master;
        file "named.10";
        allow-update { 10.0.220.102; };
};

c.在Linux1中配置正反向域名解析

cp -a /var/named/named.localhost /var/named/named.skills
cp -a /var/named/named.loopback /var/named/named.10
vim /var/named/named.skills

vim /var/named/named.10


d.在Linux2中修改主配置文件(与Linux1相同)并配置域名区域

vim /etc/named.rfc1912.zones


e.查看解析文件是否传到了Linux2中

ls /var/named/slaves/

2.NTP服务部署

(1)利用chrony,配置Linux1为其他Linux主机提供NTP服务

a.修改配置文件,并重启服务器

vim /etc/chrony.conf


b.客户端配置方法

vim /etc/chrony.conf

3.Ansible服务部署

(1)所有Linux主机之间(包含所有主机)root用户实现密钥ssh认证

a.在CRT中的命令窗口控制所有主机生成key

ssh-keygen -t rsa


b.再使用命令窗口将key传给最后一台主机

ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.220.109


c.使用命令窗口从最后一台主机传给自己

scp 10.0.220.109:/root/.ssh/authorized_keys /root/.ssh/

(2)在Linux1上安装系统自带的ansible-core,作为ansible控制节点。linux2-linux9作为ansible的受控节点

a.在Linux1中安装ansible-core

yum install ansible-core -y

b.生成新的配置文件

ansible-config init --disabled > /etc/ansible/ansible.cfg

c.修改配置文件中的第137、318、220、209行

[defaults]
inventory=/etc/ansible/hosts
host_key_checking = False
remote_user = root
private_key_file = /root/.ssh/id_rsa


d.在末尾添加主机清单

vim /etc/ansible/hosts


e.最后测试是否成功

ansible all -m ping

4.CA服务部署

(1)配置Linux1为CA服务器,为Linux主机颁发证书。证书颁发机构有效期=10 年,公用名=linux1.skills.com。申请并颁发一张证书,证书信息:有效期=10年,公用名=skills.com,国家=CN,省=Beijing,城市=Beijing,组织=skills,组织单位=system,使用者可选名称=*.skills.com 和skills.com。将证书 skills.crt 和私钥 skills.key 复制到需要证书的 linux服务器/etc/pki/tls 目录。浏览器访问https网站时,不出现证书警告信息

a.安装openssl

yum install openssl* -y

b.创建自签名

cd /etc/pki/CA/
touch index.txt
echo 01 >serial
openssl genrsa -out private/cakey.pem
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 -subj "/CN=linux1.skills.com"

c.创建私钥及创建csr申请

openssl genrsa -out skills.key
openssl req -new -key skills.key -out skills.csr


d.创建文档并颁发证书

vim s.conf
subjectAltName=DNS.1:*skills.com,DNS.2:skills.com
openssl x509 -req -in skills.csr -CA cacert.pem -CAkey private/cakey.pem -out skills.crt -days 3650 -extfile s.conf

e.验证证书

openssl x509 -in skills.crt -text -noout | grep -A5 "Subject Alternative Name"


e.最后再将证书文件传其他Linux

5.Apache2服务部署

(1)配置Linux1为 Apache2服务器,使用skills.com或any.skills.com(any 代表任意网址前缀,用linux1.skills.com 和 web.skills.com 测试)访问时,自动跳转到 www.skills.com。禁止使用 IP 地址访问,默认首页文档/var/www/html/index.html的内容为"HelloApache"

a.安装httpd服务

yum install httpd mod_ssl -y

b.修改配置文件

vim /etc/httpd/conf.d/skills.conf

(2)把/etc/pki/tls/skills.crt证书文件和/etc/pki/tls/skills.key私钥文件转换成含有证书和私钥的/etc/pki/tls/skills.pfx文件;然后把/etc/pki/tls/skills.pfx转换为含有证书和私钥的/etc/pki/tls/skills.pem文件,再从/etc/pki/tls/skills.pem文件中提取证书和私钥分别到/etc/pki/tls/apache.crt和/etc/pki/tls/apache.key

(3)客户端访问Apache服务时,必需有ssl证书

a.修改SSL配置文件的第85、93、115、116行


b.拷贝证书并更新

cp -a /etc/pki/CA/cacert.pem /etc/pki/ca-trust/source/anchors/
update-ca-trust

c.测试访问

curl https://www.skills.com

6.Samba服务部署

(1)在linux4上创建user00-user19等20个用户;user00和user01添加到manager组,user02和user03添加到dev组。把用户 user00-user03添加到samba用户

a.创建sh脚本实现以上要求

vim useradd.sh
#!/bin/bash
# 创建组
sudo groupadd manager
sudo groupadd dev
# 创建用户并设置组
for i in {00..19}; do
    username="user$i"
    # 创建用户
    sudo useradd -m $username
    # 设置密码(与用户名相同)
    echo "$username:$username" | sudo chpasswd
    # 根据用户编号设置组
    if [ $i -eq 00 ] || [ $i -eq 01 ]; then
        sudo usermod -g manager $username
    elif [ $i -eq 02 ] || [ $i -eq 03 ]; then
        sudo usermod -g dev $username
    fi
done
# 将user00-user03添加到samba用户
for i in {00..03}; do
    username="user$i"
    echo -e "$username\n$username" | sudo smbpasswd -a $username
done

b.执行脚本并测试是否创建成功
sh useradd.sh

站点防火墙拦截测试命令请自行百度

(2)配置linux4为samba服务器,建立共享目录/srv/sharesmb,共享名与目录名相同。manager组用户对sharesmb共享有读写权限,dev组对sharesmb共享有只读权限;用户对自己新建的文件有完全权限,对其他用户的文件只有读权限,且不能删除别人的文件。在本机用smbclient命令测试

a.编辑主配置文件

mkdir /srv/sharesmb
vim /etc/samba/smb.conf

7.NFS服务部署

(1)在Linux5上,创建用户,用户名为xiao,uid=2222,gid=2222,家目录为/home/xiaodir

useradd xiao -d /home/xiaodir
usermod -u 2222 xiao
groupmod -g 2222 xiao

(2)配置Linux5为 nfs 服务器,目录/srv/sharenfs的共享要求为:Linux服务器所在网络用户有读写权限,所有用户映射为xiao

yum install nfs-utils -y
mkdir /srv/sharenfs
chmod 777 /srv/sharenfs

a.编辑配置文件

vim /etc/exports
/srv/sharenfs   10.0.220.0/24(rw,sync,anonuid=2222,anongid=2222)

b.客户端配置

yum install nfs-utils -y
mkdir /nfsshare
mount -t nfs 10.0.220.105:/srv/sharenfs /nfsshare

8.MySQL服务部署

(1)配置Linux7为mysql 服务器,创建数据库用户xiao,在任意机器上对所有数据库有完全权限

a.配置MySQL允许远程连接

vim /etc/my.cnf
[mysqld]
bind-address = 0.0.0.0
secure-file-priv=/var/mysql
local_infile=1
systemctl restart mysqld

b.创建数据库用户及权限

create user 'xiao'@'%' identified by 'ChinaSkill23!';
grant all on *.* to 'xiao'@'%';

(2)创建数据库userdb;在库中创建表userinfo,表结构如下:

字段名数据类型主键自增
idint
namevarchar(10)
heightfloat
birthdaydatetime
sexvarchar(5)
passwordvarchar(100)
create database userdb;
mysql> create table userinfo (
    -> id int auto_increment primary key,
    -> name varchar(10) not null,
    -> height float,
    -> birthday datetime,
    -> sex varchar(5),
    -> password varchar(100) not null  
    -> );

(3)在表中插入2条记录,分别为(1,user1,1.61,2000-07-01,M),(2,user2,1.62,2000-07-02F),password字段与name字段相同,password字段用md5函数加密

mysql> insert into userinfo (id, name, height, birthday, sex, password) values
    -> (1, 'user1', 1.61, '2000-07-01', 'M', MD5('user1')),
    -> (2, 'user2', 1.62, '2000-07-02', 'F', MD5('user2'));

(4)新建/var/mysql/userinfo.txt文件,文件内容如下,然后将文件内容导入到userinfo表中password字段用md5函数加密

3,user3,1.63,2000-07-03,F,user3
4,user4,1.64,2000-07-04,M,user4
5,user5,1.65,2000-07-05,M,user5
6,user6,1.66,2000-07-06,F,user6
7,user7,1.67,2000-07-07.F,user7
8,user8,1.68,2000-07-08,M,user8
9,user9,1.69,2000-07-09,F,user9

tee /ar/mysql/userinfo.txt > /dev/null << 'EOF'
3,user3,1.63,2000-07-03,F,user3
4,user4,1.64,2000-07-04,M,user4
5,user5,1.65,2000-07-05,M,user5
6,user6,1.66,2000-07-06,F,user6
7,user7,1.67,2000-07-07,F,user7
8,user8,1.68,2000-07-08,M,user8
9,user9,1.69,2000-07-09,F,user9
EOF
mysql> use userdb;
mysql> load data local infile '/var/mysql/userinfo.txt'
    -> into table userinfo 
    -> fields terminated by ','
    -> lines terminated by '\n'
    -> (id, name, height, birthday, sex, password)
    -> set password = MD5(password);

(5)将表userinfo中的记录导出,并存放到/var/mysql/userinfo.sql,字段之间用','分隔

mysql> select * from userinfo 
    -> into outfile '/var/mysql/userinfo.sql'
    -> fields terminated by ','
    -> lines terminated by '\n';

(6)为root用户创建计划任务(day用数字表示),每周五凌晨1:00备份数据库userdb(含创建数据库命令)到/var/mysql/userdb.sql(便于测试,手动备份一次)

crontab -u root -e
0 1 * * 5 mysqldump -u root -p密码 --databases userdb > /var/mysql/userdb.sql
mysqldump -u root -p密码 --databases userdb > /var/mysql/userdb.sql

评论区 (0)


tx

暂无评论 >_<