系统相关
首页 > 系统相关> > linux-结合chmod和chgrp的Shell命令

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