[英]Shell Command that Combines chmod and chgrp
是否存在chmod
和chgrp
的组合变体,它在每个文件的单个系统调用中设置权限和组?
没有这样的变体,因为两个操作chmod(2)
和chown(2)
是由不同的系统调用实现的。
chmod
和chown
由于安全问题,您可能正在寻找chmod
和chown
这种变体。 如果是这种情况,您可以使用以下策略:
这样就可以避免与连续调用chmod
和chown
或chown
和chmod
相关的潜在安全问题。
install
/ open
技巧 同时唯一的系统调用设置模式标志和所有权信息可能是open(2)
。 因此,您可以使用模拟目标所有者的进程以适当的模式打开文件。 这可能就是install
所做的,所以如果这是一个选项:
install
命令将旧文件复制到具有所需所有权和访问模式信息的新文件。 但是,这样做会破坏硬链接。 基于chown
和chmod
的解决方案没有这个问题。
AFAIK,没有。
此外,由于文件访问模式和所有者/组信息是使用不同的系统调用设置的(参见man 2 chmod
和man 2 chown
),我认为不可能实现这样的命令...至少在主流上类Unix系统。
(显然,可以修改GNU / Linux内核以添加组合系统调用,但是使用系统调用的假设命令将不可移植。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.