【NFS故障】共享的文件无法执行

1、问题描述


这里我将文件传入nfs的共享目录中,随即要运行目录中的脚本从而去导入对应的镜像,

但是这里它提示ctr执行这个文件表示权限拒绝。

2、排查


(1)提权

既然文件权限不允许执行,我猜测是不是文件的所有者和当前用户不一致导致的无法运行,于是我为了试验,对文件增加了777权限,想要试验下。

额......但是失败了,也不允许我去对文件权限进行操作。

(2)检查nfs配置文件

我看了下exports文件哈,有如下内容:


/nfsdata/ 10.0.0.0/24(rw)


这里表示在这个网段的机器中可以对此目录中的文件进行读写操作

这边我问了下ai,然后得出了下面的结论

结论

nfs为了安全,默认情况下会开启一个名为root_squash的机制,表示如果你是使用root用户访问的文件情况下,nfs会将你的root用户匿名为一个匿名用户,通常是nfsnobodynobody,然后你的系统中这两个用户也没有对应的权限,所以你便无法进行操作。

------

而相对来说,还有一个名为no_root_squash的配置,意思与上面相反,如果是root用户,则不会将root转换为匿名用户,而是继续使用root用户的权限去操作和执行命令,而用此方法可以解决以上问题。

【注意】建议临时使用下,长期使用可能存在安全隐患。

3、如何解决


需要在exports配置文件中,增加no_root_squash配置

/nfsdata/ 10.0.0.0/24(rw,no_root_squash)

然后对nfs服务进行重启后试验

systemctl restart nfs

这时的问题就解决了。

相关推荐
wzhao10136 分钟前
动态链接器(十一):线程局部存储
linux·rust·gnu
nix.gnehc38 分钟前
Langfuse v3 Docker 部署
运维·人工智能·docker·容器·langfuse
JiaWen技术圈40 分钟前
Web 安全防护 介绍
运维·nginx·安全
neo_Ggx2342 分钟前
Linux 日志检索速查:按时间、接口、Trace ID 查询完整请求链路
java·linux·服务器
蜀道山老天师44 分钟前
Prometheus监控Hadoop集群(实操完整版,含避坑指南)
大数据·linux·运维·hadoop·云原生·prometheus
biubiubiu07061 小时前
Ubuntu命令练习
linux·运维·ubuntu
sbjdhjd1 小时前
01| 裸机部署 K8S:从零搭建生产可用集群
运维·经验分享·云原生·kubernetes·开源·kubelet·kubeless
曦夜日长1 小时前
Linux系统篇,开发工具(二):vim的使用与配置
linux·服务器·vim·excel
jran-1 小时前
Docker 容器化技术&docker安装
运维·docker·容器
呉師傅1 小时前
将CD音频抓轨转换成MP3的两种方法【图文解释】
运维·服务器·网络·windows·电脑·音视频