Использовать ACL или нет?
Я почитал acl(5), setfacl(1) и несколько статей в интернет.
ACL решает вопрос назначения прав по умолчанию и позволяет избежать добавления
синтетической группы для доступа к файлам нескольким пользователям.
Печально что стандарт на ACL не родился и все реализации с POSIX 1003.1e DRAFT 17.
В BSD мире используется другая, более богатая модель ACL.
Для каких задач думал применить:
* читать все файлы логов /var/log от текущего пользователя, в том числе с еще
не созданых через default ACL:
$ sudo setfacl -R u:user:rx /var/log
$ sudo setfacl -R d:u:user:rx /var/log
Сейчас я добавляюсь во все необходфмие группы (как ftp, www-data, adm), но
когда обнаруживаешь новю группу - требуется релогин и все же некоторые файлы
имеют группой root - я не понял как на это реагировать - туда не добавлялся.
* скрипты сборки подкидывают файлы локально и по scp/rsync на продакт от
пользователя user, но обрабатываются сервисами от другого пользователя.
Права на чтение можно дать для other, но разные службы читают разные
авторизационные файлы - не хотелось бы открывать пароли на доступ. То же
самое будет с группами.
Как выход вижу на соответствующий каталог выдать права для помещения файла:
$ sudo setfacl -R u:user:rwx /srv/tomcat
$ sudo setfacl -R d:u:user:rwx /srv/tomcat
и для работы сервисом:
$ sudo setfacl -R u:tomcat8:rwx /srv/tomcat
$ sudo setfacl -R d:u:tomcat8:rwx /srv/tomcat
Каждый сервис будет иметь свои права для своего каталога и релизера где
нужно будет пускать.
Для серверов проблему знаю, но с решением не сталкивался, сейчас мучаю
домашнюю страничку - хочется понять best practice.
В среде разработчика я сервисы стал запускать от себя и стал владельцем
соответствующих частей в /etc/ и /var/ что бы редакитровать и просматривать
без волокиты (хотя с Emacs TRAMP почти не сложно залезть в файл от sudo).
Практика использования ACL распространена?
Описанные задачи решаются ACL или на самом деле все не так?
Кстати в debian-reference-en и The Debian Administrator’s Handbook ничего о
ACL нету.
--
Best regards!
Reply to: