插件窝 干货文章 如何配置和管理Linux上的文件共享服务

如何配置和管理Linux上的文件共享服务

sudo Samba bash NFS 184    来源:    2025-04-10

在Linux上配置和管理文件共享服务可以通过多种协议实现,常见的有NFS(网络文件系统)、Samba(SMB/CIFS协议)和FTP。以下是详细的分步指南:


一、NFS(Network File System)

适用场景:Linux-to-Linux高速文件共享

1. 安装NFS服务端

# Ubuntu/Debian
sudo apt update
sudo apt install nfs-kernel-server

# CentOS/RHEL
sudo yum install nfs-utils

2. 配置共享目录

编辑配置文件 /etc/exports,添加共享规则:

/path/to/share 192.168.1.0/24(rw,sync,no_subtree_check)
  • rw:读写权限
  • sync:同步写入
  • no_subtree_check:提升性能

3. 启动服务

sudo systemctl start nfs-server
sudo systemctl enable nfs-server
sudo exportfs -a  # 重新加载配置

4. 客户端挂载

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

二、Samba(SMB/CIFS)

适用场景:跨平台(Windows/Linux/macOS)共享

1. 安装Samba

# Ubuntu/Debian
sudo apt install samba

# CentOS/RHEL
sudo yum install samba

2. 配置共享目录

编辑 /etc/samba/smb.conf,在文件末尾添加:

[share_name]
    path = /path/to/share
    browseable = yes
    read only = no
    valid users = username
  • 设置用户密码:
    bash sudo smbpasswd -a username # 添加Samba用户

3. 重启服务

sudo systemctl restart smbd
sudo systemctl enable smbd

4. 客户端访问

  • Linux
    bash sudo mount -t cifs //server_ip/share_name /local/mount/point -o username=user
  • Windows
    文件资源管理器输入 \\server_ip\share_name

三、FTP(vsftpd)

适用场景:简单匿名或认证文件传输

1. 安装vsftpd

# Ubuntu/Debian
sudo apt install vsftpd

# CentOS/RHEL
sudo yum install vsftpd

2. 基本配置

编辑 /etc/vsftpd.conf

anonymous_enable=NO      # 禁用匿名登录
local_enable=YES         # 允许本地用户登录
write_enable=YES         # 允许写入
chroot_local_user=YES    # 限制用户到主目录

3. 启动服务

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

4. 客户端连接

使用FTP客户端(如FileZilla)或命令行:

ftp server_ip

四、安全增强建议

  1. 防火墙规则

    • NFS:开放 2049/tcp
    • Samba:开放 139/tcp, 445/tcp
    • FTP:开放 20-21/tcp
    sudo ufw allow 2049/tcp  # 示例:NFS
    
  2. SELinux配置(如启用):

    sudo setsebool -P nfs_export_all_rw on  # NFS示例
    
  3. 日志监控

    • NFS日志:/var/log/syslog
    • Samba日志:/var/log/samba/log.smbd

五、故障排查

  • NFS挂载失败:检查 rpcinfo -p server_ip 确认服务是否运行。
  • Samba权限问题:确保目录权限和SELinux上下文正确。
  • FTP连接超时:验证防火墙和 vsftpd.conf 中的 listen=YES

通过上述步骤,您可以根据需求选择合适的文件共享协议。NFS适合Linux间高性能共享,Samba兼容Windows,FTP则适合简单文件传输。