在 Debian 上部署 Samba、vsftpd 和 NFS
1. 部署 Samba(Windows 文件共享)
Samba 允许 Linux 系统与 Windows 系统共享文件。
安装 Samba
sudo apt update
sudo apt install samba -y
- 安装
samba-common-bin
确保smbpasswd
等工具可用。
配置 Samba
创建共享目录:
sudo mkdir -p /srv/samba/shared sudo groupadd -f samba sudo chown :samba /srv/samba/shared sudo chmod 775 /srv/samba/shared
sudo chown :samba /srv/samba/shared
表示使用 chown 命令更改 /srv/samba/shared 目录的所属组为 samba。
:
表示只修改组
设置 Samba 用户:
sudo useradd -M -G samba -s /sbin/nologin sambauser sudo smbpasswd -a sambauser
-M
:不创建家目录。-s /sbin/nologin
:禁止 shell 登录。- 设置 Samba 密码,供 Windows 客户端登录。
验证用户:
id sambauser
确认用户存在且属于
samba
组。编辑 Samba 配置文件:
编辑
/etc/samba/smb.conf
,在末尾添加:[share] path = /srv/samba/shared writable = yes browsable = yes guest ok = no valid users = @samba create mask = 0664 directory mask = 0775
guest ok = no
:要求用户认证。valid users = @samba
:只允许samba
组用户访问。create mask
和directory mask
:确保文件和目录权限一致。
重启 Samba 服务:
sudo systemctl restart smbd nmbd sudo systemctl enable smbd nmbd
- 包含
nmbd
以支持 NetBIOS 名称解析。
- 包含
检查 Samba 状态:
sudo systemctl status smbd nmbd
验证共享: 在 Windows 上,打开文件资源管理器,输入
\\Samba服务器IP\share
,使用sambauser
和密码登录。共享的文件夹目录:
/srv/samba/shared
效果图:
2. 部署 vsftpd(企业级 FTP)
vsftpd 是一个轻量、高效的 FTP 服务器。
安装 vsftpd
sudo apt install vsftpd -y
配置 vsftpd
编辑配置文件:
编辑
/etc/vsftpd.conf
,添加或修改:anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES local_root=/srv/ftp pasv_enable=YES pasv_min_port=40000 pasv_max_port=50000
创建 FTP 用户:
sudo useradd -m -s /bin/bash ftpuser sudo usermod -aG ftpuser ftpuser sudo passwd ftpuser
设置 FTP 目录:
sudo mkdir -p /srv/ftp sudo chown ftpuser:ftpuser /srv/ftp sudo chmod 755 /srv/ftp
重启 vsftpd 服务:
sudo systemctl restart vsftpd sudo systemctl enable vsftpd
检查 vsftpd 状态:
sudo systemctl status vsftpd
测试 FTP: 使用 FTP 客户端(如 Xftp)或命令行:
ftp FTP服务器IP
输入
ftpuser
和密码,确认文件上传到/srv/ftp
。效果图:
3. 部署 NFS(Linux 文件共享)
NFS 用于 Linux 系统之间的文件共享。
安装 NFS
sudo apt install nfs-kernel-server -y
配置 NFS
创建共享目录:
sudo mkdir -p /srv/nfs sudo chown nobody:nogroup /srv/nfs sudo chmod 755 /srv/nfs
编辑 NFS 导出文件: 用
vim
编辑/etc/exports
,添加(根据实际IP填写):/srv/nfs 192.168.3.0/24(rw,sync,no_subtree_check)
更新 NFS 导出:
sudo exportfs -ra
重启 NFS 服务:
sudo systemctl restart nfs-kernel-server sudo systemctl enable nfs-kernel-server
检查 NFS 状态:
sudo systemctl status nfs-kernel-server
客户端测试: 在客户端安装 NFS 客户端:
sudo apt install nfs-common -y
创建挂载点并挂载(手动使用
mount
命令的挂载是临时的):sudo mkdir -p /mnt/nfs sudo mount NFS服务器IP:/srv/nfs /mnt/nfs
验证挂载:
df -h
输出示例:
文件系统 大小 已用 可用 已用% 挂载点 udev 948M 0 948M 0% /dev tmpfs 194M 776K 193M 1% /run /dev/sda1 19G 4.3G 14G 25% / tmpfs 967M 1.1M 966M 1% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 194M 0 194M 0% /run/user/0 192.168.3.47:/srv/nfs 19G 1.9G 16G 11% /mnt/nfs
这行就是挂载
192.168.3.47:/srv/nfs 19G 1.9G 16G 11% /mnt/nfs
效果图:
箭头所指就是挂载的目录(手动使用
mount
命令的挂载是临时的)