linux-结合chmod和chgrp的Shell命令
作者:互联网
chmod和chgrp是否有一个组合变体,可在一个系统调用中为每个文件设置权限和组?
解决方法:
没有这样的变体,因为两个操作chmod(2)和chown(2)是由不同的系统调用实现的.
摆脱chmod和chown
由于安全问题,您可能正在寻找chmod和chown的此类变体.在这种情况下,可以使用以下策略:
>将模式标志剥离到目标文件上非常保守的设置(可能为空).
>更改目标文件的所有者和组.
>为目标文件提供所需的模式标志.
这样,您可以避免与连续调用chmod和chown或chown和chmod相关的潜在安全问题.
安装/打开技巧
可能同时唯一的系统调用设置模式标志和所有权信息是open(2).因此,您可以使用一个过程模拟目标所有者以适当的方式打开文件.这可能是安装所做的,因此,如果可以选择的话:
>重命名旧文件.
>使用install命令将具有所需所有权和访问模式信息的旧文件复制到新文件.
>删除旧文件.
但是,这样做会断开硬链接.基于chown和chmod的解决方案不存在该问题.
标签:unix,system-calls,chmod,chgrp,linux 来源: https://codeday.me/bug/20191029/1957870.html