Dlaczego użytkownik root potrzebuje uprawnień sudo?

16
[root@notebook ~]# grep root /etc/sudoers
root    ALL=(ALL)   ALL

Pytanie: Dlaczego użytkownik root potrzebuje uprawnień sudo? Widziałem to w różnych systemach UNIX. Czy ktoś może to wyjaśnić?

kimś
źródło
2
sudo! = root.
DisplayName

Odpowiedzi:

25

Aby mogli (z man strony): -

wykonać polecenie jako inny użytkownik

sudonie ogranicza się do umożliwienia zwykłym użytkownikom wykonywania polecenia jako root. Root może uruchomić polecenie jako inny użytkownik za pomocą:

sudo -u bloggs <command>

Pamiętaj, że root nie będzie musiał podawać hasła użytkownika.

garethTheRed
źródło
2
su -c '<command>' bloggs
Joshua
Tak, jest to metoda zastępcza, a root jest jedynie bardzo powszechnym zastosowaniem.
mckenzm
9

Załóżmy, że masz skrypt, który wykonuje wiele czynności bez specjalnych uprawnień, a następnie jedną uprzywilejowaną funkcję wykonywaną przez sudo.

Jeśli chcesz, aby ten skrypt był także użyteczny dla roota, wygodnie jest, aby to ostatnie polecenie sudo nie odmawiało działania, ponieważ „jesteś rootem; root nie ma prawa do sudo”.

Skonfigurowanie tego w sudoers zamiast na stałe wyłączania dla roota w binarnym sudo zmniejsza złożoność krytycznego dla bezpieczeństwa kodu w sudo (choć nieznacznie), co zawsze jest dobrą rzeczą.

hmakholm pozostawił Monice
źródło
1
A poza tym, mam więcej niż jeden raz przypadkowo rozpoczął polecenia administratora z poziomu sudo, a ja już był korzeń, tylko dlatego, że jest to zakorzenione w mojej pamięci mięśniowej ...
Shadur
3

Powodem podanym w oryginalnej instrukcji sudo (przepraszam, nie znam wersji online) było rejestrowanie aktywnych poleceń, gdy tylko jest to możliwe, gdy logujesz się jako root.

Jozuego
źródło