Ja esat Linux lietotājs, iespējams, esat redzējis atsauces gan uz sudo, gan su. Raksti šeit par How-To Geek un citur liek Ubuntu lietotājiem izmantot sudo un citu Linux distribūciju lietotājus izmantot su, bet kāda ir atšķirība?
Sudo un su ir divi dažādi veidi, kā iegūt root privilēģijas. Katra funkcija darbojas citādi, un dažādi Linux sadalījumi pēc noklusējuma izmanto dažādas konfigurācijas.
Abi su un sudo tiek izmantoti, lai palaistu komandas ar root atļaujām. Saknes lietotājs būtībā ir ekvivalents administratora lietojumprogrammai Windows sistēmā - root lietotājam ir maksimālas atļaujas un tas var kaut ko darīt jebko sistēmā. Parastajiem lietotājiem Linux darbina ar samazinātām atļaujām - piemēram, viņi nevar instalēt programmatūru vai rakstīt sistēmas direktorijās.
Lai veiktu kaut ko, kas prasa šos atļaujas, jums tas būs jāiegādājas ar su vai sudo.
Komandu su pārslēdzas uz super lietotāju vai root lietotāju, ja to izpildāt bez papildu opcijām. Jums būs jāievada root lietotāja parole. Tomēr tas ne viss ir su komanda, taču jūs to varat izmantot, lai pārslēgtos uz jebkuru lietotāja kontu. Ja jūs izpildāt su bob komandu, jums tiks piedāvāts ievadīt Boba paroli, un apvalks pāriet uz Boba lietotāja kontu.
Kad esat pabeidzis komandu izpildi saknes čaulā, jums vajadzētu ierakstīt Izeja atstāt saknes čaulu un atgriezties ierobežoto privilēģiju režīmā.
Sudo izpilda vienu komandu ar root privilēģijām. Kad jūs izpildāt sudo komandu, sistēma pirms tiek rādīta uzvednei piedāvā uzbrukt jūsu pašreizējā lietotāja konta parolē komandu kā root lietotājs. Pēc noklusējuma Ubuntu atceras paroli piecpadsmit minūtēm, un tā atkal neprasīs atkārtotu paroli, kamēr nav pagājušas piecpadsmit minūtes.
Šī ir galvenā atšķirība starp su un sudo. Su pārslēdzas uz saknes lietotāja kontu un pieprasa root konta paroli. Sudo izpilda vienu komandu ar administratora privilēģijām - tā nepārvieto root lietotāju vai pieprasa atsevišķu root lietotāja paroli.
Su komanda ir tradicionālais veids, kā iegūt root tiesības Linux. Sudo komanda pastāv jau ilgu laiku, bet Ubuntu bija pirmā populārā Linux izplatība, kas pēc noklusējuma palaist sudo. Instalējot Ubuntu, tiek izveidots standarta root konts, bet tai nav piešķirta parole. Jūs nevarat pieteikties kā root, līdz jūs piešķirat paroli root kontam.
Pastāv vairākas priekšrocības, kā noklusējuma izmantot sudo, nevis su. Ubuntu lietotājiem ir jānodrošina un jāatceras tikai viena parole, bet Fedora un citiem izplatījumiem instalēšanas laikā ir jāizveido atsevišķas saknes un lietotāja kontu paroles.
Vēl viena priekšrocība ir tāda, ka tas attur lietotājus pieiet kā root lietotājs vai izmantot su, lai iegūtu saknes čaulu, un saglabāt saknes čaulu atvērt, lai veiktu parasto darbu. Runājot mazāk komandu, jo root palielina drošību un novērš nejaušas sistēmas mēroga izmaiņas.
Sadalījumi, kuru pamatā ir Ubuntu, tostarp Linux Mint, pēc noklusējuma arī lieto sudo, nevis su.
Linux ir elastīga, tāpēc nav nepieciešams daudz strādāt, lai su darbu darbotos tāpat kā sudo - un otrādi.
Lai palaistu vienu komandu kā root lietotāju ar su, palaidiet šādu komandu:
su-c "komanda"
Tas ir līdzīgs komandas darbināšanai ar sudo, bet jums būs nepieciešama root konta parole, nevis pašreizējā lietotāja konta parole.
Lai iegūtu pilnu interaktīvo saknes čaulu ar sudo, palaidiet sudo-i.
Jums būs jāsniedz pašreizējās lietotāja konta parole, nevis root konta parole.
Lai iespējotu Ubuntu saknes lietotāja kontu, izmantojiet šo komandu, lai iestatītu paroli. Paturiet prātā, ka Ubuntu iesaka pret to.
sudo passwd root
Pirms jūs varat iestatīt jaunu paroli, Sudo uzvedīs jūs uz jūsu pašreizējā lietotāja konta paroli. Izmantojiet savu jauno paroli, lai pieteiktos kā root no termināļa pieteikšanās uzvednes vai ar su komandu. Jums nekad nevajadzētu palaist pilnu grafisko vidi kā root lietotāju - šī ir ļoti slikta drošības prakse, un daudzas programmas atsakās strādāt.
Ubuntu tikai administratora tipa konti var palaist komandas ar sudo. Jūs varat mainīt lietotāja konta veidu no lietotāja kontu konfigurācijas loga.
Ubuntu automātiski norāda lietotāja kontu, kas izveidots instalēšanas laikā kā administratora konts.
Ja jūs izmantojat citu Linux izplatīšanu, jūs varat piešķirt lietotājam atļauju izmantot sudo, palaižot visudo komanda ar root privilēģijām (lai palaistu su vispirms vai izmantot su -c).
Pievienojiet failam šādu rindu, aizstājot lietotājs ar lietotāja konta nosaukumu:
lietotājs ALL = (ALL: ALL) ALL
Nospiediet Ctrl-X un tad Y lai saglabātu failu. Iespējams, ka jūs varat arī pievienot lietotāju grupā, kas norādīta failā. Lietotāji grupā, kas norādīti failā, automātiski iegūs sudo tiesības.
Linux arī atbalsta grafisko su versiju versijas, kuras lūdz paroli grafiskajā vidē. Piemēram, varat palaist šādu komandu, lai saņemtu ātru grafisko paroli un palaistu Nautilus failu pārlūku ar root atļaujām. Nospiediet Alt-F2 lai palaistu komandu no grafiskā palaišanas dialoga, neuzstādot termināli.
gksu nautilus
Gksu komandai ir arī daži citi triku ar savu piedurkli - tas saglabā jūsu pašreizējos darbvirsmas iestatījumus, tāpēc grafiskās programmas netiks izskatītas nevietā, kad jūs palaidīsiet to kā citu lietotāju. Programmas, piemēram, gksu, ir vēlamais veids, kā uzsākt grafiskus lietojumprogrammas ar root privilēģijām.
Gksu izmanto vai nu su vai sudo bāzes aizmuguri, atkarībā no izmantotā Linux izplatīšanas.
Tagad jums ir jābūt gatavam saskarties gan ar su, gan ar sudo! Jūs sastopaties gan tad, ja izmantosit dažādus Linux sadalījumus.