Версия setfacl
для Linux, в отличие от версии BSD, имеет очень удобную опцию --test
:
--test
Test mode. Instead of changing the ACLs of any files, the resulting
ACLs are listed.
Хотя я знаю, что setfacl
является идемпотентом, очень полезно проверить, должен ли setfacl
быть запущен до его фактического запуска (например, чтобы приятно сообщить пользователю в программе).
Есть ли известный способ сделать что-то подобное, используя BSD-версию setfacl
?
Один из способов сделать это - запустить getfacl
а затем сравнить выходные данные с аргументами, заданными для setfacl
но это выглядит довольно утомительно / грязно, поскольку существует множество неисключительных случаев: записи по умолчанию (-d
), изменение (-m
) или удалить (-x
) записи, записи с прописными-x X
разрешениями на выполнение, ... Определенно больше взлома и более подверженное ошибкам решение, чем простое --test
.
Мне придется по умолчанию сделать это, если больше ничего не возможно (скриптинг на Python), но я просто хотел убедиться, что я не пропускаю более простое или уже существующее решение.