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/