Úvod
Príkaz sudo pre Linux znamená Super User Do . Vo všeobecnosti sa používa ako predpona niekoľkých príkazov, ktoré môže superužívateľ vykonať.
Ak príkaz predpíšeme spolu s inými príkazmi, vykoná by tento príkaz s vysokými oprávneniami. Inými slovami, umožní užívateľovi spolu s náležitou autorizáciou prijímať príkazy ako iní užívatelia ako superužívateľ.
Rovná sa opcii 'spustiť ako správca' v systéme Windows. Možnosť sudo nám umožňuje mať viac ako jedného správcu. Používatelia, ktorí môžu použiť príkaz sudo, vyžadujú, aby bol záznam v súbore sudoers umiestnený na '/etc/sudoers/' .
Poznámka: Na zobrazenie alebo úpravu súboru musíme použiť príkaz sudo. Na úpravu súboru sa odporúča použiť príkaz 'visudo'.
Príkaz sudo štandardne vyžaduje, aby sa používatelia overili spolu s heslom, ktoré je heslom používateľa, nie samotným root heslom.
Syntax príkazu sudo
Syntax príkazu sudo je uvedená nižšie:
sudo OPTION... COMMAND
Možnosť v príkaze sudo
Niektoré z dôležitých možností v príkaze sudo sú vysvetlené nižšie:
1. -V: To znamená verzia . Táto voľba povolí príkaz sudo na vytlačenie čísla verzie a ukončenie. Voľba -V by vypísala predvolené nastavenia, ak je požadujúci používateľ rootom, bola pozorovaná pauza v zozname sudo.
2. -l: To znamená zoznam . Táto možnosť pomôže vytlačiť rôzne príkazy, ktoré používateľ povolil na aktuálnom hostiteľovi.
Ukazuje, že aktuálny používateľ môže použiť každý príkaz ako sudo.
vkladací python
3. -h alebo -help: H znamená Pomoc v tejto možnosti. Táto možnosť povolí príkaz sudo na vytlačenie správy o použití a ukončenie.
4. -v: To znamená potvrdiť . Ak by príkaz sudo aktualizoval časovú pečiatku používateľa, overenie si v prípade potreby vyžiada heslo používateľa. Predĺži časový limit príkazu sudo o ďalších 5 minút, ale príkaz nevykoná. Neposkytuje žiadny výsledok.
5. -k: To znamená zabiť . Táto možnosť zruší platnosť časovej pečiatky používateľa sudo. Preto pri ďalšom spustení príkazu sudo bude potrebné heslo. Voľba -k nepotrebuje žiadne heslo a bola zahrnutá, aby umožnila používateľom odvolať oprávnenia príkazu sudo prostredníctvom .odhlásiť sa súbor.
6. -b: To znamená pozadie . Táto možnosť informuje príkaz sudo, aby vykonal poskytnuté príkazy na pozadí.
Poznámka: Ak použijeme túto možnosť, nemôžeme použiť riadenie úloh shellu na manipuláciu s procesom.
7. -K: Táto možnosť je rovnaká ako možnosť -k. Stojí však za určite zabiť . Táto možnosť sa použije na úplné odstránenie časovej pečiatky používateľa. Rovnako nepotrebuje žiadne heslo.
8 str: To znamená výzva . Táto možnosť nám umožňuje prepísať výzvu na zadanie hesla (predvolené) a použiť vlastné heslo. Je povolených niekoľko percent únikov, ktoré sú nasledovné:
- %u je vyvinutý na prihlasovacie meno volajúceho používateľa.
- %U je vyvinutý na prihlasovacie meno používateľa
- %h je vyvinutý na názov hostiteľa (lokálne) bez názvu domény.
- %H je vyvinutý pre názov hostiteľa (lokálny) s názvom domény (iba keď je názov hostiteľa počítača úplne kvalifikovaný)
- %% (dva po sebe idúce znaky) možno rozdeliť na samostatný znak %.
9. -n: Táto možnosť spustí príkaz bez vyžiadania hesla. Je to veľmi užitočné, ak chceme vykonať niekoľko príkazov ako úlohy na pozadí (alebo v shell skripte), kde nechceme, aby sa príkaz sudo pýtal na heslo. Táto možnosť je skratka pre neinteraktívne.
enum tostring java
10. -in: To znamená užívateľ . Táto možnosť umožňuje príkazu sudo vykonávať opísané príkazy iné ako root ako používateľ. Pre špecifikáciu a uid namiesto používateľského mena môžeme použiť #uid .
11. -H: To znamená DOMOV . Táto možnosť môže nastaviť a premenná prostredia HOME do nášho domovský adresár užívateľa root, ako je popísané v súbore passwd. Príkaz sudo v predvolenom nastavení nemení HOME.
12. -s: Znamená to škrupina . Táto voľba spustí shell popísaný cez a premenná prostredia SHELL keď je nastavená alebo táto škrupina, ako je popísané vo vnútri passwd súbor.
13. -S: To znamená stdin . Táto možnosť povoľuje príkaz sudo na čítanie hesla cez štandardný vstup a nie cez koncové zariadenie.
java char na celé číslo
14. -: Táto možnosť ilustruje, že príkaz sudo musí zastaviť spracovanie argumentov príkazového riadku. Najužitočnejšie je v spojení s príznakom -s.
15. -a: To znamená autentický typ . Táto možnosť umožňuje príkazu sudo použiť opísaný typ autentifikácie pri overovaní používateľa, ako to povoľuje /etc/login/.config .
Administrátor systému môže popísať zoznam metód sudo-špecifickej autentifikácie zahrnutím 'auto-sudo' vstup dovnútra /etc/login/.config .
Premenné prostredia v príkaze sudo
Nasledujú niektoré z premenných prostredia, ktoré sú aplikované príkazom sudo:
Áno nie. | Tag | Popis |
---|---|---|
1. | EDITOR | Je to predvolený editor, ktorý možno použiť v režime -e (sudoedit), keď nie je opravený VISUAL. |
2. | DOMOV | Nastaví sa na homedir používateľa (cieľ) v režime -H alebo -s (alebo keď bol príkaz sudo vytvorený s voľbou, t. j. -enable-shell-sets-home). |
3. | PATH | Nastaví sa na rozumnú hodnotu, keď je možnosť, t. j. sudoers secure_path, pevná. |
4. | SHELL | Môže sa použiť na určenie shellu, ktorý sa má spustiť s voľbou -s. |
5. | SUDO_COMMAND | Nastaví sa na príkaz vykonaný príkazom sudo. |
6. | SUDO_PROMPT | Dá sa použiť ako výzva na zadanie hesla (predvolené). |
7. | SUDO_USER | Nastaví prihlásenie používateľa, ktorý požaduje príkaz sudo. |
8. | SUDO_UID | Nastaví sa na uid používateľa, ktorý požaduje príkaz sudo. |
9. | SUDO_GID | Nastaví sa na gid používateľa, ktorý požaduje príkaz sudo. |
10. | SOUTH_PS1 | PS1 by bol nastavený na svoju hodnotu. |
jedenásť. | USER | Nastaví sa na používateľa (root, pokiaľ nie je popísaná možnosť, t. j. -u). |
12. | VIZUÁLNY | Je to predvolený editor a používa sa v režime -e (sudoedit). |
História príkazu sudo
Cliff Spencer a Robert Coggeshall napísali skutočný subsystém v roku 1980 v SUNY/Buffalo na Katedre informatiky. Robert Coggeshall nosil sudo so sebou na University of Colorado Boulder. Funkcie a kód v podstate zmenili IT členovia College of Engineering a University of Colorado Boulder Computer Science Department a aplikovanej vedy s Toddom C. Millerom v rokoch 1986-1993.
Verejne najnovšiu verziu spravuje od roku 1994 Todd .C Miller (vývojár OpenBSD) a je zdieľaná od roku 1999 na základe licencie v štýle ISC.
Thomas Claburn charakterizoval takéto neistoty ako prehnané v novembri 2009 v reakcii na vec, že Microsoft mal privilégium sudo. Skrátka, nároky boli zarámované do špecifického GUI namiesto prístupu sudo.
Návrh príkazu sudo
Používatelia môžu v prípade potreby zadať svoje heslo do sudo namiesto superužívateľa, na rozdiel od príkazu su. Umožňuje prístupným používateľom vykonávať kvalifikované privilégiá bez toho, aby sa museli zaoberať utajením hesla druhého účtu.
- Keď konfiguračný súbor umožňuje užívateľovi prístup, po autentifikácii systém požaduje nárokovaný príkaz.
- Príkaz sudo si ponechal práva na vyvolávanie používateľa s dodatočným časom (zvyčajne 5 minút) na pseudoterminál a umožňuje používateľovi vykonávať rôzne po sebe nasledujúce príkazy ako nárokovaný používateľ bez toho, aby musel znova zadávať akékoľvek heslo.
- Príkaz sudo môže byť nakonfigurovaný na zaznamenávanie každého spusteného príkazu ako funkcia auditu a zabezpečenia.
- V čase, keď používateľ strieľa na vyvolanie príkazu sudo bez toho, aby bol uvedený v konfiguračnom súbore, je používateľovi predložená ilustrácia výnimky, ktorá hovorí, že strela bola zaznamenaná.
- Záznam by sa uložil do systému a používateľ root by bol informovaný poštou.
Konfigurácia príkazu sudo
The /etc/sudoers súbor obsahuje skupiny používateľov alebo zoznam používateľov s povolením spúšťať sadu príkazov, pričom obsahuje práva používateľa root alebo iného používateľa uvedeného v zozname. Program môže byť nakonfigurovaný tak, aby potreboval heslo.
Vplyv príkazu sudo
V niekoľkých systémových distribúciách príkaz sudo nahradil použitie (predvoleného) iného prihlásenia superužívateľa pre rôzne administratívne operácie, čo je najdôležitejšie v niekoľkých distribúciách MacOS a Linux od Apple.
Zabraňuje niekoľkým exploitom a tiež umožňuje viac chránené protokolovanie príkazov správcu.
nahradiť všetko v reťazci java
RBAC
Príkaz sudo možno použiť na prechod medzi rôznymi typmi rolí v rámci riadenia prístupu na základe rolí v spolupráci so SELinuxom.
Podobné programy a nástroje
visudo je pomôcka príkazového riadku, ktorá umožňuje upravovať konfiguračný súbor sudo bezpečným spôsobom. Vykonáva kontrolu syntaxe a zdravého rozumu a tiež zabraňuje viac ako jednej simultánnej úprave spolu so zámkami.
Program runas umožňuje rovnaký výkon v systéme Microsoft Windows; nemôže však odovzdať aktuálne dlhé príkazové riadky potomkovi, premenným prostredia alebo adresárom.
Nepodporuje všeobecnú eleváciu, zatiaľ čo pomáha spustiť dieťa ako ktorýkoľvek iný používateľ. V prípade systému Windows sa pridá skutočné sudo a su, ktoré dokáže preniesť každý z týchto podrobností o stave a začať dieťa ako iný používateľ alebo zvýšené, s Škrupina Hamilton C .
GUI je k dispozícii pre sudo ( gksudo najmä), ale v Debiane je zastaraný a tiež už nie v Ubuntu. Rôzne iné typy používateľských rozhraní nie sú navrhnuté priamo pre sudo, ale uľahčujú rovnaké zvýšenie privilégií (dočasné) pre administratívne ciele ako Autorizačné služby Mac OS X, Kontrola používateľských účtov v rámci Microsoft Windows a pkexec v operačných systémoch podobných Unixu .
Od verzie 5.8 OpenBSD (október 2015), darovať je k dispozícii. Bolo špecifikované nahradiť príkaz sudo v základnom systéme OpenBSD.
jeho vs. sudo
Ak sme zvyknutí na klasickejšie nastavenie Linuxu, potom sme zvyknutí použiť príkaz su na získanie práv root. Môžeme zadať aj príkaz su, aby sme sa efektívne prihlásili ako root (domov roota sa stane naším domovom).
Pomocou týchto druhov distribúcií sa môžeme prihlásiť aj ako používateľ trasy. Nie je však dobrý nápad prihlásiť sa ako užívateľ root. Ak aplikujeme distribúciu, ktorá závisí od príkazu su a povoľuje prihlásenie užívateľa root, potom sa prihláste ako náš štandardný užívateľ a príkaz su ako užívateľ root.
ako aktualizovať v jave
S najväčšou pravdepodobnosťou si všimneme, že sa nemôžeme prihlásiť ako užívateľ root pomocou distribúcií založených na sudo. V skutočnosti, v niektorých distribúciách, ako je Ubuntu, bol účet používateľa root zakázaný.
Nemôžeme sa prihlásiť ako užívateľ root a pomocou príkazu su sa stať užívateľom root. Mohli by sme urobiť tieto príkazy pomocou príkazu sudo na získanie oprávnení správcu.
Použitie príkazu sudo
Existujú dva rôzne spôsoby spúšťania administratívnych aplikácií v systéme Linux. Buď môžeme zmeniť superužívateľa alebo užívateľa root pomocou príkazu su alebo môžeme využiť príkaz sudo.
Keď využívame čas na termináli, sudo je jedným z dôležitých príkazov, ktoré budeme pomerne často používať. Použitie príkazu sudo namiesto prihlásenia ako užívateľa root je viac chránené, pretože jednému užívateľovi môžeme udeliť len niekoľko administrátorských oprávnení bez toho, aby poznal heslo root.
Ako to implementujeme, závisí od toho, aké distro používame. Niekoľko distribúcií umožňuje užívateľovi root (napr OpenSUSE, Red Hat , alebo Fedora ), zatiaľ čo niektorí nie (ako Debian a Ubuntu ).
Používanie príkazu sudo je vo svojej úplne základnej forme jednoduché. Napríklad musíme spustiť dpkg na inštaláciu softvérovej časti. Ak len spustíme dpkg -i software.deb príkaz ako štandardný používateľ dostaneme chybové hlásenie, že používateľ nemá oprávnenie na spustenie príkazu.
To je dôvod, prečo štandardne štandardní používatelia nemôžu inštalovať rôzne aplikácie cez počítač so systémom Linux. Ak chceme nainštalovať akúkoľvek aplikáciu na počítač so systémom Linux, musíme mať práva superužívateľa.
Namiesto toho spustíme sudo dpkg -i software.deb aby sme mohli úspešne spustiť inštaláciu.
Inštalácia príkazu sudo
Balík príkazu sudo je predinštalovaný vo väčšine distribúcií Linuxu. Ak chcete potvrdiť, že balík je nainštalovaný v našom systéme, musíte vykonať nasledujúce kroky:
- Najprv otvorte náš terminál.
- Napíšte sudo a kliknite na tlačidlo Enter.
- Ak máme v systéme nainštalovaný balík sudo, zobrazí sa krátka správa.
- V opačnom prípade vás upozorníme správou, t. j. príkaz sudo nenájdený.
- Ak balík nie je nainštalovaný, môžeme ho jednoducho nainštalovať použitím správcu balíkov nadmernej distribúcie.
Nainštalujte Sudo na Fedora a CentOS
$ yum install sudo
Nainštalujte Sudo na Debian a Ubuntu
$ apt install sudo