Moja aplikacja wymaga dostępu do odczytu /var/log/messages
, który należy do użytkownika i grupy root
. Jaki jest minimalny wymagany poziom ekspozycji, /var/log/messages
aby moja aplikacja mogła go odczytać?
Obecnie planuję zmienić własność grupy /var/log/messages
na nową i dodać do niej użytkownika root i mojego użytkownika aplikacji, ale dałoby to również uprawnienia do zapisu aplikacji /var/log/messages
.
System operacyjny: Centos 5.5
linux
centos
permissions
file-permissions
gAMBOOKa
źródło
źródło
Wystarczy rozwinąć nieco powyższe odpowiedzi, to przypadek użycia w świecie rzeczywistym. Na komputerze Redhat uruchamiam aplikację do analizy dzienników korporacyjnych Splunk. Działa w ramach podzielonego użytkownika i podzielonej grupy. Zapobiega to splunkowanemu dostępowi do dzienników w / var / log, ponieważ są one dostępne tylko przez root (lub administratora sudo)
Aby umożliwić dostęp tylko do odczytu tylko dla splunk, użyłem niektórych list ACL i zmodyfikowałem logrotate, aby go zachować.
Możesz ręcznie ustawić ACL za pomocą
Nie będzie się to utrzymywać, ponieważ logrotate nie zastosuje ponownie ustawienia ACL, więc dla bardziej trwałego rozwiązania dodałem regułę dla logrotate, aby zresetować ACL. Dodałem plik ..
z
Sprawdź status ACL pliku za pomocą
Aby uzyskać więcej informacji na temat list ACL, zobacz https://help.ubuntu.com/community/FilePermissionsACLs http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/
źródło
/etc/logrotate.d/Splunk_ACLs
tam opublikowana? W rzeczywistości nie musisz określać żadnych ścieżek do przetwarzania bitu postrotate przez logrotate?Twój plan jest do zaakceptowania, a „tradycyjny” schemat uprawnień Unix jest najlepszym sposobem.
Inną opcją jest przeniesienie przez syslog interesujących wiadomości do innego pliku (co pozwala uniknąć dostępu użytkownika aplikacji do wszystkich poufnych informacji, które mogą się w nim znajdować
/var/log/messages
).Jeśli nie masz ochoty być związanym z tradycyjnym schematem uprawnień użytkownika / grupy / innego, możesz również użyć list ACL POSIX (inne, być może lepsze instrukcje / informacje dostępne za pośrednictwem Google), aby dać użytkownikowi aplikacji dostęp tylko do odczytu
/var/log/messages
- jest to nieco bardziej szczegółowe i nie ryzykuje przypadkowego umieszczenia kogoś innego w grupie aplikacji i zapewnienia mu dostępu do rzeczy, których nie powinni widzieć.źródło
Yip Zwykłem to
setfacl
robić, aby daćmail.log
klientowi dostęp do pliku, nie trzeba też trzymać polecenia wlogrotate.conf
pliku, aby zresetować listę ACL po obróceniu dzienników, np .:Uwaga: Właśnie to skonfigurowałem i nie testowałem, ale mimo że opublikowałbym go tutaj, nie mogę zrozumieć, dlaczego to nie zadziała, ktoś mnie poprawi, jeśli się mylę.
źródło
Możesz do tego użyć ACL . Pozwala ustawić określone dodatkowe reguły dostępu dla określonych użytkowników i plików.
źródło
po skonfigurowaniu ACL, jak powiedzieli inni ludzie, zamiast umieszczać wszystkie reguły acl w konfiguracji postrotate, możesz włączyć logrotate, aby użyć copytruncate zamiast tworzenia nowego pliku dziennika za każdym razem
źródło