centos8 搭建NFS、Samba 和 FTP 共享服务
1. 搭建 NFS 共享服务
1: 安装 NFS 服务器
sudo dnf install nfs-utils
2: 启动并设置 NFS 服务
sudo systemctl enable --now nfs-server
3: 配置 NFS 共享
编辑 /etc/exports 文件来定义共享目录和权限。例如,添加如下行以共享 /srv/nfs 目录:
/srv/nfs *(rw,sync,no_root_squash,no_all_squash)
#rw: 允许读写。
#sync: 数据同步。
#no_root_squash: 允许客户端以 root 用户身份访问。
#no_all_squash: 允许所有用户访问。
4: 创建并设置共享目录的权限
sudo mkdir -p /srv/nfs
sudo chmod 755 /srv/nfs
5: 重新导出文件系统
sudo exportfs -ra
6: 配置防火墙
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --reload
7: 测试 NFS 共享
客户端机器上挂载 NFS 共享来验证配置:
sudo dnf install nfs-utils
sudo mount -t nfs <server-ip>:/srv/nfs /mnt
2. 搭建 Samba 共享服务
1: 安装 Samba
sudo dnf install samba samba-client samba-common
2: 启动并设置 Samba 服务
sudo systemctl enable --now smb
sudo systemctl enable --now nmb
3: 配置 Samba 共享
编辑 /etc/samba/smb.conf 文件,添加如下配置来共享 /srv/samba 目录:
[shared]
path = /srv/samba
valid users = user
read only = no
browsable = yes
writable = yes
create mask = 0664
directory mask = 0775
4: 创建共享目录并设置权限
sudo mkdir -p /srv/samba
sudo chmod 0775 /srv/samba
5: 添加 Samba 用户
sudo useradd user
sudo passwd user
sudo smbpasswd -a user
6: 配置防火墙
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
7: 测试 Samba 共享
客户端机器上访问 Samba 共享来验证配置,例如通过文件浏览器或使用 smbclient 工具:
sudo dnf install samba samba-client samba-common
smbclient -L //<server-ip> -U user
8:访问共享目录
可以尝试使用 smbclient 直接访问共享目录:
smbclient //172.16.103.193/shared -U user
之后输入密码,进入共享目录后,你可以使用 ls 查看文件,或使用 get/put 下载和上传文件。
9. 挂载 Samba 共享到本地文件系统
你还可以将 Samba 共享挂载到本地文件系统,例如:
sudo mount -t cifs //172.16.103.193/shared /mnt/smb_share -o username=user,password=your_password
这将共享目录 shared 挂载到 /mnt/smb_share 目录中。你可以根据需要修改挂载点和其他选项。
3. 搭建 FTP 共享服务
1: 安装 FTP 服务器(vsftpd)
sudo dnf install vsftpd
2: 启动并设置 vsftpd 服务
sudo systemctl enable --now vsftpd
3: 配置 vsftpd
编辑 /etc/vsftpd/vsftpd.conf 文件来配置 FTP 服务。以下是一些基本配置选项:
确保以下配置行是这样设置的,来确保基本的安全性和功能:
anonymous_enable=NO: 禁用匿名登录。
local_enable=YES: 允许本地用户登录。
write_enable=YES: 允许 FTP 用户上传文件。
local_umask=022: 设置文件上传的默认权限为 755。
dirmessage_enable=YES: 显示目录的消息文件。
xferlog_enable=YES: 启用文件传输日志。
connect_from_port_20=YES: 启用 FTP 的数据传输端口 20。
chroot_local_user=YES: 限制用户只能访问其主目录。
local_root=/home/$USER : 指定FTP用户的根目录。如果未设置,默认使用用户的主目录。
user_sub_token=$USER :在local_root中使用$USER变量来指定每个用户的主目录。
保存并关闭配置文件。
4: 重启vsftpd服务
在更改配置文件后,您需要重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
5: 配置防火墙
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
6:测试 FTP 服务
你可以使用 FTP 客户端(如 FileZilla)或 ftp 命令来测试 FTP 服务:
ftp <server-ip>