Nigdy nie pracuj na koncie ROOT.
Działanie jako root jest złe, ponieważ:
-
Głupota: Nic nie zatrzyma Cię przed zrobieniem dowolnej głupoty. W wypadku pracy na koncie dowolnego innego użytkownika, zanim zaczniesz wprowadzać zmiany w systemie, będziesz musiał podać hasło (czy to roota, czy własne poprzez
sudo
), co sprawia, że w trakcie pracy zatrzymasz się na chwilę, co pozwoli Ci zastanowić się, czy aby na pewno to co robisz nie okaże się potem problemem, czy na pewno jest to potrzebne etc. -
Bezpieczeństwo: Wszędzie można natknąć się na głosy, że praca na koncie root to poważna luka w zabezpieczeniach naszego systemu, ale mało kiedy towarzyszy temu jakieś wyjaśnienie. Otóż otwarta praca na koncie root, której często towarzyszy otwarcie możliwości np logowania bezpośredniego przez SSH na to konto sprawia, że potencjalny haker zna już połowę potrzebnych danych, aby dostać się do maszyny i ją przejąć! Większość takich "hakerów" w dzisiejszych czasach to boty. One się nie zastanawiają, po prostu znajdują port z SSH na naszym serwerze (zmiana portu SSH nie pomoże, prędzej czy później i tak się dobiorą) i dobijają się do niego, próbując złamać nasze hasło do konta root. Jeżeli zamiast konta root przerzucimy się na konto, którego loginem będzie nasz nick, bądź nasze imię, a logowanie na roota zablokujemy, to nasz serwer stanie się w zasadzie nieosiągalny dla typowych botów włamujących się.
-
Dodatkowa ochrona przed błędami aplikacji: Programista też człowiek, zdarzy mu się popełnić błąd. Przykładowo czasami zdarza się, że przez błąd programisty jakiś serwer gry się zawiesi. Czasem się scrashuje. To nie są jakieś ogromne problemy, błąd można zgłosić, serwer zrestartować i żyje się dalej. Gorzej, jeżeli przez błąd w aplikacji ktoś może włamać się na nasz serwer i wykonywać operacje na systemie operacyjnym. Takie błędy również się zdarzają i trzeba być na nie przygotowanym. Jeżeli uruchamiamy nasze serwery np. gier poprzez konto root, a potem w silniku serwera zostanie znaleziony błąd pozwalający wykonywać polecenia w systemie operacyjnym, to w zasadzie nasz VPS lub dedyk nadaje się tylko do przeinstalowania - włamywacz poprzez serwer gry mógł nam podłożyć na serwer dowolne świństwo, które niekoniecznie musi zadziałać od razu, dlatego dla pewności trzeba wyrzucić z naszej maszyny wszystko. W wypadku w którym nasz serwer gry zostaje odpalony przez oddzielne konto, włamywacz nie może nic więcej niż to konto - w przypadku możliwości włamania wystarczy usunąć wszystkie pliki konta z którego uruchamiamy serwer i postawić go od nowa. To znacznie mniej roboty.
-
Nie potrzebujesz tego: Jeżeli musisz wykonać pojedyncze komendy z prawami roota, wystarczy skorzystać z
su root -c 'polecenie'
, np:apt-get upgrade
zamieniamy w:su root -c 'apt-get upgrade'
Ktoś może mi zarzucić, że przecież w internecie jest masa poradników, nawet tych dosyć świeżych, które np. mówią, żeby wykonywać podawane polecenia z poziomu konta root. Niestety, wiele osób żyje jeszcze starym podejściem do konta root, gdyż podejście do odchodzenia od tego konta ze względów bezpieczeństwa jest względnie nowe. Warto dbać o bezpieczeństwo naszego serwera, warto nieużywać roota. Nie przyjmujmy wszystkich poradników bezkrytycznie, nawet jeżeli kupujemy serwer vps tylko po to, żeby nie przepłacać za hosting naszych serwerów gier na hostingach współdzielonych, to usiądźmy na chwilę i zastanówmy się, co będzie dla nas lepsze na dłuższą metę. ;)