本实验内容
1.配置Samba文件共享服务器 2.使用Samba客户程序 3.配置vsftpd服务
前置条件
安装 Samba 服务端
1. 安装 Samba
bash
dnf install -y samba2. 创建 Samba 用户
bash
# 创建系统用户(禁止登录)
<NolebasePageProperties />
useradd -M -s /sbin/nologin smbuser
# 设置 Samba 密码
smbpasswd -a smbuser3. 创建共享目录
共享目录为 /srv/samba/share:
bash
mkdir -p /srv/samba/share
chown -R smbuser:smbuser /srv/samba/share
chmod -R 775 /srv/samba/share4. 编辑 Samba 配置文件
配置文件路径:/etc/samba/smb.conf
ini
[share]
comment = Share for smbuser
path = /srv/samba/share
browseable = yes
writable = yes
valid users = smbuser
force user = smbuser
read only = no说明:该配置仅允许 smbuser 用户访问共享目录,并拥有读写权限。
5. 配置 SELinux(如果启用)
bash
semanage fcontext -a -t samba_share_t "/srv/samba/share(/.*)?"
restorecon -Rv /srv/samba/share6. 配置防火墙
bash
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload7. 启动并设置开机自启
bash
systemctl enable --now smb8. 重启服务
bash
systemctl restart smb上述配置用于配置smbuser用户的访问,下文配置游客模式的smb共享
Samba客户端
Windows SMB客户端
客户端IP展示: ![[Pasted image 20250930155935.png]] 客户端连接服务器的samba服务器 ![[Pasted image 20250930160249.png]] 如下图,成功连接上SMB服务 ![[Pasted image 20250930160557.png]]
配置FTP服务
安装软件包
dnf install -y vsftpd创建FTP根目录
mkdir -p /data/vsftpd
chmod -R 755 /data/vsftpd
mkdir -p /data/vsftpd/upload
chmod 777 /data/vsftpd/upload修改配置文件
vi /etc/vsftpd/vsftpd.conf配置文件如下
listen=YES
listen_port=21
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_root=/data/vsftpd
anon_world_readable_only=NO
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
hide_ids=YES开启防火墙
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=40000-40100/tcp
firewall-cmd --reloadSeLinux放行
setsebool -P allow_ftpd_anon_write on
setsebool -P ftpd_full_access on启动并设置开机重启
systemctl enable --now vsftpd开放FTP端口
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=40000-50000/tcp
firewall-cmd --reload启用 vsftpd 的 SELinux 规则
setsebool -P ftpd_full_access on配置 vsftpd 主配置文件
vsftpd 的配置文件路径为:/etc/vsftpd/vsftpd.conf
先备份文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak编辑配置文件
vim /etc/vsftpd/vsftpd.conf推荐配置:
# 允许匿名访问(如不需要可设为NO)
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传文件
write_enable=YES
# 上传文件默认权限
local_umask=022
# 显示欢迎语
dirmessage_enable=YES
# 启用日志记录
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
# 使用 ASCII 模式传输文本文件
ascii_upload_enable=YES
ascii_download_enable=YES
# 使用 IPv4
listen=YES
listen_ipv6=NO
# 启用被动模式(推荐)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
# 限制用户访问自己家目录
chroot_local_user=YES
allow_writeable_chroot=YES配置完成后重启服务
systemctl restart vsftpd创建 FTP 用户
新建一个用户并修改密码:
useradd ftpuser -d /var/ftp/ftpuser -s /sbin/nologin
passwd ftpuser创建目录并设置权限
mkdir -p /var/ftp/ftpuser
chown ftpuser:ftpuser /var/ftp/ftpuser
chmod 755 /var/ftp/ftpuser![[Pasted image 20251014140331.png]]
这样配置的话没法登录到FTP服务器上,需要配置FTPS
配置FTPS
生成自签名证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/pki/tls/private/vsftpd.key \
-out /etc/pki/tls/certs/vsftpd.crt![[Pasted image 20251014140507.png]]
除了国家码需要输入CN之外,其他都默认即可
添加FTPS配置
编辑配置
vim /etc/vsftpd/vsftpd.conf# 开启 SSL
ssl_enable=YES
# 指定证书路径(可自签)
rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
# 强制加密
force_local_data_ssl=YES
force_local_logins_ssl=YES
# TLS版本(Windows兼容)
ssl_tlsv1_2=YES
ssl_tlsv1_3=YES重启配置
systemctl restart vsftpd