【问题标题】:check permissions aix script检查权限 aix 脚本
【发布时间】:2019-08-29 12:54:30
【问题描述】:

您好,我尝试编写脚本以使“如果文件存在必须由系统用户和组拥有。其他权限必须是 r-x 或更严格。”

Aix 系统 7.2

#MODULE BODY
file_path="/bin/ssh-add"

if [ -e $file_path ];
then 
    user=`istat $file_path | grep Owner: | awk '{print $2}'`
    uid=`id -u $user`

    if [ $uid -lt 500 ];
    then
        permissions=`istat $file_path | grep Owner: | awk '{print $2}' `

        if [ $permissions -le 755 ];
        then 
            compliant="Yes"
            actual_value='User = '$user', Permissions = '$permissions
        else
            compliant="No"
            actual_value="Bad permissions"
        fi;
    else 
        compliant="No"
        actual_value="Not system user"
    fi;
else 
   compliant="Yes"
   actual_value="NA" 
fi;
# SCRIPT RESULT
echo :::$module_id:::$compliant:::$actual_value:::
echo " === End of $module_id module === "

【问题讨论】:

  • 不错的脚本,这里有什么问题?您没有测试组 ID。如果用户不是系统但属于系统组怎么办?并且权限 722
  • istat 没问题,但这是我考虑切换到 perl 的时候; this is one example, for inspiration

标签: ksh aix


【解决方案1】:

我建议使用带有-perm 选项的find 命令。 请参阅文档here

使用下面的命令可以验证文件对其他人没有写权限。

find $file_path -perm o-w

使用下面的命令可以验证文件没有写入组的权限。

find $file_path -perm g-w

使用以下命令可以验证文件对组或其他人没有写权限。

find $file_path -perm go-w

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-02
    • 2010-12-08
    • 1970-01-01
    • 2014-02-22
    • 2017-09-26
    • 1970-01-01
    • 2016-07-22
    • 2012-06-04
    相关资源
    最近更新 更多