tło
Znam różnicę między su -
, sudo su -
oraz sudo <command>
:
su -
- przełącza użytkownika na root, wymaga hasła rootasudo su -
- przełącza użytkownika na root, wymaga tylko hasła bieżącego użytkownikasudo <command>
- przyznaje dostęp do konta root tylko dla określonego polecenia; wymaga tylko hasła bieżącego użytkownika
Moje pytanie dotyczy tego, czy używanie sudo su -
jest bezpieczną praktyką w środowisku produkcyjnym.
Kilka myśli:
Wydaje się, że zezwalanie
sudo su -
stanowi zagrożenie dla bezpieczeństwa, uzależniając dostęp do konta root od haseł poszczególnych użytkowników. Oczywiście można to złagodzić, egzekwując ścisłą politykę haseł. Nie wydaje mi się, żebysu -
było lepiej, ponieważ wymagałoby od administratora dzielenia faktycznego hasła roota.Zezwolenie użytkownikom na całkowite przełączenie się na konto root utrudnia śledzenie, kto wprowadza zmiany w systemie. W mojej codziennej pracy widziałem przypadki, w których wielu użytkowników ma
sudo su -
dostęp. Pierwszą rzeczą, którą robią użytkownicy, logując się do systemu, jest uruchamianasudo su -
przed rozpoczęciem pracy. Pewnego dnia coś się psuje i nie ma możliwości śledzenia, kto był uruchomionyrm -rf *
w niewłaściwym katalogu.
pytania
Biorąc pod uwagę powyższe obawy, czy dobrym pomysłem jest zezwolenie użytkownikom na korzystanie, sudo su -
czy su -
w ogóle?
Czy istnieją jakieś powody, dla których administrator skonfigurowałby konta użytkowników dla ( sudo su -
lub su -
zamiast sudo <command>
lenistwa)?
Uwaga: ignoruję przypadek, w którym użytkownik działający sudo su -
lub su -
Administrator musi wprowadzić zmiany systemowe, gdy bezpośredni dostęp ssh został wyłączony dla użytkownika root.
sudo bash
po prostu, aby uniknąć narzutu związanego z logowaniem. Jednak po zastanowieniu może nie uniknąć tak dużo, jak sobie wyobrażam.
sudo -s
.
sudo su -
jest raczej głupie, ponieważsudo -i
robi to zasadniczo to samo, z mniejszą liczbą naciśnięć klawiszy.