проверка прав доступа aix script - PullRequest
0 голосов
/ 08 апреля 2019

Здравствуйте, я пытаюсь написать скрипт для этого: «Если файл существует, он должен принадлежать системному пользователю и группе. Разрешения для других должны быть rx или более ограничительными».

Системы 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 === "

1 Ответ

0 голосов
/ 08 апреля 2019

Я предлагаю использовать команду find с параметрами -perm.См. Документацию здесь .

С помощью следующей команды вы можете проверить, что файл не имеет разрешения на запись для других.

find $file_path -perm o-w

С помощью следующей команды вы можете проверить файлне имеет разрешения на запись в группу.

find $file_path -perm g-w

С помощью следующей команды вы можете убедиться, что у файла нет разрешения на запись ни для группы, ни для других.

find $file_path -perm go-w
...