自动为整个目标设置已安装文件的默认权限

时间:2016-11-02 10:31:42

标签: security permissions gentoo ebuild

在Gentoo系统上,假设我有很多自制组件,每个组件都有一个ebuild(正常情况),我想在安装阶段对文件应用默认权限。

有没有办法在不修改每个ebuild文件的情况下自动设置/配置已安装文件的默认权限?是否有可能在全球范围内这样做(一个修改适用于所有ebuild)?

我遇到过“libopts”,“diropts”,“exeopts”等等,但它需要修改每个ebuild来设置我自己的默认权限。

1 个答案:

答案 0 :(得分:0)

bashrc救援!此文件来源之前构建的每个阶段都运行。您感兴趣的阶段称为preinst。此阶段将在将数据安装到磁盘之前运行。所以你的代码看起来像:

if [[ "${EBUILD_PHASE}" == 'preinst' ]] ; then
    if [[ -n "${D} ]] ; then
        find "${D}" -type f -print0 | xargs -0 chmod ...
        find "${D}" -type d -print0 | xargs -0 chmod ...
    else
        echo "Error"
    fi
fi

注意:代码未经过测试,使用风险自负