sudo ( S górny W Być DO ) w systemie Linux jest zwykle używane jako przedrostek dla niektórych poleceń, które mogą uruchamiać tylko superużytkownicy. Jeśli poprzedzisz dowolne polecenie sudo, uruchomi ono je z podwyższonymi uprawnieniami, czyli innymi słowy umożliwi użytkownikowi z odpowiednimi uprawnieniami wykonanie polecenia jako inny użytkownik, na przykład superużytkownik. Jest to odpowiednik opcji Uruchom jako administrator w systemie Windows. Opcja sudo pozwala nam mieć wielu administratorów.
Ci użytkownicy, którzy mogą korzystać z sudo polecenie musi mieć wpis w sudoerzy plik znajdujący się pod adresem /etc/sudoers . Pamiętaj, że aby edytować lub wyświetlić plik sudoers, musisz użyć polecenia sudo. Do edycji pliku sudoers zaleca się użycie polecenia visudo.
Domyślnie sudo wymaga, aby użytkownicy uwierzytelniali się przy użyciu hasła, które jest hasłem użytkownika, a nie samym hasłem roota.
Składnia polecenia sudo:
sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command>
Opcje Dostępne w poleceniu sudo
| Opcje | Opis | Składnia |
|---|---|---|
| -W | Opcja -V (wersja) powoduje, że Sudo wypisze numer wersji i zakończy działanie. Jeśli wywołujący użytkownik jest już rootem, opcja -V wyświetli listę domyślnych ustawień, z którymi sudo zostało skompilowane. | sudo -V> |
| -l | Opcja -l (lista) wyświetli polecenia dozwolone (i zabronione) użytkownikowi na bieżącym hoście. | sudo -l> |
| -h lub –pomoc | Opcja -h (pomoc) powoduje, że Sudo wyświetla komunikat o użyciu i kończy działanie. | sudo -h> |
| -W | Jeśli po wybraniu opcji -v (sprawdzanie poprawności) sudo zaktualizuje znacznik czasu użytkownika, w razie potrzeby pytając o hasło użytkownika. Wydłuża to limit czasu sudo o kolejne 5 minut (lub zgodnie z sudoers), ale nie uruchamia polecenia. To nie daje żadnych wyników. | sudo -v> |
| -k | Opcja -k (kill) sudo unieważnia znacznik czasu użytkownika. Zatem następnym razem, gdy Sudo zostanie uruchomione, wymagane będzie hasło. Ta opcja nie wymaga hasła i została dodana, aby umożliwić użytkownikowi odebranie uprawnień sudo z pliku wylogowania. | sudo -k> |
| -K | Podobnie jak opcja -k, opcja -K (pewne zabicie) służy do całkowitego usunięcia znacznika czasu użytkownika. Podobnie ta opcja nie wymaga hasła. | sudo -K> |
| -B | Opcja -b (w tle) informuje sudo, aby uruchomiło dane polecenie w tle. Zauważ, że jeśli użyjesz opcji -b, nie możesz użyć powłoki kontrola pracy manipulować procesem. | sudo -b [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| -P | polecenie sudo -p Prompt umożliwia dostosowanie monitu o hasło wyświetlanego przez Sudo, gdy żąda hasła użytkownika. Domyślnie sudo wyświetli ogólny monit o podanie hasła, który wygląda podobnie | sudo -p 'Enter your password' [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| -N | Opcja -n umożliwia sudo wykonanie polecenia bez pytania o hasło. Ta opcja jest przydatna podczas uruchamiania poleceń sudo jako zadań w tle lub w skrypcie powłoki. Opcja -n oznacza brak interakcji. | sudo -n [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) lista Java |
| -W | Opcja -u powoduje, że sudo uruchamia określone polecenie jako użytkownik inny niż root. Aby określić UID zamiast nazwy użytkownika, użyj #uid. | sudo -u [user] [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| -S | Opcja -s uruchamia powłokę określoną przez zmienną środowiskową SHELL, jeśli jest ustawiona, lub powłokę określoną w pliku passwd. | sudo -s [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| -H | Opcja -H ustawia zmienną środowiskową HOME na katalog domowy użytkownika docelowego (domyślnie root), jak określono w passwd. Domyślnie Sudo nie modyfikuje HOME. | sudo -H [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| -S | Opcja -S powoduje, że sudo odczytuje hasło ze standardowego wejścia zamiast z urządzenia końcowego. | sudo -S [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| -A | Opcja -a powoduje, że Sudo użyje określonego typu uwierzytelniania podczas sprawdzania poprawności użytkownika, zgodnie z zezwoleniem w pliku /etc/login.conf. Administrator systemu może określić listę metod uwierzytelniania specyficznych dla sudo, dodając wpis auth-sudo w pliku /etc/login.conf. | sudo -a [auth-type] [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) |
| — | Flaga — wskazuje, że sudo powinno przestać przetwarzać argumenty wiersza poleceń. Jest najbardziej użyteczny w połączeniu z flagą -s. | sudo -- [command]> (zamień polecenie na polecenie, które chcesz uruchomić w tle) Java sortowanie listy tablic |
Wynik kilku poleceń
1. -V: Opcja -V (wersja) powoduje, że Sudo wypisze numer wersji i zakończy działanie. Jeśli wywołujący użytkownik jest już rootem, opcja -V wyświetli listę domyślnych ustawień, z którymi sudo zostało skompilowane.
sudo -V
2. -l: Opcja -l (lista) wyświetli polecenia dozwolone (i zabronione) użytkownikowi na bieżącym hoście.
sudo -l
Pete'a Davidsona
3. -h lub –help: Opcja -h (pomoc) powoduje, że Sudo wyświetla komunikat o użyciu i kończy działanie.
sudo -h
Zmienne środowiska
Te zmienne środowiskowe są używane przez Sudo
| Etykietka | Opis |
|---|---|
| REDAKTOR | Domyślny edytor do użycia w -To jest (sudoedit), jeśli nie ustawiono opcji VISUAL |
| DOM | W -S Lub -H mode (lub jeśli Sudo zostało skonfigurowane z rozszerzeniem –enable-shell-sets-home opcja), ustaw na katalog domowy docelowego użytkownika |
| ŚCIEŻKA | Ustaw na rozsądną wartość, jeśli bezpieczna_ścieżka opcja sudoers jest ustawiona. |
| POWŁOKA | Służy do określenia, czy powłoka ma działać z opcją -s |
| SUDO_PROMPT | Używany jako domyślny monit o podanie hasła |
| SUDO_COMMAND | Ustaw na polecenie uruchamiane przez Sudo |
| SUDO_USER | Ustaw na login użytkownika, który wywołał Sudo |
| SUDO_UID | Ustaw na identyfikator użytkownika, który wywołał Sudo |
| SUDO_GID | Ustaw na gid użytkownika, który wywołał Sudo |
| POŁUDNIE_PS1 | Jeśli ustawione, PS1 zostanie ustawione na swoją wartość |
| UŻYTKOWNIK | Ustaw na użytkownika docelowego (root, chyba że -W opcja jest określona) |
| WIZUALNY | Domyślny edytor do użycia w -To jest tryb (sudoedit). |
Polecenie sudo w systemie Linux – często zadawane pytania
Co to jest „sudo” w systemie Linux?
Sudo to polecenie w systemie Linux, które pozwala użytkownikom uruchamiać polecenia z uprawnieniami, które ma tylko użytkownik root. Pomaga użytkownikom wykonywać zadania z uprawnieniami administracyjnymi bez logowania się jako użytkownik root, chociaż czasami może to być ryzykowne.
Które polecenia systemu Linux wymagają uprawnień `sudo`?
Istnieje wiele poleceń systemu Linux, które należy wykonać z uprawnieniami sudo, takich jak polecenia sieciowe, polecenia zarządzania pakietami i polecenia na poziomie systemu. Na przykład polecenia wymagające uprawnień sudo do uruchomienia to `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` i `ifconfig`.
Co mogę uruchomić za pomocą Sudo?
Istnieje wiele poleceń systemu Linux, które do uruchomienia wymagają uprawnień sudo, należy jednak pamiętać, aby używać ich ostrożnie, ponieważ mogą one modyfikować krytyczne konfiguracje systemu i pliki. Aby uniknąć konsekwencji, powinniśmy sprawdzić dwukrotnie przed uruchomieniem poleceń. Polecenia takie jak:
- Instalowanie nowego pakietu: `sudo apt-get install nazwa_pakietu`
- Aktualizacja systemu: `sudo apt-get update && sudo apt-get upgrade`
- Modyfikowanie konfiguracji systemu: `sudo nano /etc/fstab`
- Uruchamianie usługi systemowej: `sudo systemctl start nazwa_usługi`
- Zatrzymywanie usługi systemowej: `sudo systemctl stop nazwa_usługi`
- Tworzenie nowego konta użytkownika: `sudo useradd nazwa użytkownika`
- Zmiana uprawnień do plików: `sudo chmod 755 nazwa_pliku`
Jaka jest różnica między poleceniami su i sudo w systemie Linux?
W systemie Linux polecenie su (przełącz użytkownika) umożliwia użytkownikom zalogowanie się jako inny użytkownik, często użytkownik root, oraz uzyskanie dostępu do ich plików i ustawień. Natomiast polecenie sudo umożliwia użytkownikom uruchamianie niektórych poleceń ze zwiększonymi uprawnieniami bez konieczności logowania się jako użytkownik root. Sudo to bezpieczniejsza metoda przyznawania użytkownikom tymczasowych uprawnień roota.
inicjator słownika c#
Jak dawać i odbierać użytkownikowi dostęp do Sudo w systemie Linux?
W Linuksie możemy przyznać lub odebrać dostęp `sudo`, dodając lub usuwając nazwę użytkownika z pliku o nazwie `sudores`. Aby dodać nazwę użytkownika do sudoers musimy uruchomić komendę `sudo visudo`, edytować plik i dodać linię, która umożliwi użytkownikowi dostęp. Na przykład: nazwa użytkownika ALL=(ALL:ALL) ALL daje użytkownikowi pełny dostęp do polecenia sudo.
Możemy wyłączyć dostęp użytkownika do sudo za pomocą tego samego polecenia sudo visudo, które będzie używane do edycji pliku sudoers i usunięcia linii zapewniającej mu dostęp do sudo. Po usunięciu wiersza użytkownik nie będzie już mógł używać polecenia sudo do wykonywania poleceń uprzywilejowanych.
Wniosek
W Linuksie tzwsudo>polecenie działa jak magiczny klucz, który odblokowuje specjalne moce, pozwalając ci wykonywać ważne zadania, które zwykle może wykonać tylko superużytkownik. Jest to sposób proszenia o pozwolenie na wykonywanie poleceń z podwyższonymi uprawnieniami, takich jak instalowanie oprogramowania lub zmiana ustawień systemu. Używaszsudo>przed poleceniem pokazującym, że możesz go uruchomić jako superużytkownik. Używaćsudo>, zazwyczaj musisz wpisać własne hasło, aby udowodnić, że to naprawdę Ty to robisz, a nie ktoś inny. Pamiętać,sudo>ma potężną moc, więc używaj jej ostrożnie! Może zmienić ważne rzeczy na twoim komputerze. Przez zrozumieniesudo>i jego możliwościach, możesz efektywniej i bezpieczniej korzystać z Linuksa.