O ile mi wiadomo i wydaje się, że inni ludzie mają takie samo zdanie, sudo
to polecenie, które wykonuje coś z uprawnieniami administracyjnymi.
Jednak po uruchomieniu rcconf
widzę tę linię:
[*] sudo Provide limited super user privileges to specific users
Po co więc ta usługa? Czy to nawet usługa?
Odpowiedzi:
Krótka odpowiedź
Aby odwołać „uwierzytelniane w pamięci podręcznej” czynności uwierzytelniania użytkowników podczas ponownego uruchamiania. To nie jest demon, tylko skrypt uruchamiany podczas rozruchu.
Obszerna odpowiedź
Przeglądając plik init,
/etc/init.d/sudo
który „uruchamia usługę”, możesz łatwo zobaczyć, co robi:Zasadniczo wystarczy dotknąć niektórych plików
/var/lib/sudo
na początku systemu, aby mieć bardzo stary znacznik czasu modyfikacji. W wyniku tego udzielone „uwierzytelniane w pamięci podręcznej” akcje uwierzytelnienia są cofane na początku usługi (co dzieje się podczas uruchamiania).Poproszę więcej szczegółów na temat
/var/lib/sudo
katalogu i tych znaczników czasu? Z mapysudo(8)
:źródło
Plik
sudo
usługi istnieje, aby upewnić się, że wymagane uprawnienia nie pozostaną po ponownym uruchomieniu. Zasadniczo gwarantuje, że po ponownym uruchomieniu normalni użytkownicy, którzy zażądali uprawnień root, pozostaną normalnymi użytkownikami.Szczegółowe wyjaśnienie sudo
Wszystkie poniższe wyjaśnienia mają na celu uzyskanie wszystkich informacji dla wszystkich, którzy czytają to pytanie, a następnie wyjaśnienie, co robi tam plik sudo w folderze usługi.
Podczas instalowania Ubuntu lub innej dystrybucji korzystającej
sudo
z różnicy między byciem rootem a byciem użytkownikiem, który używasudo
do uzyskiwania uprawnień typu „root jak” (uprawnienia administratora lub superużytkownika), jest to:Jako root
Jak sudo
Dlaczego utworzono SUDO
Tworzenie SUDO zostało wykonane, ponieważ w przeszłości używanie root'a powodowało więcej problemów niż rozwiązań. Użytkownicy mieli wszelkie prawa, co oznaczało, że jeśli oni zrobili jakieś porządki wiosna i dosłownie usunięty
/usr
,/lib
i/bin
foldery (bo myśleli, że ich nie potrzebne) .. wiecie co by się stało. Wiele problemów w przeszłości było spowodowanych tym, że użytkownicy nie znali mocy, jaką mieli podczas korzystania z roota. Zasadniczo mieli root, ale nie rozumieli Linuksa, hierarchii systemu plików, jakie pliki były ważne itp. (Coś w stylu ferrari i nieumiejętności prowadzenia ... na autostradzie!)SUDO jest również używany przez aplikacje GUI (jak Update Manager), gdy potrzebują tymczasowych uprawnień administracyjnych, aby coś zrobić. Potrzebują go tylko do określonej liczby poleceń (zazwyczaj 1), a następnie wracają do uprawnień na poziomie użytkownika. Ma to na celu uniknięcie posiadania uprawnień roota przez cały czas i uniknięcie pomyłki, jeśli użytkownik zdecyduje się usunąć ważną część systemu.
Ponadto zapewnia większe bezpieczeństwo, ponieważ użytkownik root jest domyślnie wyłączony.
Wreszcie, jeśli masz komputer stacjonarny lub serwer, naprawdę nie chcesz, aby wszyscy byli rootami ani nie mieli wszystkich uprawnień administratora. Bardzo zły pomysł, jeśli twoja młodsza siostra lub młodsi bracia zaczną się zastanawiać, co by się stało, gdyby
/boot
spotkał się z DELkluczem. W tymsudo
momencie zmniejsza się szansa, że stanie się coś złego.Co oznacza Ograniczone uprawnienia superużytkownika dla określonych użytkowników ?
Użytkownik sudo lub sudoers faktycznie mają plik konfiguracyjny, który mówi im, jak ograniczone lub otwarte jest polecenie sudo dla konkretnego użytkownika. Plik
/etc/sudoers
zawiera wszystkie informacje, aby ograniczyć lub umożliwić dostęp do użytkownika sudo. Domyślnie ma dostęp do wszystkiego, ale możesz to skonfigurować lub ograniczyć, jak chcesz.Aby uzyskać informacje o tym, jak używać typu sudoers
man sudoers
w terminalu. Na przykład normalny format to:HOSTA UŻYTKOWNIKA = POLECENIA
Na przykład
cyrex server1 = /bin/ls
da użytkownikowi cyrex na serwerze hosta1 dostęp do uruchomienia polecenia ls.Na przykład
cyrex server1 (root) = /bin/ls
da użytkownikowi cyrex na serwerze hosta1 dostęp do uruchomienia komendy ls jako root.Na przykład
cyrex ALL = /bin/ls
da użytkownikowi cyrex dostęp do wszystkich hostów w celu uruchomienia polecenia ls.Na przykład
cyrex ALL = ALL
zapewni użytkownikowi cyrex dostęp do wszystkich hostów w celu uruchomienia wszystkich poleceń.Na przykład
luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
pozwoli mi uruchomić sudo dla poleceńkill
ikillall
jako root bez pytania o hasło.źródło
!!
operatora Bang Bang, ale co robi usługa (NIE polecenie)sudo
? Byłoby wspaniale, gdybyś mógł zaktualizować swoją odpowiedź, aby naprawdę odpowiedzieć na pytanie.