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

1、问题描述


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

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

2、排查


(1)提权

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

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

(2)检查nfs配置文件

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


/nfsdata/ 10.0.0.0/24(rw)


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

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

结论

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

------

而相对来说,还有一个名为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

这时的问题就解决了。

相关推荐
在角落发呆5 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
_upupup6 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
百度一下吧6 小时前
Nginx 使用手册:从安装配置到实战部署
运维·nginx
JeJe同学7 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR7 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
回眸&啤酒鸭7 小时前
【回眸】自动化白盒测试落地实战指南
运维·自动化·log4j
闲云野鹤在人间8 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
一个风轻云淡9 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛9 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
资料库019 小时前
Linux 8个常见运维故障排查
java·linux·运维