Setfacl to jedno z narzędzi do zarządzania ACL’ami pod Linuxem. Notatka praktyczna pokazująca jak można je zastosować w realnym świecie.
Czasami istnieje konieczność przyznania komuś dostępu do logów. Dostępu stałego, uwzględniającego logrotate i ewentualne fanaberie niektórych aplikacji (zmień ownera po stworzeniu pliku – patrz Apache).
Najskuteczniejszą moim zdaniem metodą jest skorzystanie z ACL’a nałożonego na katalog.
Przykładowo. Chcemy dodać członkom grupy www dostęp read do logów nginxa:
setfacl -d -m g:www:r nginx/ # to załatwia sprawę dla przyszłych plików (można też pojechać rekurencyjnie -R)
wydanie komendy spodowowało:
[root@linux log]# getfacl nginx/
# file: nginx/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:www:r--
default:mask::r-x
default:other::r-x
setfacl -m g:www:r nginx/* # a tak dorzucamy +r do wszystkich obecnych.
Jeżeli uprawnienia miałyby być nadane nie na grupę tylko konkretnego usera to:
setfacl -d -m u:login:r nginx/
Usunięcie acla:
setfacl -x g:www nginx/
setfacl -x u:login nginx/