是否有chmod和chgrp的组合变体,为每个文件在一个系统调用中同时设置权限和组?
发布于 2014-09-11 11:50:57
没有这样的变体,因为两个操作chmod(2)和chown(2)是通过不同的系统调用实现的。
与chmod和chown脱节
由于安全性问题,您可能正在寻找chmod和chown的这样一个变体。如果是这样的话,您可以使用以下策略:
这样,您就可以避免与连续调用chmod和chown或chown和chmod相关联的潜在安全问题。
install/open把戏
同时唯一的系统调用设置模式标志和所有权信息可能是open(2)。因此,您可以使用模拟目标所有者以适当模式打开文件的进程。这可能是install所做的,所以如果这是一个选项:
install命令将旧文件复制到具有所需所有权和访问模式信息的新文件中。然而,这样做会打破硬链接。基于chown和chmod的解决方案没有这个问题。
发布于 2014-09-11 11:06:59
AFAIK,不。
此外,由于文件访问模式和所有者/组信息是使用不同的系统设置的(请参阅man 2 chmod和man 2 chown),我认为不可能实现这样的命令.至少在类似Unix的主流系统上。
(很明显,可以修改GNU/Linux内核以添加一个组合的系统调用,但是使用syscall的假设命令将无法移植。)
https://stackoverflow.com/questions/25785685
复制相似问题