NFS(Network File System)是一种分布式文件系统协议,允许网络中的计算机之间共享文件资源。以下是Linux系统下NFS的安装和配置方法:
# 对于基于RPM的系统(CentOS/RHEL/Fedora)
sudo yum install nfs-utils
# 对于基于Debian的系统(Ubuntu/Debian)
sudo apt-get install nfs-kernel-server
# 对于基于RPM的系统
sudo yum install nfs-utils
# 对于基于Debian的系统
sudo apt-get install nfs-common
sudo mkdir -p /shared_directory
sudo chown nobody:nogroup /shared_directory # 设置权限
sudo chmod 777 /shared_directory # 设置可读写权限
sudo vim /etc/exports
添加以下内容(根据需求调整):
/shared_directory client_ip(rw,sync,no_subtree_check)
# 或允许整个子网
/shared_directory 192.168.1.0/24(rw,sync,no_subtree_check)
参数说明:
- rw
:读写权限
- ro
:只读权限
- sync
:同步写入
- async
:异步写入
- no_subtree_check
:禁用子树检查
- no_root_squash
:允许root用户访问(有安全风险)
sudo exportfs -a # 重新导出所有共享
sudo systemctl restart nfs-server # 重启NFS服务
sudo mkdir -p /mnt/nfs_share
sudo mount server_ip:/shared_directory /mnt/nfs_share
df -h
mount | grep nfs
编辑/etc/fstab
文件,添加:
server_ip:/shared_directory /mnt/nfs_share nfs defaults 0 0
# CentOS/RHEL 7+
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload
# Ubuntu/Debian
sudo ufw allow from client_ip to any port nfs
在服务端:
sudo showmount -e localhost
在客户端:
sudo showmount -e server_ip
bash
sudo systemctl status nfs-server
-o vers=3
或-o vers=4
指定NFS版本no_root_squash
选项/var/log/messages
或journalctl -u nfs-server