在Linux中,NFS(Network File System)和Samba是两种常用的文件共享协议,分别用于在Unix-like系统之间以及跨Linux和Windows系统共享文件和目录。下面分别详细介绍如何使用它们:
1. 使用NFS共享文件和目录
- 安装NFS服务:
对于基于Debian/Ubuntu的系统:
sudo apt-get update sudo apt-get install nfs-kernel-server
- 对于基于RHEL/CentOS的系统:
sudo yum install nfs-utils
- 配置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
:禁用子目录的检查,提高性能
- 应用配置更改并启动服务:
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)
- 客户端挂载NFS共享:
在客户端上,可以使用以下命令挂载NFS共享:
sudo mkdir /mnt/nfs_shared sudo mount -t nfs server_ip:/home/shared /mnt/nfs_shared
2. 使用Samba共享文件和目录
- 安装Samba服务:
对于基于Debian/Ubuntu的系统:
sudo apt-get update sudo apt-get install samba samba-common-bin
对于基于RHEL/CentOS的系统: ```bash sudo yum install samba
- 配置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 # 允许某个用户组访问,或者指定用户名代替
- 更新Samba配置并重启服务:
sudo smbcontrol all reload-config # 更新配置(在较新版本的Samba中) sudo systemctl restart smbd nmbd # 或者 service smbd restart && service nmbd restart
- 客户端挂载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)。