作者信息:https://home.cnblogs.com/u/huangjiabobk

在Linux中,如何使用NFS和Samba共享文件和目录?

在Linux中,NFS(Network File System)和Samba是两种常用的文件共享协议,分别用于在Unix-like系统之间以及跨Linux和Windows系统共享文件和目录。下面分别详细介绍如何使用它们:

1. 使用NFS共享文件和目录
  1. 安装NFS服务
    对于基于Debian/Ubuntu的系统:

    sudo apt-get update
    sudo apt-get install nfs-kernel-server
    

    对于基于RHEL/CentOS的系统:

    sudo yum install nfs-utils
    
  2. 配置NFS共享
    编辑 /etc/exports 文件,添加要共享的目录及其相关选项。例如,将/home/shared目录共享给IP地址为192.168.1.0/24子网内的所有主机,只读访问:

    /home/shared 192.168.1.0/24(ro,sync,no_subtree_check)
    

    各项选项含义:

    • ro:只读访问
    • sync:同步写入磁盘,保证数据完整性
    • no_subtree_check:禁用子目录的检查,提高性能
  3. 应用配置更改并启动服务

    sudo exportfs -a # 更新NFS共享列表
    sudo systemctl start nfs-kernel-server # 启动服务
    sudo systemctl enable nfs-kernel-server # 设置开机启动
    
    # 对于RHEL/CentOS 7之前的版本,使用:
    sudo service nfs restart
    sudo service rpcbind start # 如果尚未启动rpcbind(portmapper)
    
  4. 客户端挂载NFS共享
    在客户端上,可以使用以下命令挂载NFS共享:

    sudo mkdir /mnt/nfs_shared
    sudo mount -t nfs server_ip:/home/shared /mnt/nfs_shared
    
2. 使用Samba共享文件和目录
  1. 安装Samba服务
    对于基于Debian/Ubuntu的系统:

    sudo apt-get update
    sudo apt-get install samba samba-common-bin
    
   
   对于基于RHEL/CentOS的系统:
   ```bash
   sudo yum install samba
  1. 配置Samba

    • 配置用户数据库(如果还没有配置的话,可以使用samba-tool user add <username>添加用户)。
    • 编辑Samba主配置文件 /etc/samba/smb.conf,添加或修改共享部分。例如:
    [shared]
    comment = Shared Folder for everyone
    path = /home/shared
    browseable = yes
    read only = no
    guest ok = no
    create mask = 0775
    directory mask = 0775
    valid users = @users # 允许某个用户组访问,或者指定用户名代替
    
  2. 更新Samba配置并重启服务

    sudo smbcontrol all reload-config # 更新配置(在较新版本的Samba中)
    sudo systemctl restart smbd nmbd # 或者 service smbd restart && service nmbd restart
    
  3. 客户端挂载Samba共享
    在Windows客户端上,可以直接在文件资源管理器中输入 \\server_ip\shared 访问共享文件夹。在Linux客户端上,可以通过 cifs-utils 包提供的 mount 命令挂载:

    sudo apt-get install cifs-utils # 安装cifs工具(如果尚未安装)
    sudo mkdir /mnt/samba_shared
    sudo mount -t cifs //server_ip/shared /mnt/samba_shared -o username=<username>,password=<password>
    

    或者在 /etc/fstab 中添加持久挂载条目。

综上所述,在实际操作中,务必根据您的具体需求和安全性要求调整上述配置,包括但不限于权限控制、用户验证机制和加密选项等。此外,记得确保防火墙规则允许相应端口的通信。对于Samba,默认使用TCP 139和445端口。对于NFS,常用端口有UDP 111(rpcbind)、TCP/UDP 2049(nfs)。

posted @ 2024-04-15 09:47  黄嘉波  阅读(515)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波