У меня есть Salt и SELinux, работающие на CentOS7.
Я хочу бежать restorecon -Rv /path/to/something
, но только если это необходимо. Я знаю, что у соли есть onlyif
и unless
команд, но я чертовски провожу поиск в Google того, что я хочу. Я хочу написать что-нибудь по этому поводу:
Fix SELinux Permissions:
cmd.run:
- name: restorecon -Rv /path/to/something
- onlyif: restorecon -Rv -n /path/to/something produces any lines
Я пробовал код возврата, но он всегда 0. На самом деле я не хочу запускать эту команду каждый раз я управляю государством - как раз тогда, когда режиссер на самом деле потребности изменить. В противном случае соль сообщит, что она выполнила команду и были изменения, даже когда их не было. действительно.
Как я могу заставить это работать так, как я хочу?
Похоже, это сделает то, что я хочу:
restore selinux permissions:
cmd.run:
- name: restorecon -Rv /path/to/folder/
- onlyif:
- "if [[ $(restorecon -Rv -n /path/to/folder/) ]]; then exit 0; else exit 1; fi"