1

Версия 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), но я просто хотел убедиться, что я не пропускаю более простое или уже существующее решение.

0