在Linux上配置和管理文件共享服务可以通过多种协议实现,常见的有NFS(网络文件系统)、Samba(SMB/CIFS协议)和FTP。以下是详细的分步指南:
适用场景:Linux-to-Linux高速文件共享
# Ubuntu/Debian
sudo apt update
sudo apt install nfs-kernel-server
# CentOS/RHEL
sudo yum install nfs-utils
编辑配置文件 /etc/exports
,添加共享规则:
/path/to/share 192.168.1.0/24(rw,sync,no_subtree_check)
rw
:读写权限sync
:同步写入no_subtree_check
:提升性能sudo systemctl start nfs-server
sudo systemctl enable nfs-server
sudo exportfs -a # 重新加载配置
sudo mount -t nfs server_ip:/path/to/share /local/mount/point
如需开机自动挂载,编辑 /etc/fstab
:
server_ip:/path/to/share /local/mount/point nfs defaults 0 0
适用场景:跨平台(Windows/Linux/macOS)共享
# Ubuntu/Debian
sudo apt install samba
# CentOS/RHEL
sudo yum install samba
编辑 /etc/samba/smb.conf
,在文件末尾添加:
[share_name]
path = /path/to/share
browseable = yes
read only = no
valid users = username
bash
sudo smbpasswd -a username # 添加Samba用户
sudo systemctl restart smbd
sudo systemctl enable smbd
bash
sudo mount -t cifs //server_ip/share_name /local/mount/point -o username=user
\\server_ip\share_name
。适用场景:简单匿名或认证文件传输
# Ubuntu/Debian
sudo apt install vsftpd
# CentOS/RHEL
sudo yum install vsftpd
编辑 /etc/vsftpd.conf
:
anonymous_enable=NO # 禁用匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写入
chroot_local_user=YES # 限制用户到主目录
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
使用FTP客户端(如FileZilla)或命令行:
ftp server_ip
防火墙规则:
2049/tcp
139/tcp, 445/tcp
20-21/tcp
sudo ufw allow 2049/tcp # 示例:NFS
SELinux配置(如启用):
sudo setsebool -P nfs_export_all_rw on # NFS示例
日志监控:
/var/log/syslog
/var/log/samba/log.smbd
rpcinfo -p server_ip
确认服务是否运行。vsftpd.conf
中的 listen=YES
。通过上述步骤,您可以根据需求选择合适的文件共享协议。NFS适合Linux间高性能共享,Samba兼容Windows,FTP则适合简单文件传输。