Tuning: wyłączamy core-dump
W przypadku nieoczekiwanego wyłączenia się programu, automatycznie uruchamiany jest proces coredump, który powoduje zrzut różnych informacji, które programistom mogą pomóc w rozwiązaniu problemu. Niemniej jednak, dla zwykłego użytkownika jest to proces zbyteczny, zajmuje miejsce, a nadto w owych zrzutach mogą być różne informacje, do których niekoniecznie chcielibyśmy, by ktokolwiek miał dostęp (co prawda są one niby czytelne wyłącznie dla roota, jednakże nie jest to w zasadzie żadne zabezpieczenie przed osobą, która potrafi się do partycji głównej "dobrać", nawet nieznając hasła root).
Z punktu widzenia zwykłego użytkownika usługa ta może być po prostu zbędna.
Wyłączenie można przeprowadzić w zasadzie na dwu poziomach. W przestrzeni użytkownika (userspace) oraz pozostałej. Wyłączenie pierwszej powoduje, że programy uruchamiane w userspace nie będą dokonywały zrzutów, jeśli niespodziewanie się wyłączą. Wyłączenie również drugiej powoduje, że coredump jest wyłączone dla wszystkich sytuacji.
Pamiętajmy jednak, że wyłączając coredump możemy jednocześnie pozbawić się możliwości usunięcia jakichś awarii związanych z oprogramowaniem.
1. Wyłączenie coredump w userspace
Dokonujemy edycji pliku /etc/systemd/coredump.conf, odnajdujemy linijkę, którą domyślnie ma postać:
2. Zerujemy przestrzeń dyskową dla zrzutów
Edytujemy plik /etc/security/limits.conf i dopisujemy:
3. Zmieniamy ustawienia sysctl
Edytujemy bądź tworzymy plik: /etc/sysctl.conf i dopisujemy w nim:
Z punktu widzenia zwykłego użytkownika usługa ta może być po prostu zbędna.
Wyłączenie można przeprowadzić w zasadzie na dwu poziomach. W przestrzeni użytkownika (userspace) oraz pozostałej. Wyłączenie pierwszej powoduje, że programy uruchamiane w userspace nie będą dokonywały zrzutów, jeśli niespodziewanie się wyłączą. Wyłączenie również drugiej powoduje, że coredump jest wyłączone dla wszystkich sytuacji.
Pamiętajmy jednak, że wyłączając coredump możemy jednocześnie pozbawić się możliwości usunięcia jakichś awarii związanych z oprogramowaniem.
1. Wyłączenie coredump w userspace
Dokonujemy edycji pliku /etc/systemd/coredump.conf, odnajdujemy linijkę, którą domyślnie ma postać:
# Storage=externali zmieniamy na:
Storage=noneTeraz jeszcze musimy o tym poinformować systemd:
# systemctl daemon-reload
2. Zerujemy przestrzeń dyskową dla zrzutów
Edytujemy plik /etc/security/limits.conf i dopisujemy:
* hard core 0pod sekcją, która wygląda tak:
#<domain> <type> <item> <value>
3. Zmieniamy ustawienia sysctl
Edytujemy bądź tworzymy plik: /etc/sysctl.conf i dopisujemy w nim:
fs.suid_dumpable = 0Można też przekompilować kernel i w ogóle wyłączyć taką możliwość.
Materiał powstał na podstawie http://www.cyberciti.biz/faq/linux-disable-core-dumps/ oraz https://wiki.archlinux.org/index.php/Core_dump
Komentarze
Prześlij komentarz