【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

这时的问题就解决了。

相关推荐
bush41 小时前
嵌入式linux学习记录七,中断
linux·嵌入式
RisunJan2 小时前
Linux命令-nologin(用于系统账户或需要禁止交互式登录的场景)
linux·运维
是阿建吖!2 小时前
【Linux】信号
android·linux·c语言·c++
城北徐宫2 小时前
Linux信号深度解剖:5种产生、3张表、4次切换
linux·c++·学习
倔强的石头1062 小时前
【Linux指南】Linux快捷键与系统实用技巧
linux·运维·服务器
番茄地瓜2 小时前
Linux 配置静态 IP 步骤
linux·运维·服务器
liulilittle2 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
Irissgwe3 小时前
五、应用层协议HTTP
linux·网络·网络协议·http·状态码·url
.千余3 小时前
【Linux】 传输层协议UDP:从端口号到传输机制
linux·运维·udp
囚~徒~4 小时前
轻量化的虚拟机
linux·运维·服务器