Я пытаюсь использовать Monit для проверки прав доступа к определенному каталогу, но меня волнует только то, чтобы он был доступен для чтения всем пользователям. Меня не волнуют другие разрешения (запись, выполнение) для владельца, группы или всех. Мне также не нужны особые разрешения.
Зная, что я не могу изменить разрешения для этого каталога, и с возможностью изменения этих разрешений другим администратором, не затрагивая мои процессы, которые полагаются на этот каталог (то есть, предоставление или отмена доступа на запись для группы), можно ли проверить для минимум разрешение в Моните?
У меня есть то, что сейчас работает:
check directory archive path /var/home/archive/
if failed perm 0755 then alert
Но хотелось бы иметь что-нибудь вроде tihs:
check directory archive path /var/home/archive/
if failed perm > 444 then alert
У меня это не получается. Можно ли использовать операторы сравнения при проверке разрешений Monit? Если нет, есть ли обходные пути?
Вы можете заменить этот тип проверки запуском программы и проверкой ее статуса выхода.
Из руководства по монитору: (ПРИМЕЧАНИЕ: myscript.sh должен иметь минимальное разрешение 555).
" Пример:
check program myscript with path "/usr/local/bin/myscript.sh" with timeout 1000 seconds
if status != 0 then alert
Пример сценария для приведенного выше примера (/usr/local/bin/myscript.sh):
#!/bin/bash
echo test
exit $?
"
Вы можете создать программу, выполняющую желаемую проверку (рассмотрите возможность использования команды find) или даже используя команду find в качестве конкретной программы мониторинга. Вы даже можете настроить статусы выхода так, чтобы разные коды выхода означали разные вещи.