是否有一种结合了chmod
和chgrp
的变体,可以在每个文件中进行一次系统调用来设置权限和组?
是否有一种结合了chmod
和chgrp
的变体,可以在每个文件中进行一次系统调用来设置权限和组?
没有这样的变体,因为两个操作 chmod(2)
和 chown(2)
是由不同的系统调用实现的。
chmod
和 chown
的技巧您可能正在寻找 chmod
和 chown
的此类变体,因为涉及安全问题。如果是这种情况,您可以使用以下策略:
通过这种方式,您可以避免与连续调用 chmod
和 chown
或 chown
和 chmod
相关的潜在安全问题。
install
/open
技巧唯一同时设置模式标志和所有权信息的系统调用可能是 open(2)
。因此,您可以使用模拟目标所有者的进程以适当的模式打开文件的方法。这可能就是 install
所做的,所以如果这是一个选项:
install
命令将旧文件复制到具有所需所有权和访问模式信息的新文件中。这样做会破坏硬链接。基于 chown
和 chmod
的解决方案不存在此问题。
man 2 chmod
和man 2 chown
),我认为在主流类Unix系统上实现这样的命令是不可能的。