Dlaczego sudo
wykonujemy polecenie terminalu jako administrator? Dlaczego to nie jest admin
coś innego? Czy jest jakiś powód sudo
?
sudo
history-of-ubuntu
Mohammad
źródło
źródło
sudo ls
jako „administrator, wykonajls
” (a nie, to nie jest głupie, mnemotechniki są ważne dla pamiętanie poleceń) (i nie, prawdopodobnie oznacza to, że " s czarownica u ser i zrobić , biorąc pod uwagę, żesu
środki przełączania użytkownika, ale znajdę byłego najmilszych.; -))sudo
oznacza (I) pot . Lubię interpretowaćsudo X
jako pocenie się ze strachu przed wydaniem niewłaściwego polecenia i wymazaniem wszystkich moich danych . Pomaga to pamiętać, że należy dodawaćsudo
przed poleceniami tylko wtedy, gdy 1) Konieczne jest 2) Wiesz, co robisz 3) Starannie napisałeś i przeczytałeś wiersz poleceń, aby uniknąć literówek (szczególnie złych spacji, które są trudne do znalezienia złapać i może spowodować naprawdę okropne nieoczekiwane wyniki).su
pierwotnie oznaczało „superużytkownik”, „użytkownik zastępczy” przyszedł później .Odpowiedzi:
Z Wikipedii :
Jest to tymczasowe jednorazowe polecenie z uprawnieniami administratora (administratora) bez bezpośredniego logowania użytkownika root.
źródło
sudo
, isu
, podobnie jak zrobić BSD i Linux.Przed sudo większość administratorów była zalogowana jako użytkownik root, ponieważ jest to łatwy sposób na skonfigurowanie systemu, ponieważ masz wszystkie prawa. Jednak mała pomyłka , albo źle łącza internetowego i cały system mogą zostać naruszone, a nawet zagrożone.
Z powodu tego problemu pojawiło się sudo . Celem było korzystanie z uprawnień administracyjnych tylko przez krótki czas i tylko w razie potrzeby. Ponadto pozwoliłoby to uniknąć logowania użytkownika na inne konto. To oczywiście poprawiłoby bezpieczeństwo systemu .
W systemie Ubuntu decydują się zwiększyć bezpieczeństwo twojego systemu. Postanowili więc podążać drogą „sudo”. Użytkownik root jest wyłączony; nie ma takiej potrzeby, a zwłaszcza nie ma ryzyka, że użytkownik zaloguje się za pośrednictwem interfejsu X z użytkownikiem root. Ponadto zezwolili na uruchamianie każdego polecenia w sudo dla upoważnionych użytkowników. Fajne jest to, że zaawansowani użytkownicy mogą uzyskać dostęp do konta root.
Wady
sudo
:sudo
przed każdym poleceniem wymagającym uprawnień administracyjnychCo
sudo
znaczy Jego nazwa jest połączeniem „su” (użytkownik zastępczy) i „do”.Dlaczego
sudo
nieadmin
? Myślę, żesudo
znaczyadmin
na określony czas i tylko wtedy, gdy go potrzebujesz.Ludzie pochodzący ze środowiska Windows powinni zrozumieć, dlaczego tak nie jest
admin
:)Odniesienia: Zdjęcie strony
: xkcd
źródło
su
isudo
pod tym względem, a jedyną różnicą między nimi jest, które są używane poświadczenia. Korzystaniesudo
raczej niżsu
nie jest bezpieczniejsze (w rzeczywistości jest nieco mniej bezpieczne); Główną zaletą sudo (i powodem, dla którego Ubuntu go wybrał) jest prostota dla użytkownika (tylko jedno hasło do zapamiętania).Z Linux.com, produkt Linux Foundation:
[Podkreśl moje.] Źródło
źródło
superuser zrobić
Su, możesz zostać superużytkownikiem, więc możesz powiedzieć
sudo pozwala to zrobić za jednym zamachem i nie musisz pamiętać o rezygnacji z magicznych mocy.
źródło
su
(„użytkownik zastępczy”) pozwala stać się dowolnym użytkownikiem: możesz podać nazwę użytkownika jako argument.Jeśli chodzi o to, dlaczego nie jest to „admin” - lub bardziej pośrednio, dlaczego su nie jest „switchUser” lub coś w tym rodzaju - tradycyjne polecenia uniksowe są zwykle minimalnymi skrótami ze względów historycznych związanych z pochodzeniem Uniksa.
Z najbardziej podstawowego powodu musimy wrócić do tego samego powodu, który nazywa się Unix. Znaczna część Uniksa została zainspirowana jednym z wczesnych wielozadaniowych systemów operacyjnych, Multit MIT. (Unix ma swoją nazwę jako „liczba pojedyncza Multics” lub „wykastrowana Multics”, w zależności od tego, kogo pytasz i ich nastroju w danym momencie.)
Wśród innych innowacji Multics wprowadzono koncepcję oddzielenia rzeczywistej lokalizacji pliku od informacji o katalogu, umożliwiając, aby pojedynczy plik miał wiele nazw. („Linki”, w kategoriach Unix.) Multics w pełni (nadmiernie) wykorzystał to; większość poleceń Multics ma zarówno ALongNameThatIsImpossibleToType, jak i ASNTOECR (krótką nazwę, którą pamiętają tylko eksperci). Doświadczenie pokazało, że długie nazwy naprawdę nie dodawały wiele łatwości obsługi, ponieważ w rzeczywistości wszyscy użytkownicy byli lub szybko stali się „ekspertami” i prawie nikt nigdy nie używał długich nazw. Kiedy Unix przyjął część projektu Multics, jednym z jego uproszczeń było odrzucenie nieużywanych długich nazw i zachowanie tylko krótkich nazw przyjaznych dla ekspertów.
Jest to również dobrze dopasowane do filozofii uniksowej polegającej na ograniczeniu systemu operacyjnego i jego podstawowych zestawów poleceń do ich zasadniczych funkcji, umożliwiając wydajne działanie na mniejszych systemach. W tamtych czasach programiści wciąż oszczędzali każdy możliwy bajt i cykl. Procesory były znacznie wolniejsze, prędkości końcowe były również niesamowicie niższe, a pamięć była znacznie droższa (i wolniejsza, i miała małe pamięci podręczne, jeśli w ogóle). Utrzymywanie poleceń systemowych na minimalnej długości mogło w rzeczywistości nie zaoszczędzić wiele (jeśli w ogóle) rzeczywistych zasobów, ale „wydawało się to właściwe” dla sposobu myślenia w danym czasie.
Jeśli naprawdę nalegasz na przyjazne dla użytkownika nazwy komend, odpowiedź dla systemu Unix brzmiałaby: „Wiesz, jak napisać skrypt powłoki; zaimplementuj go samodzielnie. Jeśli nie wiesz, jak napisać skrypt powłoki, musisz nauczyć się, jak to zrobić więc. Jeśli nie lubisz się uczyć i / lub kodować, nie będziesz zadowolony z Uniksa i powinieneś użyć czegoś innego. "
źródło
Niezależnie od tego, czy „ superużytkownik ” jest
su
pierwotnie pochodzący, jest niedokładny, ponieważ podana nazwa użytkownika nie musi być superużytkownikiem. To samo dotyczy wykonywania poleceń przez innego użytkownikasudo -u
.„ Użytkownik zastępczy ” jest dokładniejszy, ale brzmi niezręcznie. To sprawia, że myślę o nauczycielu zastępczym.
Dlatego wolę myśleć
su
po prostu jako „zmień użytkownika”, asudo
zatem jako „zmień użytkownika i zrób”.źródło
Ze strony internetowej Sudo :
„Co to jest Sudo?
Sudo (su „do”) pozwala administratorowi systemu delegować uprawnienia, aby niektórzy użytkownicy (lub grupy użytkowników) mogli uruchamiać niektóre (lub wszystkie) polecenia jako root lub inny użytkownik, jednocześnie zapewniając ścieżkę audytu poleceń i ich argumentów . ”
„Sudo zostało po raz pierwszy opracowane i wdrożone przez Boba Coggeshalla i Cliffa Spencera około 1980 roku na Wydziale Informatyki SUNY / Buffalo. Działało na VAX-11/750 z systemem 4.1BSD. Zaktualizowana wersja, przypisana Philowi Betchelowi, Cliffowi Spencerowi Gretchen Phillips, John LoVerso i Don Gworek zostali wysłani do grupy dyskusyjnej Usenet w grudniu 1985 roku. ”
To powiedziawszy, chociaż nie sądzę, aby istniał jakikolwiek dowód, zawsze mocno wierzyłem, że nazwa była rodzajem żartobliwego programisty. Masz polecenie „su” (superużytkownik) „do”, ale tak naprawdę nie jesteś superużytkownikiem - zmień „doo” w „doh”, a „sudo” wygląda / brzmi bardzo podobnie do „pseudo” (fałszywy) , fikcja).
źródło
Większość ludzi odpowiedziało, że jest to połączenie „superużytkownika”. Podoba mi się to, ale bardziej poprawne może być stwierdzenie, że jest to połączenie „zastępczego użytkownika zrobić”, ponieważ możesz wybrać, który użytkownik „zrobisz”, jak w przypadku flagi -u.
Myślę też o tym jak o grze w słowa psuedonym, ponieważ możesz udawać, że jesteś kimś innym, rootem lub innym użytkownikiem używającym flagi -u.
źródło
root
(chociaż ma sens, aby był to przynajmniej jeden z identyfikatorem UID 0 i ogólnie tak jest), patrzrunas_default
wsudoers
.