惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Simon Willison's Weblog
Simon Willison's Weblog
H
Help Net Security
F
Fortinet All Blogs
H
Heimdal Security Blog
S
Schneier on Security
L
LangChain Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
NISL@THU
NISL@THU
P
Palo Alto Networks Blog
J
Java Code Geeks
博客园 - 【当耐特】
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
www.infosecurity-magazine.com
www.infosecurity-magazine.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Vulnerabilities – Threatpost
I
InfoQ
Recorded Future
Recorded Future
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CERT Recently Published Vulnerability Notes
T
Tenable Blog
腾讯CDC
C
Check Point Blog
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
罗磊的独立博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog
小众软件
小众软件
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
P
Privacy & Cybersecurity Law Blog
V2EX - 技术
V2EX - 技术
T
Threatpost
Engineering at Meta
Engineering at Meta
Attack and Defense Labs
Attack and Defense Labs
T
Tailwind CSS Blog
S
Securelist
The Cloudflare Blog
博客园 - 叶小钗
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿

WAYJAM

告别 NPM Token:迁移到 Trusted Publishing 全记录 Sing-box:IPv6 优先出站与 Netflix 强制 IPv6 分流 [All In One] HomeLab 虚拟化 iKuai + Mihomo - IPv6 支持 [All In One] HomeLab 虚拟化 iKuai + Mihomo LiteLLM 多模型 API 中转 MacOS Bootstrp with Nix Fluency Support Full Rss [All In One] PVE 中 OpenWrt LXC 重启问题 Tabby 终端配置以及配置全平台同步 Cloudflare Tunnel + Nginx Proxy Manager:服务穿透 PVE 7 升级 8 笔记 PVE 安装 Android x86 & 安装 Magisk Fly.io 部署 Artalk 评论系统 [All In One] HomeLab 2023 搭建总结 [All In One] 轻量的文件 & 媒体服务器配置 [All In One] R71s 主机散热改造 [All In One] PVE LXC 安装 OpenWrt 软路由以及网络规划 [All In One] 安装 Proxmox VE 7.4 从零开始配置Rime - 2023 Self Hosted Bitwarden + Cloudfare HTTPS AdguardHome 和 Clash 透明代理配合使用 使用 Kind 部署 Prow 手记 BackBlaze B2 + Cloudfare Worker 图床 PicGo Amazon S3 插件 自动给模板生成 Inline-Svg Hugo Theme WeUI 发布! Hugo Theme Fluency 发布! Docker Clash 和 透明代理 有限状态机与分布式熔断器 「家庭娱乐」N1刷 EmuELEC 做游戏盒子 「家庭娱乐」N1刷 Armbian 做家庭服务器 分布式限流器之令牌桶实现 Kustomize 管理 Kubernetes 集群 Mixedpaper 主题发布到 Hugo 官方仓库 About 优化 Docker 构建时间 解决 etcd 与 grpc 不兼容问题 Kubernetes 部署 ElasticSearch7 集群 从零开始配置Rime - 2019 转移域名,更换评论系统,更换图床 搭建 NPM Proxy 之预编译包 搭建 NPM Proxy 美区Apple ID终于绑定PayPal成功 无可奈何的页面增强方案 LogStash的调试 GitLab Shell如何通过SSH工作 Python打开类 荒原 [Theme] Bitcron主题Mixedpaper发布! Ngrok端口转发 故事之五 - 柠檬茶 故事之四 - 我是天才 故事之一 Arch滚挂了怎么办? OpenWrt内网IPv6之二 某次更新后Primusrun不能启动Dota2 OpenWrt的DNS智能解析方案 替换Google CDN库 使用Privoxy将socks代理转化为http代理 ArchLinux之软件篇 再次安装ArchLinux手记 博客再次重生 搞了个Minecraft服务器 【LnV工作室荣誉出品】小苹果MV华农大版 雨梦 醉臥石中笑人間 路由器内网IPV6地址分配 OPENWRT安装软件的两个问题 路由器上进行锐捷认证 改了BIOS的LOGO Windows下搭建我的C/C++的开发环境 Linux下用Mentohust认证校园网 Archlinux+Windows 双系统安装手记(UEFI+GPT) Google-code-prettify代码高亮 《末世迷踪》 Hello Net World!
Debian NFS Server 以及 MacOS Client
2021-04-24 · via WAYJAM

Server Side

安装必要依赖:

apt install nfs-kernel-server nfs-common

编辑配置文件: vi /etc/exports

/media/share *(ro,sync,no_root_squash,no_subtree_check,insecure)
字段
/media/share要共享的目录
*指定可访问的IP,*表示全部来源特定网段:192.168.123.0/24特定IP:192.168.123.2
rw / ro读写
sync / async文件同步写入到内存与硬盘中 / 文件会先暂存于内存中
root_squash / no_root_squash- 当NFS客户端以root用户身份访问时,映射为NFS服务器的nfs nobody用户- 当NFS客户端以root身份访问时,映射为NFS服务器的root用户
subtree_check / no_subtree_check是否强制检查父目录权限
secure / insecure是否允许客户端从大于1024的tcp/ip端口连接服务器(Finder出现“找不到服务器“的错误可以设置为insecure
anonuidanongid将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户和用户组

每次修改完 exportfs 文件,都需要应用并导出分享:exportfs -ra

流量默认从 2049 端口通过,注意放通防火墙规则

查看当前导出访问的目录情况:exportfs -v。想要了解更多可用选项,在终端输入man exports

Client Side(MacOS)

由于从 Catalina 开始,根文件系统现在是只读的。所以需要将挂载点新建在用户可写的文件系统/系统/卷/数据:mkdir -p /Users/wayjam/nfs

然后使用挂载命令: mount -t nfs 192.168.123.2:/media/share /Users/wayjam/nfs

然后发现挂载失败:

nfs  mount -t nfs  192.168.123.2:/media/share /Users/wayjam/nfs
mount_nfs: can't mount with remote locks when server (192.168.123.2) is not running rpc.statd: RPC prog. not avail nfs
mount: /Users/wayjam/nfs failed with 74

使用一些调试命令看了情况都正常

  • rpcinfo -p 192.168.123.2 查看 RPC 连接情况
  • showmount -e 192.168.123.2 显示挂载情况
  • nfsstat -m 查看 NFS 情况

后来查到是没有指定 NFS 版本,编辑配置sudo vi /etc/nfs.conf,加入

nfs.client.mount.options = vers=4

然后再使用上面的挂载命令就可以挂载成功了。或者说在每次挂载的时候指定 NFS 版本:

 mount -t nfs -o soft,nfsvers=4  192.168.123.2:/media/share /Users/wayjam/nfs

如果要使用 FInder 的“连接到服务器”来挂载,则需要按这种格式来指定 NFS 版本:

nfs://vers=4,192.168.123.2:/media/share

自动挂载

创建挂载点:mkdir /Users/wayjam/nfs,然后修改 master 映射配置 sudo vi /etc/auto_master

/Users/wayjam/nfs auto_nfs

创建 /etc/auto_nfs 映射文件:

nas_data -rw,resvport,noowners,nfsv4,soft 192.168.123.2:/media/share

然后应用配置sudo automount -vc,另外/etc/autofs.conf还有一些挂载超时时间等配置可定制。

写入权限问题

有以下几种思路

  1. 配置 no_root_squash 并且使用 root 用户写入
  2. server 端增加与 client 端相同 uid 的用户,并给共享的目录增加读写权限
  3. 配置all_squash,并通过设置ACL规则的方式赋予 nfsnobody 用户读写执行权限 setfacl -m u:nfsnobody:rw /media/share
  4. 使用非 root 用户写入,server 端给 other 加写入权限

比如使用以下配置,所有用户皆映射到 root 用户,但这样有安全风险:

/media/share *(rw,sync,all_squash,anonuid=0,anongid=0,no_subtree_check,insecure)