Kiedy działam sudo
jako zwykły nieuprzywilejowany użytkownik, prosi o moje hasło, a nie hasło roota. Jest to często wygodne, ale zmniejsza ilość informacji, które ktoś musiałby mieć, aby uruchamiać polecenia jako root. Jak więc mogę sudo
poprosić o hasło roota zamiast hasła użytkownika wywołującego?
Wiem, że można to zrobić z liniowym wejściem /etc/sudoers
, ale nigdy nie wydaje mi się, aby poprawnie analizował gramatykę BNF na stronie podręcznika, aby dowiedzieć się, co dokładnie napisać.
Odpowiedzi:
Ok, znowu jest, więc możesz ustawić znacznik wyboru.
W
/etc/sudoers
dodaj tę linię:aby włączyć flagę rootpw, powodując, że sudo poprosi o hasło roota.
źródło
visudo
polecenia zamiast ręcznie edytować/etc/sudoers
plik.visudo
sprawdza poprawność pliku, aby upewnić się, że jest poprawny przed zapisaniem, więc nie zostaniesz zablokowany z sudo, jeśli popełnisz błąd składniowy ... askubuntu.com/a/81054/166411Musisz włączyć
rootpw
flagę.źródło
/etc/sudoers
aby włączyć tę flagę?Wiem, że to pytanie jest stare, ale jest to najbardziej zwięzłe pytanie, jakie znalazłem dla tego przypadku użycia (co stanowi niewielki procent, prawda, ale mimo to uzasadnione i pomocne w odpowiednim scenariuszu).
Po zebraniu wszystkich kroków z różnych źródeł - w tym wielu odpowiedzi na to pytanie, te kroki działają na Ubuntu-Gnome 16.04 LTS:
sudo passwd
sudo visudo
Defaults rootpw
Krótka uwaga - chciałem też upewnić się, że użytkownik root nie będzie mógł zalogować się przy użyciu graficznego logowania, i szukałem sposobów na wykluczenie. Najwyraźniej użytkownik root jest domyślnie wykluczony i nie może być używany do logowania za pomocą graficznego logowania Gnome - co jest bardzo dobrą rzeczą!
źródło
root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL
Pozwala na rootowanie sudo dla każdego użytkownika, który zna hasło roota. Naiwna zmiana dwóch ostatnich linii do twojego rozwiązaniaDefaults rootpw
powoduje blokadę zsudo
. Musisz także dodać użytkownika, abysudoers
polubił:myusername ALL=(ALL) ALL
lub dać podobne uprawnienia grupie, a następnie dodać jąmyusername
do tej grupy.Typowa konfiguracja, która wymaga hasła celu (nie tego, czego chcemy):
Drugi wiersz brzmiałby na głos: „WSZYSCY użytkownicy na WSZYSTKICH hostach mogą personifikować (WSZYSTKICH) użytkowników podczas wykonywania WSZYSTKICH poleceń”. oraz
Defaults targetpw
oznacza, że muszą znać hasło użytkownika, pod którym się podszywają.Naiwnie zmieniając tę prostą konfigurację na:
nie pozostawiłby żadnego użytkownika lub grupy z uprawnieniem do uruchamiania poleceń jako inny użytkownik.
Jedną z możliwości pracy byłoby:
Mówiąc
myuser
wprost, ma teraz możliwość uruchamiania WSZYSTKICH poleceń jak każdy użytkownik na WSZYSTKICH hostach, o ile znane jest hasło roota.Inną możliwością pracy byłoby:
Każdy członek
sudousers
grupy będzie mógł uruchamiać WSZYSTKIE polecenia jak każdy użytkownik na WSZYSTKICH hostach, o ile znane jest hasło roota. Aby umożliwićmyuser
uruchamianie poleceń sudo,sudousers
należy dodać do jego grup pomocniczych.źródło
Możesz po prostu wyłączyć sudo i używać
su -c
.źródło
Za pomocą
pozwoli ci uruchamiać tyle poleceń, ile tylko chcesz.
źródło
sudo
aby pytać o hasło roota, nadal pozwoli to komuś uzyskać dostęp do roota poprzez przedstawienie tylko jednego hasła (nie roota). Więc tak naprawdę nie rozwiązuje problemu bezpieczeństwa, który spowodował moje pytanie.