问题标签 [lchown]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 为什么 lchown() 总是通过 xinetd 在 root 进程中的组上失败?
我有一个 C++ 应用程序,它通过xinetd
Linux Centos5 64 位上的服务在另一台机器上调用服务器。被调用的进程以 root 身份调用,但我认为它可能是一个不具备全部功能的 root,因为我在应用程序中观察到。
在我的应用程序中,通过 inetd 调用以 root 身份运行,我创建了一个新文件和链接(每个最初的用户 root 和组 root),然后lchown()
在所有者上成功调用,但它总是在使用 EPERMS 的组上失败,Operation not permitted
. 将用户和组组合成一次调用lchown()
同样失败。
我的应用程序中有问题的代码是这样的:
在我的代码运行后,新创建的文件以 NFS 挂载目录的形式存在,具有以下权限:
gid 500 是“me”的主要组,另一组是“wheel”。
在 shell 提示符下,我可以毫无问题chgrp
地登录root
到组me
。
当我的应用程序通过 inetd 调用时,为什么 lchown() 的行为会有所不同?请注意,以 root 身份调用的同一应用程序通过ssh
正确设置文件的组所有者。为什么通过 ssh 的 root 与通过 xinetd 的 root 不同?