Debian 综合服务实训:Apache2、Samba、LDAP、vsftpd 与 OpenVPN
Debian 综合服务实训Apache2、Samba、LDAP、vsftpd 与 OpenVPN1. 服务介绍本文整理一套 Debian 综合服务实验不只包含 Apache2Apache2 负责 HTTP/HTTPS 网站和 LDAP 认证Samba 提供 SMB 文件共享OpenLDAP 保存统一账号vsftpd 提供受限 FTP 传输OpenVPN 提供远程访问。每个服务都有独立配置和验证步骤适合网络服务综合实训。目标包括• Apache2 发布www.chinaskills.cn启用 HTTPS、HTTP 重定向、LDAP 认证和安全响应头。• Samba 提供认证共享和匿名公共共享结合 SGID/sticky bit 控制删除权限。• OpenLDAP 创建chinaskills.cn目录和ldsgp用户组为 Apache/Samba 提供认证。• vsftpd 提供虚拟用户 FTP限制根目录和上传类型。• OpenVPN 为 OutsideCli 分配172.16.0.100-172.16.0.120地址只允许访问授权内网。2. 准备运行环境• Debian 服务器Apache2、Samba、OpenLDAP、vsftpd、OpenVPN 可按角色部署在独立主机也可在实验中合并。• 角色示例WebSrv、StorageSrv、RouterSrv、OutsideCli、InsideCli。• 权限root 或 sudo 管理账号数据库、LDAP bind 密码和 VPN 私钥使用安全存储。• DNS准备www.chinaskills.cn、download.chinaskills.cn等解析客户端 DNS 必须指向可解析这些名称的服务器。• 证书准备受信任 CA 根证书和 Web 服务器证书证书 SAN 必须包含访问域名。• 网络HTTP TCP 80、HTTPS TCP 443、SMB TCP 445、LDAP TCP 389/636、FTP TCP 21、OpenVPN UDP 1194 按拓扑放行。• 文件目录网站/webdataSamba/data/share1与/data/publicFTP 根目录按实际配置创建。• 示例地址文章只使用文档网段和占位域名不要复制原实验中的公网地址、密码或共享密钥。3. 相关知识与注意点• Apache 虚拟主机、TLS 证书、LDAP 认证、目录权限和防火墙必须同时正确单独看到 443 监听不能证明站点可用。•ServerTokens Prod和ServerSignature Off可以减少版本泄露但不能替代补丁、WAF 和最小权限。• Samba 的上传权限由目录权限、smb.conf、有效用户和客户端认证共同决定匿名共享不要与敏感目录复用。• SGID 目录让新文件继承组sticky bit 限制删除者为文件所有者、目录所有者或 root。不要用chmod -R 777代替权限设计。• LDAP 密码、管理员 DN 和证书私钥不能写入文章或命令历史生产环境启用 LDAPS 或 StartTLS限制匿名查询。• FTP 明文传输风险高。实验使用 vsftpd 时应启用 FTPS、限制用户根目录和被动端口生产优先使用 SFTP/HTTPS。• OpenVPN 地址池必须避开现有网段VPN 已连接不等于内网可达还要检查路由、转发、NAT 和防火墙。• 每项修改先做语法检查再 reload/restart验证同时看服务状态、监听端口、日志和客户端结果。4. 实验步骤4.1 Apache2 网站、HTTPS 与 LDAP 认证安装基础组件apt update apt install -y apache2 openssl libapache2-mod-ldap-userdir \ libapache2-mod-ldap-userdir ldap-utils systemctl enable --now apache2创建网站目录和首页install -d -o root -g www-data -m 0755 /webdata printf %s\n This is the front page of CSKs website /webdata/index.html chown root:www-data /webdata/index.html chmod 0644 /webdata/index.html创建虚拟主机/etc/apache2/sites-available/www.chinaskills.cn.confVirtualHost *:80 ServerName www.chinaskills.cn DocumentRoot /webdata Redirect permanent / https://www.chinaskills.cn/ Directory /webdata Options -Indexes AllowOverride None Require all granted /Directory /VirtualHost VirtualHost *:443 ServerName www.chinaskills.cn DocumentRoot /webdata SSLEngine on SSLCertificateFile /etc/ssl/certs/www.chinaskills.cn.crt SSLCertificateKeyFile /etc/ssl/private/www.chinaskills.cn.key Directory /webdata Options -Indexes AllowOverride None Require all granted /Directory ServerTokens Prod ServerSignature Off /VirtualHost启用模块、站点并检查a2enmod ssl rewrite ldap authnz_ldap headers a2ensite www.chinaskills.cn.conf apachectl configtest systemctl reload apache2原实验 Apache 配置截图目录列表、下载文件和安全响应头按题目要求配置。大文件下载、上传和日志目录要单独评估磁盘空间不能把 Web 根目录设置为可写。4.2 设置 SUID、SGID 与 sticky bit查看特殊权限ls -ld /data /data/public find /usr/bin -perm -4000 -type f -ls共享目录示例install -d -o root -g sambashare -m 2770 /data/share1 install -d -o user01 -g sambashare -m 3770 /data/public2770表示目录 SGID3770表示 SGID 加 sticky bit。实际用户和组按 LDAP/Samba 账号调整。4.3 Samba 认证共享和公共共享安装 Sambaapt install -y samba smbclient cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak.$(date %F-%H%M%S)配置/etc/samba/smb.conf[global] workgroup WORKGROUP security user map to guest Bad User server min protocol SMB2 [share1] path /data/share1 read only no browseable yes valid users sambashare force group sambashare create mask 0660 directory mask 2770 [public] path /data/public guest ok yes map to guest Bad User read only no browseable yes force group sambashare create mask 0660 directory mask 3770为认证用户设置 Samba 密码smbpasswd -a user01 smbpasswd -e user01 testparm -s systemctl restart smbd nmbd原实验共享目录和配置截图验证smbclient -L //127.0.0.1 -U user01 smbclient //127.0.0.1/share1 -U user01 smbclient //127.0.0.1/public -N公共目录要求所有用户上传但只有文件所有者、目录所有者或 root 删除文件。客户端使用put/get测试上传下载再用不同用户验证删除权限。4.4 OpenLDAP 目录服务安装 OpenLDAPapt install -y slapd ldap-utils migrationtools初始化目录时统一使用示例基准 DN例如dcchinaskills,dccn。管理员 DN、密码不要写入公开文档。检查服务systemctl enable --now slapd ldapwhoami -x -H ldap://127.0.0.1 -D cnadmin,dcchinaskills,dccn -W ldapsearch -x -H ldap://127.0.0.1 -b dcchinaskills,dccn -s base原实验 LDAP 配置和目录导入截图LDAP 账户接入系统、Apache 或 Samba 前先确认查询结果再调整 NSS/PAM、authnz_ldap或 Samba 后端。不要为了测试删除本地 root 或保留唯一远程管理员。4.5 vsftpd 虚拟用户安装并启用 FTPapt install -y vsftpd db-util cp -a /etc/vsftpd.conf /etc/vsftpd.conf.bak.$(date %F-%H%M%S) systemctl enable --now vsftpdFTP 根目录使用独立系统账号虚拟用户只映射到该账号。启用 FTPS、Chroot 和被动端口后再测试不在配置中写明文密码anonymous_enableNO local_enableYES write_enableYES chroot_local_userYES allow_writeable_chrootNO pasv_min_port30000 pasv_max_port30100 ssl_enableYES force_local_logins_sslYES force_local_data_sslYES原实验 FTP 配置截图4.6 OpenVPN 远程访问题目要求 VPN 客户端只能访问 InsideCli 网段和 StorageSrv 的 Samba 服务地址池为172.16.0.100-172.16.0.120。安装 OpenVPN 和证书工具apt install -y openvpn easy-rsa systemctl enable openvpn-serverserver服务端配置核心项port 1194 proto udp dev tun server 172.16.0.0 255.255.255.0 ifconfig-pool-persist /var/log/openvpn/ipp.txt push route 172.16.0.0 255.255.255.0 keepalive 10 120 persist-key persist-tun user nobody group nogroup status /var/log/openvpn/status.log log-append /var/log/openvpn/server.log verb 3证书和私钥文件只允许 root 读取。VPN 客户端配置中的remote、CA、客户端证书、私钥和端口必须与服务端一致。源文档截图启动并验证systemctl restart openvpn-serverserver systemctl --no-pager status openvpn-serverserver ip addr show tun0 ip route journalctl -u openvpn-serverserver -n 50 --no-pager防火墙只放行 VPN 入口和授权转发路径不要把 VPN 客户端默认路由无条件推向服务器。5. 验证结果5.1 Apache/HTTPSapachectl configtest systemctl is-active apache2 ss -lntp | grep -E :80|:443 curl -I http://www.chinaskills.cn/ curl -k -I https://www.chinaskills.cn/ tail -n 50 /var/log/apache2/error.log预期Apache activeHTTP 重定向到 HTTPS证书域名和信任链正确日志无持续错误。5.2 Samba/LDAPtestparm -s smbclient -L //127.0.0.1 -U user01 ldapsearch -x -H ldap://127.0.0.1 -b dcchinaskills,dccn (objectClass*) dn getent passwd user01预期Samba 共享可发现认证用户能按权限上传下载LDAP 能查询目录NSS/PAM 配置正确时能解析目录用户。5.3 vsftpd/OpenVPNsystemctl is-active vsftpd ss -lntp | grep :21 ss -lunp | grep :1194 ip addr show tun0 ip route journalctl -u vsftpd -n 50 --no-pager journalctl -u openvpn-serverserver -n 50 --no-pager客户端验证FTP 用户被限制在目标根目录VPN 客户端获得172.16.0.100-172.16.0.120地址只能访问题目授权网段和 Samba 服务。6. 常见问题排查• **Apache 403/404**检查虚拟主机匹配、DocumentRoot、目录权限、Require all granted和错误日志。• **HTTPS 警告**检查 CA 信任、SAN、有效期、私钥和中间证书不要用关闭验证替代修复。• **LDAP 认证失败**先用ldapsearch验证目录和 bind再检查 Apache DN/filter、Samba 后端和 TLS 信任。• **Samba 上传成功但不能删除**检查 SGID/sticky bit、目录属主属组和 Sambacreate mask/directory mask。• **Samba 匿名共享过宽**关闭 guest 或限制网络来源匿名可写目录不能存放配置、备份和密钥。• **FTP 登录越权**检查chroot_local_user、系统账号、文件权限和 PAM生产优先使用 SFTP/HTTPS。• **OpenVPN 连接成功但内网不通**检查ip_forward、路由、NAT、FORWARD 规则和授权网段VPN 地址池不能与现有网段重叠。• **OpenVPN 服务启动失败**执行openvpn --config /etc/openvpn/server.conf --test-crypto或查看 journal确认证书、私钥和配置语法。• **版本信息泄露**检查ServerTokens Prod、ServerSignature Off和响应头不要只隐藏页面文本。

相关新闻

Linux下软盘格式化实战:设备识别、fdformat与mkfs.vfat避坑指南

Linux下软盘格式化实战:设备识别、fdformat与mkfs.vfat避坑指南

简介:这份PDF面向Linux系统运维初学者与需要了解传统存储介质管理的开发者,聚焦Linux环境下软盘格式化的完整流程与配套工具。内容涵盖设备识别、fdformat低级格式化、mke2fs创建ext2文件系统、挂载访问,以及setfdprm调整软盘参数等关键环节&…

2026/9/30 20:02:54 阅读更多 →
Linux下软盘格式化实战:fdformat与mkfs.fat详解

Linux下软盘格式化实战:fdformat与mkfs.fat详解

简介:这份PDF面向Linux系统运维初学者与需要了解传统存储介质管理的开发者,系统梳理了在Linux命令行下对软盘进行格式化与备份的完整知识。内容涵盖软盘设备文件识别(如/dev/fd0、/dev/fd1)、fdformat低级格式化、mke2fs创建ext2文…

2026/9/30 20:02:54 阅读更多 →
Android 13 返回导航迁移与可预见返回手势

Android 13 返回导航迁移与可预见返回手势

Android 13 在返回导航上做了一次“换引擎但不换方向盘”的改造:系统层面把沿用了十多年的返回事件分发链路从按键事件模型迁移到了回调模型,同时引入了可预见型返回手势这套动画机制。如果你正在维护一个 targetSdk 已经推到 33 以上的 App,…

2026/9/30 20:02:54 阅读更多 →

最新新闻

缓存雪崩防御实战:从Redis TTL随机化到多级缓存与熔断限流

缓存雪崩防御实战:从Redis TTL随机化到多级缓存与熔断限流

缓存雪崩这词儿,我在生产环境里被它咬过不止一次,但真正让我把整套防御逻辑刻进脑子里的,是当时那个代号叫 Qwen3.5-Plus 的 AI 网关项目。那套服务用 Redis 缓存模型响应和中间计算结果,缓存 key 有几十万个。某个凌晨流量刚起&a…

2026/9/30 22:07:18 阅读更多 →
Flink实时特征工程与TensorFlow Serving在线推理实战:推荐系统秒级响应架构复盘

Flink实时特征工程与TensorFlow Serving在线推理实战:推荐系统秒级响应架构复盘

最近在帮朋友优化一个导购平台的推荐链路,感触很深。很多团队做推荐,模型训练和特征工程都挺完善,但到了线上,用户从"点击商品"到"推荐位更新"之间隔着十几分钟甚至更久,转化率就被拖垮了。我们后…

2026/9/30 22:07:18 阅读更多 →
DeepSeek工业标准知识增强:领域适应与QLoRA微调实战

DeepSeek工业标准知识增强:领域适应与QLoRA微调实战

简介:面向工业制造行业算法工程师、企业知识管理团队及技术决策者,这份231页的PDF方案系统拆解了基于DeepSeek领域适应机制的标准知识增强落地路径,解决行业标准分散、领域适配成本高、微调效率低等痛点。资源包为单个PDF文件,压缩…

2026/9/30 22:07:18 阅读更多 →
【Python 系统入门付费专栏】第 17 讲 网络爬虫基础:从 requests 请求到 BeautifulSoup 解析,结合并发实现高效数据采集

【Python 系统入门付费专栏】第 17 讲 网络爬虫基础:从 requests 请求到 BeautifulSoup 解析,结合并发实现高效数据采集

专栏导读:本专栏为 Python 从入门到算法落地系统付费专栏,共 5 大阶段 25 讲。从本文开始正式进入第四阶段「Python 主流领域应用」。网络爬虫是 Python 最经典的应用场景之一,也是数据采集、数据分析的前置核心环节。本文从爬虫的本质原理与合规原则出发,系统讲解 request…

2026/9/30 22:07:18 阅读更多 →
嵌入式偶发通信异常排查:串口假故障、蓝牙断连与烧录批次差异

嵌入式偶发通信异常排查:串口假故障、蓝牙断连与烧录批次差异

1. 这不是Bug,是信号世界的“幽灵现象”——串口假故障、蓝牙断连与批次差异的三重迷雾你有没有遇到过这样的情况:设备明明硬件完好、固件没改、接线也没松动,但串口突然收不到数据,隔五分钟又自己好了;蓝牙模块在实验…

2026/9/30 22:07:18 阅读更多 →
用trae自动生成有趣互动的登录页面:TaoToken统一Key接入与配置验证

用trae自动生成有趣互动的登录页面:TaoToken统一Key接入与配置验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 22:06:17 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/30 15:27:04 阅读更多 →