我已经在CentOS7上运行了Salt和SELinux。
我想运行restorecon -Rv /path/to/something ,但只有在必要的时候。 我知道盐有唯一的, unless命令,但我有一个时间search我想要的东西。 我想写些东西来达到这个效果:
Fix SELinux Permissions: cmd.run: - name: restorecon -Rv /path/to/something - onlyif: restorecon -Rv -n /path/to/something produces any lines
我已经尝试了返回码,但是这总是0.我实际上并不想每次运行状态都运行这个命令 – 只是当dir实际上需要更改时。 否则盐会报告它运行的命令,即使没有真正的变化 。
我怎样才能以我想要的方式工作?
它看起来像这样会做我想要的:
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"