/var/log
często ma uprawnienia drwxrwxr-x
, więc użytkownik nie może zapisywać, chyba że użytkownik jest rootem lub należy do uprzywilejowanej grupy. Oznacza to, że nowe pliki dziennika nie mogą być tworzone przez nieuprzywilejowanych użytkowników.
Aplikacje, które oczekują zalogować się do określonego punktu /var/log
, często dotykają pliku istniejącego gdzieś w /var/log
hierarchii w czasie instalacji (co często ma miejsce z podwyższonymi uprawnieniami), chmod
i prawdopodobnie chown
w tym czasie do uprawnień odpowiednich dla nieuprzywilejowanych użytkowników, którzy będą za pomocą aplikacji.
Na przykład dzienniki Apache są zazwyczaj zapisywane przez użytkownika nobody
, który jest jak najmniej uprawniony do tego, aby Apache mógł wykonywać swoje zadania bez nadmiernego ryzyka dla systemu. Ale nawet bardziej wszechstronna aplikacja często oczekuje, że będzie mogła zapisywać w pliku dziennika /var/log
.
Co się stanie, jeśli plik dziennika i ścieżka do pliku dziennika nie istnieją? To zależy wyłącznie od aplikacji. Niektóre aplikacje po cichu pomijają rejestrowanie. Inni stworzą wiele ostrzeżeń. A inni po prostu wyskoczą. Nie ma twardej zasady; zależy to od czujności twórcy aplikacji, a także od tego, jak krytyczny jest jego zdolność do rejestrowania. W najlepszym wypadku aplikacja spróbuje albo zapisać, albo ewentualnie utworzyć, a następnie zapisać do pliku dziennika w miejscu docelowym w środku /var/log
i nie będzie w stanie tego zrobić, ponieważ jest uruchamiany przez użytkownika, który nie ma uprawnień do zapisu w ta część systemu plików.
Krótka odpowiedź brzmi: nie, nie usuwaj wszystkiego /var/log
- łamie to użytkowników kontraktu z wystarczającymi uprawnieniami do robienia takich rzeczy z aplikacjami, które działają w ich systemie i powoduje hałas, cichą awarię i trochę całkowitego zepsucia.
Właściwym działaniem, które należy podjąć, jest skonfigurowanie logrotate
odpowiednich plików konfiguracyjnych. Zazwyczaj rotacja będzie powiązana z zadaniem cron. Obrót może być oparty na interwałach, rozmiarach lub obu. Możliwe jest nawet skonfigurowanie reguł, które unikają rotacji opartej na interwałach, jeśli plik dziennika jest nadal pusty po upływie interwału. Rotacja może obejmować wysyłanie plików dziennika, kompresję, usuwanie, niszczenie i tak dalej.
Przeciętny użytkownik nie musiałby zbytnio przejmować się rotacją logów. Deweloperzy prawdopodobnie chcieliby upewnić się, że używane dzienniki mają ustalone reguły rotacji. W rzeczywistości deweloperzy mogą konfigurować rotację dzienników w czasie instalacji dla dzienników specyficznych dla oprogramowania, które oprogramowanie będzie tworzyło i zapisywało.