logo

Linux sudo

Ievads

Linux sudo komanda apzīmē Super User Do . Parasti tas tiek lietots kā prefikss dažām komandām, kuras superlietotājam ir atļauts izpildīt.

Ja komandai pievienosim prefiksu kopā ar citām komandām, tā izpildītu šo komandu ar augstām privilēģijām. Citiem vārdiem sakot, tas ļaus lietotājam kopā ar atbilstošu autorizāciju lietot komandu kā citiem lietotājiem, piemēram, superlietotājam.

Tas ir vienāds ar opciju 'izpildīt kā administratoram' operētājsistēmā Windows. Sudo opcija ļauj mums izmantot vairāk nekā vienu administratoru. Lietotājiem, kuri var lietot sudo komandu, ir jābūt ierakstam faila sudoers iekšpusē '/etc/sudoers/' .

Piezīme. Lai skatītu vai rediģētu failu, mums ir jāizmanto komanda sudo. Lai rediģētu failu, ieteicams lietot komandu 'visudo'.

Sudo komandai pēc noklusējuma ir nepieciešams, lai lietotāji pārbaudītu sevi kopā ar paroli, kas ir lietotāja parole, nevis pati root parole.

Sudo komandas sintakse

Sudo komandas sintakse ir minēta zemāk:

 sudo OPTION... COMMAND 

Opcija sudo komandā

Tālāk ir izskaidrotas dažas no svarīgākajām sudo komandas opcijām:

1. -Iekšā: Tas nozīmē versija . Šī opcija iespējo sudo komandu versijas numura drukāšanai un iziešanai. Opcija -V izdrukātu noklusējuma sudo saraksta pauzi, kas tika novērota, ja pieprasījuma iesniedzējs jau ir saknes lietotājs.

Linux sudo

2. -l: Tas nozīmē sarakstu . Šī opcija palīdzēs izdrukāt dažādas lietotājam atļautās komandas pašreizējā resursdatorā.

Tas parāda, ka pašreizējais lietotājs var lietot katru komandu kā sudo.

ievietot ūdenszīmi Word
Linux sudo

3. -h vai -help: H apzīmē palīdzēt šajā opcijā. Šī opcija iespējo komandu sudo, lai drukātu lietošanas un iziešanas ziņojumu.

Linux sudo

4. -in: Tas nozīmē apstiprināt . Ja sudo komanda atjauninātu lietotāja laikspiedolu, validācija nepieciešamības gadījumā prasīs lietotāja paroli. Tas pagarina sudo komandas taimautu uz pārējām 5 minūtēm, bet neizpilda komandu. Tas nesniedz nekādu rezultātu.

5. -k: Tas nozīmē nogalināt . Šī opcija padara nederīgu lietotāja sudo laikspiedolu. Tādējādi nākamreiz, kad tiek izpildīta sudo komanda, būs nepieciešama parole. Opcijai -k nav nepieciešama parole, un tā tika iekļauta, lai ļautu lietotājiem atsaukt sudo komandas atļaujas, izmantojot .izlogoties failu.

6. -b: Tas nozīmē fons . Šī opcija informē sudo komandu, lai tās izpildītu paredzētās komandas fonā.

Piezīme. Ja mēs izmantojam šo opciju, mēs nevaram lietot čaulas darba kontroli, lai manipulētu ar procesu.

Linux sudo

7. -K: Šī opcija ir tāda pati kā opcija -k. Tomēr tas nozīmē noteikti nogalini . Šī opcija tiek lietota, lai pilnībā noņemtu lietotāja laikspiedolu. Tam arī nav nepieciešama parole.

8. -p: Tas nozīmē pamudināt . Šī opcija ļauj ignorēt paroles uzvedni (noklusējums) un lietot pielāgotu. Ir atļauti daži procenti, kas ir šādi:

  • %u ir izstrādāts uz izsaucošā lietotāja pieteikšanās vārdu.
  • %U ir izstrādāts lietotāja pieteikšanās vārdam
  • %h ir izstrādāts uz resursdatora nosaukumu (vietējais) bez domēna nosaukuma.
  • %H ir izstrādāts resursdatora nosaukumam (vietējam) ar domēna nosaukumu (tikai tad, ja mašīnas resursdatora nosaukums ir pilnībā kvalificēts)
  • %% (divas secīgas rakstzīmes) var sadalīt atsevišķā % rakstzīmē.
Linux sudo

9. -n: Šī opcija izpildīs komandu, neprasot paroli. Tas ir ļoti noderīgi, ja mēs vēlamies izpildīt dažas komandas kā fona uzdevumus (vai čaulas skripta iekšpusē), kur mēs nevēlamies sudo komandu, lai jautātu par paroli. Šī opcija ir saīsinājums no neinteraktīvās.

java evakuācijas rakstzīmes

10. -in: Tas nozīmē lietotājs . Šī opcija ļauj sudo komandai kā lietotājam izpildīt aprakstītās komandas, kas nav root. Lai norādītu a uid lietotājvārda vietā mēs varam izmantot #uid .

11. -H: Tas nozīmē MĀJAS . Šī opcija var iestatīt a MĀJAS vides mainīgais uz mūsu mājas direktorijs saknes lietotājam, kā aprakstīts failā passwd. Sudo komanda pēc noklusējuma nemaina HOME.

12. -s: Tas apzīmē apvalks . Šī opcija izpilda čaulu, kas aprakstīta caur a SHELL vides mainīgais kad tā ir iestatīta vai šis apvalks, kā aprakstīts iekšpusē passwd failu.

13. -S: Tas nozīmē stdin . Šī opcija iespējo komandu sudo, lai nolasītu paroli, izmantojot standarta ievadi, nevis termināļa ierīci.

padarīt čaulas skriptu izpildāmu

14. -: Šī opcija parāda, ka sudo komandai jāpārtrauc komandrindas argumentu apstrāde. Tas ir visnoderīgākais kopā ar -s karogu.

15. -a: Tas nozīmē autentifikācijas veids . Šī opcija iespējo komandu sudo, lai izmantotu aprakstīto autentifikācijas veidu, ja validē lietotāju, kā to atļauj /etc/login/.config .

Sistēmas administrators var aprakstīt sudo-specifiskās autentifikācijas metožu sarakstu, iekļaujot 'auto-sudo' ieeja iekšpusē /etc/login/.config .

Linux sudo

Vides mainīgie sudo komandā

Tālāk ir norādīti daži vides mainīgie, kurus piemēro komanda sudo:

Jā nē. Tag Apraksts
1. REDAKTORS Tas ir noklusējuma redaktors, ko var izmantot režīmā -e (sudoedit), kad VISUAL nav labots.
2. MĀJAS Tas tiks iestatīts uz lietotāja (mērķa) mājas direktoriju režīmā -H vai -s (vai kad sudo komanda tika izveidota ar opciju, t.i., -enable-shell-sets-home).
3. CEĻŠ Tas tiek iestatīts uz saprātīgu vērtību, kad ir fiksēta opcija, t.i., secure_path sudoers.
4. SHELL To var izmantot, lai noteiktu čaulu, kas jāizpilda ar opciju -s.
5. SUDO_COMMAND Tas tiek iestatīts uz komandu, ko izpilda komanda sudo.
6. SUDO_PROMPT To var izmantot kā paroles uzvedni (noklusējums).
7. SUDO_USER Tas tiek iestatīts uz lietotāja pieteikšanos, kurš pieprasa sudo komandu.
8. SUDO_UID Tas tiek iestatīts uz lietotāja uid, kurš pieprasa sudo komandu.
9. SUDO_GID Tas tiek iestatīts uz lietotāja gid, kurš pieprasa sudo komandu.
10. SOUTH_PS1 Ja iestatīts, PS1 tiks fiksēta tā vērtība.
vienpadsmit. LIETOTĀJS Tas tiek iestatīts lietotājam (sakne, ja vien nav aprakstīta opcija, t.i., -u).
12. VIZUĀLS Tas ir noklusējuma redaktors un tiek izmantots režīmā -e (sudoedit).

Sudo komandas vēsture

Klifs Spensers un Roberts Kogeshols izveidoja faktisko apakšsistēmu 1980. gadā SUNY/Buffalo Datorzinātņu katedrā. Roberts Koggehols aiznesa līdzi sudo uz Kolorādo Bolderas universitāti. Iezīmes un kodu būtiski mainīja Inženierzinātņu koledžas un Kolorādo Universitātes Boulderas Datorzinātņu nodaļas IT locekļi un lietišķās zinātnes kopā ar Todu K. Milleru laikā no 1986. līdz 1993. gadam.

Publiski jaunāko versiju kopš 1994. gada pārvalda Tods .C Millers (OpenBSD izstrādātājs), un kopš 1999. gada tā tiek koplietota, izmantojot ISC stila licenci.

Tomass Klaburns šādas neskaidrības raksturoja kā pārmērīgu 2009. gada novembrī, reaģējot uz to, ka Microsoft bija privilēģija sudo. Precīzāk sakot, pretenzijas tika formulētas ar noteiktu GUI, nevis sudo pieeju.

Sudo komandas dizains

Lietotāji var ievadīt savu paroli sudo, ja nepieciešams, nevis superlietotāju, atšķirībā no komandas su. Tas ļauj pieejamiem lietotājiem izmantot kvalificētas privilēģijas, neizpaužot otra konta paroles noslēpumu.

  • Kad konfigurācijas fails ļauj lietotājam piekļūt, pēc autentifikācijas sistēma pieprasa pieprasīto komandu.
  • Komanda sudo saglabāja lietotāja izsaukšanas tiesības ar pagarinājuma laiku (parasti 5 minūtes) katram pseidoterminālim, un tā ļauj lietotājam izpildīt dažādas secīgas komandas kā pieprasītajam lietotājam, atkārtoti nenorādot paroli.
  • Sudo komandu var konfigurēt katras palaistās komandas reģistrēšanai kā auditēšanas un drošības līdzeklis.
  • Tajā laikā lietotājs fotografē, lai izsauktu sudo komandu, nebūdams norādīts konfigurācijas failā, šim lietotājam tiek parādīta izņēmuma ilustrācija, kas norāda, ka šāviens ir ierakstīts.
  • Ieraksts tiks saglabāts sistēmā, un root lietotājs tiks informēts pa pastu.

Sudo komandas konfigurācija

The /etc/sudoers fails ietver lietotāju grupas vai to lietotāju sarakstu, kuriem ir atļauja palaist komandu kopu, vienlaikus saturot saknes lietotāja vai cita sarakstā iekļautā lietotāja tiesības. Programma var būt konfigurēta tā, lai būtu nepieciešama parole.

Sudo komandas ietekme

Dažos sistēmas izplatījumos komanda sudo ir aizstājusi atšķirīgu superlietotāja pieteikumvārdu izmantošanu (noklusējumu) dažādām administratīvajām darbībām, un tas ir vissvarīgākais dažos Apple MacOS, kā arī Linux izplatījumos.

Tas novērš dažus ekspluatācijas gadījumus un ļauj arī aizsargātāk reģistrēt administratora komandas.

masīvs.no java

RBAC

Komandu sudo var izmantot, lai pārietu starp dažāda veida lomām uz lomu balstītā piekļuves kontrolē sadarbībā ar SELinux.

Līdzīgas programmas un rīki

Visudo ir komandrindas utilīta, kas ļauj rediģēt sudo konfigurācijas failu bezatteices veidā. Tas veic sintakses un saprāta pārbaudes, kā arī novērš vairāk nekā vienu vienlaicīgu rediģēšanu, kā arī bloķēšanu.

Runas programma atvieglo tādu pašu veiktspēju operētājsistēmā Microsoft Windows; tomēr tas nevar nodot pašreizējās garās komandrindas bērnam, vides mainīgajiem vai direktorijiem.

Tas neatbalsta vispārēju pacēlumu, bet palīdz izpildīt bērnu kā jebkuru citu lietotāju. Operētājsistēmām Windows īsts sudo un su, kas var pārsūtīt katru no šiem statusa datiem un sākt bērnkopu kā citu lietotāju vai paaugstinātu Hamiltona C apvalks .

GUI ir pieejama sudo ( gksudo jo īpaši), taču tas ir novecojis Debian un arī vairs nav Ubuntu. Dažādi cita veida lietotāja saskarnes nav izstrādātas tieši sudo, bet veicina tādu pašu privilēģiju paaugstināšanu (pagaidu) administratīviem mērķiem, piemēram, Operētājsistēmas Mac OS X autorizācijas pakalpojumi, lietotāja konta kontrole sistēmā Microsoft Windows , un pkexec Unix līdzīgās operētājsistēmās .

Kopš OpenBSD 5.8 versijas (2015. gada oktobris), ziedot ir pieejams. Ir norādīts, ka OpenBSD bāzes sistēmā jāaizstāj komanda sudo.

viņa vs. sudo

Ja esam pieraduši pie klasiskākas Linux iestatīšanas, tad saknes privilēģiju iegūšanai esam pieraduši lietot komandu su. Mēs varam izdot komandu su arī, lai efektīvi pieteiktos kā sakne (saknes mājas kļūst par mūsu mājām).

Izmantojot šāda veida izplatīšanu, mēs varam pieteikties arī kā maršruta lietotājs. Taču nav ieteicams pieteikties kā root lietotājam. Ja mēs izmantojam izplatīšanu, kas ir atkarīga no komandas su un atļauj root lietotāja pieteikšanos, piesakieties kā mūsu standarta lietotājs un ar komandu su saknes lietotājam.

java tipa konvertēšana un liešana

Visticamāk, mēs pamanīsim, ka mēs nevaram pieteikties kā root lietotājs, izmantojot izplatījumus, kuru pamatā ir sudo. Faktiski dažos izplatījumos, piemēram, Ubuntu, saknes lietotāja konts ir atspējots.

Mēs nevaram pieteikties kā root lietotājs un izmantot komandu su, lai kļūtu par root lietotāju. Mēs varētu izdot šīs komandas, izmantojot komandu sudo, lai iegūtu administratīvās privilēģijas.

Sudo komandas lietošana

Ir divi dažādi veidi, kā izpildīt administratīvās lietojumprogrammas ar Linux. Mēs varam mainīt superlietotāju vai root lietotāju, izmantojot komandu su, vai arī mēs varam izmantot sudo komandu.

Kad mēs izmantojam savu laiku terminālī, sudo ir viena no svarīgajām komandām, ko mēs izmantosim diezgan bieži. Izmantojot komandu sudo, nevis piesakoties, jo root lietotājs ir aizsargātāks, jo vienam lietotājam mēs varam piešķirt tikai dažas administratīvās privilēģijas, viņam nezinot saknes paroli.

Tas, kā mēs to ieviešam, ir atkarīgs no tā, kuru izplatīšanas veidu mēs izmantojam. Daži izplatījumi ļauj root lietotājam (piemēram, OpenSUSE, Red Hat , vai Fedora ), savukārt daži to nedara (piemēram, Debian un Ubuntu ).

Sudo komandas izmantošana ir vienkārša tās pamatformā. Piemēram, mums ir jāizpilda dpkg, lai instalētu programmatūras daļu. Ja mēs vienkārši palaist dpkg -i software.deb komandu kā standarta lietotājs mēs saņemsim kļūdas ziņojumu, ka lietotājam nav atļauju palaist komandu.

Tāpēc standarta lietotāji pēc noklusējuma nevar instalēt dažādas lietojumprogrammas Linux datorā. Ja vēlamies instalēt jebkuru lietojumprogrammu Linux mašīnā, mums ir jābūt superlietotāja privilēģijām.

Tā vietā mēs vadīsim sudo dpkg -i software.deb komandu, lai mēs varētu veiksmīgi izpildīt instalēšanu.

Sudo komandas instalēšana

Sudo komandas pakotne ir iepriekš instalēta lielākajā daļā Linux izplatījumu. Lai apstiprinātu, ka pakotne ir instalēta mūsu sistēmā, ir jāveic tālāk norādītās darbības.

  • Pirmkārt, atveriet mūsu termināli.
  • Ierakstiet sudo un noklikšķiniet uz ievadīšanas pogas.
  • Ja mūsu sistēmā ir instalēta sudo pakotne, tiks parādīts īss ziņojums.
  • Pretējā gadījumā mēs paziņosim ar ziņojumu, t.i., sudo komanda nav atrasta.
  • Ja pakotne nav instalēta, mēs varam viegli instalēt šo pakotni, izmantojot pārmērīgas izplatīšanas pakotņu pārvaldnieku.

Instalējiet Sudo operētājsistēmās Fedora un CentOS

 $ yum install sudo 

Instalējiet Sudo uz Debian un Ubuntu

 $ apt install sudo 

Linux sudo

Komanda sudo atjaunināšanai

Linux sudo