User-Profile-Image
hankin
  • 5
  • 关于
  • 分类
    • 路由器
    • 电脑相关
    • 游戏相关
    • 未分类
    • 服务器相关
    • 数据库
  • 页面
    • 关于
  • 友链
    • 华夏网盟
Help?

Please contact us on our email for need any support

Support
  • 关于
    首页   ›   服务器相关   ›   正文
服务器相关

Linux安装NFS文件共享服务器。

2023-08-18 12:51:00
225  0 0

本文使用Debian12.

安装nfs。

apt install nfs-kernel-server nfs-common

配置nfs。

vi /etc/exports
在最下方加入行。
/需要共享文件路径 *(rw)

例如:/www *(rw),意为共享根路径www目录为所有人访问并可读写。

如仅局域网内使用,建议配置为:

/dir 10.10.10.0/24(rw,insecure,no_root_squash)
共享根路径dir目录且仅网段10.10.10可访问并读写。

配置参考:

ro 该主机对该共享目录有只读权限

rw 该主机对该共享目录有读写权限

root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

no_root_squash 客户机用root访问该共享文件夹时,不映射root用户

all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户

anonuid 将客户机上的用户映射成指定的本地用户ID的用户

anongid 将客户机上的用户映射成属于指定的本地用户组ID

sync 资料同步写入到内存与硬盘中

async 资料会先暂存于内存中,而非直接写入硬盘
 
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

其他指令

Win10安装NFS客户端
打开 控制面板 —> 程序 —> 启用或关闭Windows功能

也可以用【Win+R】运行,复制输入以下命令:
OptionalFeatures
勾选 NFS服务 ,点击确定,安装完毕即可。

显示指定IP全部共享的目录

showmount -e NFSIP
完整的用法:
showmount -e [server] 显示 NFS 服务器导出的所有共享。
showmount -a [server] 列出客户端主机名或 IP 地址,以及使用“主机:目录”格式显示的安装目录。
showmount -d [server] 显示 NFS 服务器上当前由某些 NFS 客户端安装的目录。

将远程磁盘共享目录dir挂载到本地。

关于如何配置远程电脑上的NFS请自行Google 完整的用法:
用法: mount [-o options] [-u:username] [-p:<password | >] <\computernamesharename> <devicename | >

-o rsize=size 设置读取缓冲区的大小(以 KB 为单位)。
-o wsize=size 设置写入缓冲区的大小(以 KB 为单位)。
-o timeout=time 设置 RPC 调用的超时值(以秒为单位)。
-o retry=number 设置软装载的重试次数。
-o mtype=soft|hard 设置装载类型。
-o lang=euc-jp|euc-tw|euc-kr|shift-jis|big5|ksc5601|gb2312-80|ansi 指定用于文件和目录名称的编码。
-o fileaccess=mode 指定文件的权限模式。这些模式用于在 NFS 服务器上创建的新文件。使用 UNIX 样式模式位指定。
-o anon 作为匿名用户装载。
-o nolock 禁用锁定。
-o casesensitive=yes|no 指定在服务器上执行区分大小写的文件查找。
-o sec=sys|krb5|krb5i|krb5p

将服务器共享的dir映射为E盘

windows:mount \IPdir E:

将服务器共享的dir挂载至根目录public

linux:mount -t nfs IP:/dir /public

查看是否加载成功

df -hT

取消挂载。

windows:umount E:
linux:umount /public

取消所有NFS挂载。

umount -f -a

将配置文件中的目录全部重新export一次!无需重启服务。

exportfs -rv

查看NFS的运行状态

nfsstat

查看rpc执行信息,可以用于检测rpc运行情况

rpcinfo

其他问题

1.连接共享后只读,不能写入。
尝试使用chmod -R 777 /dir,将目录权限提升。
或
使用all_squash解决权限问题,使客户端无论用什么用户链接,都映射到NFS服务器指定用户执行。
配置加入 anonuid=0,anongid=0,all_squash,sync
服务端 uid$gid 为 0 即等于root 用户的权限。
此时对文件的读写都是:root。缺陷:权限控制过于笼统,容易误操作。

2.部分客户端可以连接且访问正常,部分可连接但无法读取其他目录。
参数中加入 insecure。

评论 (0)

Click here to cancel reply.

欢迎您 游客  

近期文章

  • 用于网速测试的下载测速文件合集
  • docker构建SB镜像
  • pterodactl docker install
  • OpenWRT流量实时监控插件
  • docker部署dify

近期评论

No comments to show.

归档

  • 1 月 2026
  • 8 月 2025
  • 5 月 2025
  • 4 月 2025
  • 3 月 2025
  • 2 月 2025
  • 12 月 2024
  • 4 月 2024
  • 10 月 2023
  • 8 月 2023
  • 4 月 2023
  • 3 月 2023
  • 2 月 2023
  • 10 月 2021
  • 5 月 2021
  • 3 月 2021
  • 2 月 2021

分类

  • 数据库
  • 服务器相关
  • 未分类
  • 游戏相关
  • 电脑相关
  • 路由器
Copyright © 2026
smarty_hankin 主题. Designed by hankin
主页
页面
  • 关于
博主
hkthomas 管理员
136 文章 0 评论 18327 浏览
测试
测试