🥇 第一梯队:绝对优先拿下的“送分题”
这些任务命令短、逻辑简单,考场上一定要最先做。
1. NFS 文件共享服务 (📍 所属服务器:Linux-1)
【赛题原文】 2. Linux NFS 服务器配置 【任务描述】为让不同的客户端及服务端共同进行文件的分享,请采用NFS服务器,实现不同的主机和操作系统共享彼此的数据。 (1)配置 Linux-1为NFS服务器,按下表要求共享目录:
/home:本服务器网段的用户具有读写权限,其它只读
/var/tmp:所有人都可以存取,root写入的文件还具有root的权限
💻 速查配置:
Bash
# 1. 安装服务
yum install -y nfs-utils
# 2. 编辑配置文件
vi /etc/exports
# 写入以下两行:
/home 10.10.70.0/24(rw,sync) *(ro,sync)
/var/tmp *(rw,sync,no_root_squash)
# 3. 启动并设置自启
systemctl start nfs-server
systemctl enable nfs-server
2. Samba 共享服务 (📍 所属服务器:Linux-1)
【赛题原文】 5. Linux samba 服务配置 【任务描述】为在Linux 和 Windows 之间实现共享文件和打印机的安全访问,请采用 samba服务器,实现Windows 操作系统和Linux操作系统的资源共享兼容。 (1)在Linux-1服务器中安装配置Samba服务,创建三个用户user4, user5, user6; (2)建立共享目录/opt/finance_share,要求共享名为archive,user4, user5, user6用户都能通过输入用户名和密码登录并上传文件; (3)实现 user4能够查看和删除所有人的文件,user5能够查看所有人的文件,但不能删除别人的文件,user6只能查看和删除自己的文件,不能查看和删除别人的文件;
💻 速查配置:
(注:赛题第3点属于高级 ACL 权限控制,考场上为了抢分,我们优先保证前两点核心得分,并在底层赋予最高读写权限避免被系统拦截。)
Bash
# 1. 安装与建系统用户
yum install -y samba
useradd user4
useradd user5
useradd user6
# 2. 必须设置 Samba 独立密码 (依次按提示盲打密码)
smbpasswd -a user4
smbpasswd -a user5
smbpasswd -a user6
# 3. 创建目录并给满底层权限 (关键,防拦截)
mkdir -p /opt/finance_share
chmod 777 /opt/finance_share
# 4. 编辑配置
vi /etc/samba/smb.conf
# 在最末尾追加:
[archive]
path = /opt/finance_share
writable = yes
valid users = user4,user5,user6
# 5. 启动并设置自启
systemctl restart smb
systemctl enable smb
3. Apache (Web) 网站与 SSL (📍 所属服务器:Linux-3)
【赛题原文】 4. Linux Apache 配置 【任务描述】为了搭建快速、可靠的网页服务器,请采用Apache服务器,实现对企业网站的安全有效访问。 (1)配置 Linux-3 中安装httpd服务,建立虚拟主机站点 www.netdj.net,其网站主目录为/www/netdj,主页名字为netdj.html,首页内容为“Welcome CCF website"; (2)使用 openssl申请证书,创建自签名证书 server.crt 和私钥 server.key,要求只允许使用域名通过SSL加密访问;
💻 速查配置:
Bash
# 1. 安装核心与 SSL 模块
yum install -y httpd mod_ssl
# 2. 建目录写主页
mkdir -p /www/netdj
echo "Welcome CCF website" > /www/netdj/netdj.html
# 3. 生成自签名证书 (这段必须死记硬背!)
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/conf.d/server.key -out /etc/httpd/conf.d/server.crt -subj "/CN=www.netdj.net"
# 4. 编辑虚拟主机配置
vi /etc/httpd/conf.d/netdj.conf
# 写入:
<VirtualHost *:443>
ServerName www.netdj.net
DocumentRoot /www/netdj
DirectoryIndex netdj.html
SSLEngine on
SSLCertificateFile /etc/httpd/conf.d/server.crt
SSLCertificateKeyFile /etc/httpd/conf.d/server.key
</VirtualHost>
# 5. 启动并设置自启
systemctl restart httpd
systemctl enable httpd
🥈 第二梯队:稳扎稳打的“大分题”
这些任务需要敲比较多的键盘,但逻辑连贯。
1. MariaDB 数据库操作 (📍 所属服务器:Linux-2)
【赛题原文】 3. Linux Mariadb 服务配置 【任务描述】为按数据结构来存储和管理数据,请采用Mariadb 服务器,实现方便、严密、有效的数据组织、数据维护、数据控制和数据运用。 (1)配置 Linux-2为Mariadb服务器,创建数据库为userdb;在库中创建表为userinfo,在表中创建2个用户,分别为 (1, myuser1, 1995-7-1,男), (2, myuser2, 1995-9-1,女),口令与用户名相同,要求password 字段以密文显示; (2)修改用户 myuser2的出生日期为1996-10-25。 (3)修改表 userinfo的结构,添加新字段age(数据类型为int),新字段的有效值依次为(21,22)。 (4)将表 userinfo 中的记录导出,并存放到/var/databak/mysql.sql文件中。 (5)创建文本文件/var/databak/mysql.txt,并输入两行记录(3, myuser3, 1999-7-1,女,myuser3, 17)和(4, myuser4, 1999-12-10,男,myuser4,17),将mysql.txt中的内容导入到userinfo 表中。
💻 速查配置:
Bash
# 1. 安装并启动
yum install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb
# 2. 进入数据库: mysql -u root
CREATE DATABASE userdb;
USE userdb;
CREATE TABLE userinfo (id int PRIMARY KEY AUTO_INCREMENT, name varchar(10), birthday datetime, sex char(5), password char(200));
INSERT INTO userinfo VALUES (1, 'myuser1', '1995-07-01', '男', MD5('myuser1'));
INSERT INTO userinfo VALUES (2, 'myuser2', '1995-09-01', '女', MD5('myuser2'));
UPDATE userinfo SET birthday='1996-10-25' WHERE name='myuser2';
ALTER TABLE userinfo ADD age int;
UPDATE userinfo SET age=21 WHERE id=1;
UPDATE userinfo SET age=22 WHERE id=2;
exit;
# 3. 备份与导入
mkdir -p /var/databak
mysqldump -u root userdb userinfo > /var/databak/mysql.sql
echo "3,myuser3,1999-7-1,女,myuser3,17" > /var/databak/mysql.txt
echo "4,myuser4,1999-12-10,男,myuser4,17" >> /var/databak/mysql.txt
# 再次进入数据库: mysql -u root
USE userdb;
LOAD DATA INFILE '/var/databak/mysql.txt' INTO TABLE userinfo FIELDS TERMINATED BY ',';
exit;
2. Linux 高可靠性配置 - 磁盘与 RAID (📍 所属服务器:Linux-2)
【赛题原文】 6. Linux 高可靠性配置 【任务描述】磁盘的有效管理可以提高计算机资源的利用和数据的安全性。 (1)在Linux-2中手动添加四块SCSI硬盘均为1G,将前三块硬盘设置为一个主分区,第四块硬盘设置为两个逻辑分区(分别500MB容量),并完成磁盘阵列RAID10的操作; (2)将RAID10的/dev/md10分区,分出一个大小为1G的空间,格式化为 swap 分区,设为开机生效; (注:第3-5小题属于耗时的 LVM 动态扩缩容,考场建议优先做前两小题。)
💻 速查配置:
Bash
yum install -y mdadm
# sda, sdb, sdc 分别执行 fdisk,依次 n -> p -> 回车三下 -> w
# sdd 执行 fdisk,依次 n -> e -> 回车三下; n -> 回车 -> +500M; n -> 回车 -> +500M; w
mdadm -C /dev/md10 -l 10 -n 4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd5
# 切 Swap
fdisk /dev/md10 # 依次 n -> p -> 回车两下 -> +1G -> w
mkswap /dev/md10p1
swapon /dev/md10p1
🥉 第三梯队:极易踩坑的“危险区”
时间充裕再去攻克。
1. Squid 代理服务 (📍 所属服务器:Linux-1)
【赛题原文】 1. Linux Squid 服务配置 (2)安装并完成代理服务器 squid的初始配置,使用8090作为代理服务端口,指定DNS服务器IP地址信息,使得 squid 服务器能够解析域名; (3)设置squid代理服务器采用ufs缓存机制,缓存目录设置为/cache,目录容量为5GB,L1及L2级目录数量分别为16及256,定义高速缓存值为512MB,并将缓存日志存放于/var/squid/cache.log中; (4)设置禁止访问.mp4、.avi 扩展名后缀的资源; (5)设置需要身份认证的代理方式,认证方式为基础认证,认证程序的进程为5个,账户为proxy_user,账户存储在/squid/squid_user,密码为user_proxy;
💻 速查配置:
Bash
# 核心避坑:关 SELinux 并建权限
setenforce 0
mkdir -p /cache && chown squid:squid /cache
mkdir -p /squid && htpasswd -c /squid/squid_user proxy_user
yum install -y squid httpd-tools
vi /etc/squid/squid.conf
# 写入:
http_port 8090
dns_nameservers 10.10.70.11
cache_dir ufs /cache 5120 16 256
acl block_media urlpath_regex -i \.mp4$ \.avi$
http_access deny block_media
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /squid/squid_user
auth_param basic children 5
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
(DNS 的配置规则严苛,建议依然放在最后,这里暂不赘述以免冲淡重点。)