[问题已处理]-nfs报错chown changing ownership of xxx Operation not permitted

使用nfs挂载共享maven仓库之后  新项目编译会报错如下

chown: changing ownership of ‘/usr/local/services/maven/repo/com/sc/sc-core

 

 

然后在部署脚本打了tag测试

明明启动用户是root 并且单独执行命令或者放脚本里运行不会报错.这里就是会报错

 

发现是job在jenkins slave上执行,nfs同步主jenkins上的jar包等文件的时候才会报错.

 

修改nfs权限 使他挂载之后 为root 而不是nfsnobody

修改前

 

先在slave上卸载nfs

umout /usr/local/services/maven

 

然后在nfs server上修改/etc/exports,添加no_root_squash

/root/.m2 192.168.10.0/24(rw,sync)

/usr/local/services/maven 192.168.10.0/24(rw,no_root_squash,sync)

/ops 192.168.10.0/24(rw,sync)

如下

分析:

     用户对目录的权限受两方面约束:NFS认证权限、Posix权限;

     NFS权限:

     NFS服务器器中exports中配置额读写、只读权限

     Posix权限:

     发现exports目录权限中,参数no_root_squash的其作用是:NFS客户端使用共享目录的用户,如果是root 的话,所有的操作均在服务器端映射为root用户,拥有共享目录的root权限!

     默认情况使用的是相反参数root_squash:在登入 NFS 主机export目录的使用者如果当root时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份。
因为客户端是使用root登录的,自然权限被压缩为nobody了,难怪无法写入。

 

重新加载服务

exportfs  -arv          

 

修改后在jenkins slave上再挂载测试

mount -t nfs   192.168.10.170:/usr/local/services/maven /usr/local/services/maven

 

 

 

 

 

再部署就ok了

 

之后的文件权限如下  没有问题了!

 

nfs用户权限修改可以参考

https://blog.51cto.com/yttitan/2406403

 

看到还有说可能selinux问题的

关闭selinux(我采取了这个)
在selinux添加规则,修改挂载目录

修改/etc/sysconfig/selinux

关闭selinux 修改SELINUX=disabled

并临时关闭selinux

setenforce 0

 

 

 

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值