Linux 结合chmod和chgrp的Shell命令
对于Linux 结合chmod和chgrp的Shell命令,linux,unix,system-calls,chmod,chgrp,Linux,Unix,System Calls,Chmod,Chgrp,对于chmod和chgrp,是否有一个组合变量,可以在单个系统调用中为每个文件设置权限和组?AFAIK,否 此外,由于文件访问模式和所有者/组信息是使用不同的系统调用设置的(请参见man2 chmod和man2 chown),我认为不可能实现这样的命令。。。至少在一个主流的类Unix系统上 (显然,可以修改GNU/Linux内核以添加一个组合的系统调用,但是使用系统调用的假设命令将不可移植。)没有这样的变体,因为两个操作chmod(2)和chown(2)是通过不同的系统调用实现的 逃脱chmod
chmod
和chgrp
,是否有一个组合变量,可以在单个系统调用中为每个文件设置权限和组?AFAIK,否
此外,由于文件访问模式和所有者/组信息是使用不同的系统调用设置的(请参见man2 chmod
和man2 chown
),我认为不可能实现这样的命令。。。至少在一个主流的类Unix系统上
(显然,可以修改GNU/Linux内核以添加一个组合的系统调用,但是使用系统调用的假设命令将不可移植。)没有这样的变体,因为两个操作
chmod(2)
和chown(2)
是通过不同的系统调用实现的
逃脱chmod
和chown
由于安全问题,您可能正在寻找chmod
和chown
的这种变体。如果是这种情况,您可以使用以下策略:
chmod
和chown
或chown
和chmod
相关的潜在安全问题
安装
/打开
技巧
同时唯一的系统调用设置模式标志和所有权信息可能是open(2)
。因此,您可以使用一个进程模拟目标所有者以适当的模式打开文件。这可能就是install
所做的,因此如果这是一个选项:
install
命令将旧文件复制到具有所需所有权和访问模式信息的新文件中chown
和chmod
的解决方案不存在该问题