Lazima uwe na haki za mtumiaji mkuu ili kutekeleza amri hii. $su chaguo mtumiaji. Ingia kama mtumiaji mkuu

Ninawezaje kuinua marupurupu yangu kwa mapendeleo ya mfumo? Ulimwengu wa Windows. Kama inageuka, kuna chaguo zaidi ya kutosha kwa hili. Nini cha kuchagua inategemea hali na mapendekezo yako. Walakini, kama unavyoelewa, lazima upanue nguvu zako sio kwa windows tu, bali pia kwa penguins. Kuna fursa gani? Naam, tuone...

Utangulizi

Kama unavyokumbuka (na kama kila msimamizi wa kutosha anapaswa kukumbuka), kufanya kazi katika Linux chini ya mizizi haipendekezi kabisa. Katika ulimwengu bora, ungeitumia tu kwa usanidi wa seva, usakinishaji wa programu na masasisho, na kazi zingine za kiutawala pekee. Shida ni kwamba tunaishi katika ulimwengu wa kawaida, ambao ni mbali sana na bora. Kwa hiyo, hali hiyo bado hutokea wakati mwingine. Kweli, katika hali nyingi ni kwa sababu ya uzembe, kwa sababu kihistoria ilitokea kwamba watumiaji wa Linux walipaswa kuelewa jinsi mfumo wao wa uendeshaji unavyofanya kazi. Na hata ikiwa unaelewa kidogo juu ya mfumo na mifumo yake ya usalama, hautaweza kukaa chini ya mizizi. Kwa hivyo, leo, tofauti na Windows, ambapo tulizungumza juu ya kupata marupurupu ya mfumo kama msimamizi, tutazingatia chaguzi za kuongeza upendeleo kutoka kwa mtumiaji asiye na haki hadi mizizi. Basi hebu tuanze.

Ushujaa

Njia zote za kupata haki za mtumiaji mkuu katika Linux zinaweza kugawanywa katika makundi mawili. Ya kwanza ni matumizi ya ushujaa. Tofauti na Windows, na utaratibu wake wa kusasisha sasisho kiotomatiki, wafuasi wa Penguin wengi wanapaswa kufuatilia kwa uhuru kutolewa kwa viraka na usakinishaji wao. Katika suala hili, nafasi ya kukutana na mfumo ambao haujafungwa kikamilifu kati ya mashine za Linux ni kubwa zaidi. Je, ni faida gani njia hii unaweza kuangazia? Kuanza, matumizi mengi hutumia udhaifu katika kernel ya OS, ambayo huwaruhusu kupata marupurupu ya juu. Kupata nambari inayofaa ya unyonyaji sio ngumu sana, na labda unajua rasilimali kadhaa. Zaidi ya hayo, ili kuchukua fursa ya unyonyaji, wakati mwingine hauitaji kuelewa ugumu wote wa hatari inayotumiwa - unahitaji tu kuikusanya kwa usahihi na kuiendesha (wakati mwingine, hata hivyo, lazima uibadilishe kidogo, lakini. mara nyingi kila kitu kitafanya kazi bila kuibadilisha na faili). Kwa ujumla, algorithm ya vitendo inaonekana kama hii:

  1. Amua toleo la kernel na usambazaji.
  2. Pata orodha ya zana zinazopatikana za kuunda unyonyaji.
  3. Toa nafasi kwa mashine inayolengwa.
  4. Kukusanya (ikiwa ni lazima) na kukimbia.
  5. Furahia mzizi unaosababisha.

Naam, sasa kuhusu kila hatua kwa undani zaidi.

Utambulisho

Kwa kuzingatia mpango huo, kwanza tunahitaji kujua tuliishia wapi, ni aina gani ya distro tunayotumia na toleo la kernel ni nini. Toleo la kernel linaweza kupatikana tena kwa kutumia amri inayojulikana ya uname -a au analogi zake. Ili kupata habari kuhusu usambazaji unaotumia, unahitaji kuangalia * -release faili iliyoko kwenye saraka nk (kulingana na usambazaji, inaweza kuitwa tofauti: lsb-release in Ubuntu, redhat-release in Red. Kofia / CentOS na nk):
paka /etc/*-kutolewa

Kujua toleo la usambazaji na kernel, unaweza kuendelea hadi hatua ya pili - kutafuta "ufunguo mkuu" unaofaa.

Tafuta unyonyaji

Mara tu taarifa zote muhimu zikiwa mkononi, ni wakati wa kutafuta unyonyaji unaofaa. Jambo la kwanza linalokuja akilini ni exploit-db.com, lakini pia kuna njia mbadala: 1337day, SecuriTeam, ExploitSearch, Metasploit, securityreason, seclists. Baada ya yote, kuna Google; kwa hakika inajua zaidi kuhusu ushujaa kuliko mtu mwingine yeyote. Kuangalia mbele kidogo, nitasema: wakati mwingine, kwa sababu fulani, "ufunguo mkuu" hauwezi kufanya kazi, au unahitaji kuibadilisha kidogo kwa hali fulani au mahitaji yako, yaani, pitia na faili. Katika kesi hii, haitaumiza kupata habari zaidi juu yake, ambayo inaweza kupatikana kutoka kwa moja ya rasilimali zifuatazo:
www.cvedetails.com
packetstormsecurity.org
cve.mitre.org

Kwa hivyo, wacha tuseme unapata unyonyaji unaofaa ambao hukupa kupita kwenye ulimwengu wa mizizi. Kilichobaki ni kuisafirisha kwa namna fulani hadi kwenye gari.

Uwasilishaji wa nyumbani

Ili kuwasilisha kieneza mahali, kuna njia nyingi sana, kutoka kwa cURL/wget inayojulikana, Netcat, FTP, SCP/SFTP, SMB hadi matumizi ya DNS Rekodi za TXT. Ili kujua ni zana gani kati ya hizi tunazo, endesha:

Tafuta / -name wget find / -name nc* pata / -name netcat* pata / -name tftp* pata / -name ftp

Wacha tuseme tumepata Netcat. Ili kuhamisha faili ukitumia, endesha kwenye upande wa kupokea:
nc -l -p 1234 > out.file

Hiyo ni, tunasikiliza bandari 1234. Kwenye kutuma tunafanya yafuatayo:
nc -w 3 1234< out.file

Ikiwa uhamishaji utatokea kutoka kwa * nix kwenye mfumo wa *nix, yaani, pale na pale huduma za kawaida, basi unaweza kutumia mbano ili kuharakisha mchakato wa uhamishaji. Katika kesi hii, amri zitaonekana kama hii:

Nc -l -p 1234 | punguza -c | tar xvfp - // kupata tar cfp - /some/dir | compress -c | nc -w 3 1234 // kutuma

Chaguzi zingine ni rahisi zaidi, kwa hivyo hatutazingatia kutumia wget, FTP na njia zingine zinazojulikana.

Ficha na utafute

Sawa, tulifikiria jinsi ya kuiwasilisha. Lakini unawezaje kuepuka kuchomwa moto? Ikiwa unyonyaji wako utagunduliwa, uwe na uhakika kwamba mwanya huo utazibwa haraka. Kwa hivyo unahitaji kuikaribisha, kuikusanya na kuiendesha kutoka sehemu isiyoonekana. Katika Linux, saraka zinazoanza na nukta (kwa mfano, .secret_folder) zimefichwa. Kwa hivyo, itakuwa busara kuzitumia kuficha shughuli zao. Kwa mfano, weka msimbo wa kunyonya ndani yao: /tmp/.nothingthere/exploit.c . Walakini, katika kesi hii, lazima kwanza uhakikishe kuwa tmp imewekwa bila chaguo la noexec na unaweza kuendesha unyonyaji uliokusanywa kutoka kwake (ili kufanya hivyo, tumia amri ya mlima).

Kujenga na kuendesha unyonyaji

Mara tu tumewasilisha na kuweka Sploit, itahitaji kuunganishwa / kusanidiwa. Kama sheria, ushujaa huandikwa katika C au mojawapo ya lugha za uandishi za Python/Perl/PHP. Wasomaji wa kawaida ][ wanajua kuwa kuacha kikusanyaji kwenye seva yako sio bora zaidi Uamuzi bora zaidi, hivyo ni kawaida kukatwa. Ikiwa swali lako kuhusu toleo la mkusanyaji gcc -v bash linarudi gcc: amri haipatikani, basi una "bahati" na itabidi upoteze. Hiyo ni, ama utafute lahajedwali huko Python, Perl au kitu kingine, au uikusanye mashine virtual na toleo sawa la OS na kernel. Kisha uhamishe faili inayoweza kutekelezwa kwa seva pangishi inayolengwa (hata hivyo, njia hii haihakikishi utendakazi 100%; unyonyaji unaweza kuanguka na kuharibu mfumo, kwa hivyo kuwa mwangalifu hapa). Walakini, kama inavyoonyesha mazoezi, mkalimani wa moja ya lugha zilizotajwa lazima bado awepo kwenye mfumo. Kwa hivyo hupaswi kukata tamaa mara moja; badala yake, wacha tuangalie chaguzi zote:

Tafuta / -name perl* pata / -name python* pata / -name gcc* pata / -name cc

Ikifaulu, unachotakiwa kufanya ni kutekeleza unyonyaji uliokusanywa na kufurahia ofa. Naam, au tambua kwa nini haikufanya kazi, kulingana na bahati yako.

Kukabiliana na Nafasi

Ni ngumu kupata mapishi yoyote ya kibunifu hapa. Kila kitu kimejulikana kwa muda mrefu. Unahitaji tu kufunga patches kwa wakati. Hii ni ya kwanza. Ya pili ni kupunguza maeneo ambayo faili zinaweza kutekelezwa (folda ya tmp inapaswa kunyimwa uwezo huu). Naam, tumia baadhi suluhisho la usalama, kwa mfano grsecurity.

Haki, faili, njia na usanidi

Kundi la pili ambalo linaweza kutofautishwa katika kuinua marupurupu ni njia ambazo hazihusiani na matumizi ya ushujaa, lakini zinatokana na kutafuta faili zilizo na haki zilizowekwa vibaya. Hapa, kama ilivyo kwa Windows, kuna hila kadhaa, lakini kimsingi bado ni kazi sawa ya kukusanya na kuchambua data. Kawaida, jambo la kwanza kutafuta ni faili zinazoweza kusomeka na kuandikwa na kila mtu:
pata / -perm 2 ! -aina l -ls

Kunaweza kuwa na idadi kubwa ya hizi, na kati yao unaweza kupata kitu cha kufurahisha: faili za usanidi, vyanzo vya tovuti/programu, hati zilizozinduliwa na init au cron. Kimsingi, hali ambapo faili inaweza kusomeka na kuandikwa na kila mtu ni ya kawaida. Matatizo hutokea wakati watumiaji/wasimamizi/hati wanapoanza kubadilisha ruhusa bila akili. Kwa hivyo unapobadilisha ruhusa, jaribu kuepuka kutumia chmod 777. Naam, fanya ukaguzi wa mara kwa mara kwa faili muhimu hazikupatikana kwa kila mtu.

Setuid + setgid

Kama hati inavyosema, setuid na setgid ni bendera za ruhusa zinazoruhusu utekelezo kuendeshwa kwa haki za mmiliki au kikundi cha kinachoweza kutekelezwa (kawaida kizizi). Faili kama hizo zinazoweza kutekelezeka, zinapoendeshwa kwa upendeleo wa hali ya juu, zinaweza kufikia habari iliyobahatika zaidi. Kwa mfano, ukiweka setuid kwa amri ya ls, utaweza kuona yaliyomo kwenye saraka ambazo ulikataliwa kuzifikia hapo awali. Na kwa upande wa vim, naweza kuhariri faili za usanidi ambazo sikuwa na haki ya kuziangalia hapo awali.

Ipasavyo, ikiwa programu zilizo na seti ya bendera ya setuid/setgid zina udhaifu kama vile kufurika kwa bafa au sindano ya amri, basi mvamizi anaweza kutekeleza msimbo kiholela na mapendeleo ya juu. Ndiyo maana chaguo linalofuata kawaida hutafuta faili zinazoweza kutekelezwa na bendera hizi.
sudo find / -xdev \(-perm 4000\) -aina f -print0 -exec ls -s () \;

Kimsingi, unaweza kuifanya bila sudo, hii ni muhimu tu kuangalia saraka ambazo huna ufikiaji.

Kawaida kuna chaguzi tatu kwa matumizi zaidi ya vile faili zinazoweza kutekelezwa. Ya kwanza ni kujaribu kuongeza marupurupu kulingana na utendakazi uliotolewa na programu hii (au tuseme, njoo na njia yako mwenyewe ya kutumia utendakazi huu kwa njia isiyo ya kawaida). Chaguo la pili ni kupata unyonyaji wa umma au kufanya fuzzi huru kubaini mende. Ya tatu ni sindano ya amri. Hakuna kichocheo cha ulimwengu wote, yote inategemea hali hiyo.

SUDO

sudo (badala) amri mtumiaji na do), ambayo inamaanisha "badilisha mtumiaji na utekeleze," hukuruhusu kukabidhi rasilimali fulani zilizobahatika kwa watumiaji huku ukidumisha kumbukumbu ya kazi. Hiyo ni, hutoa watumiaji uwezo wa kutekeleza amri kama mzizi (au watumiaji wengine) kwa kutumia yao nenosiri mwenyewe, sio nenosiri la msingi. Sheria za kufanya maamuzi ya ufikiaji ziko kwenye /etc/sudoers faili. Unaweza kujua zaidi kuhusu umbizo la faili hii na kuweka sheria katika mwongozo rasmi au Wikipedia. Nitasema tu kwamba faili hii pia inahitaji kuangaliwa kwa makini. Kwa sababu mara nyingi hutokea kwamba baadhi ya maombi hubadilisha wakati wa ufungaji, na, zaidi ya hayo, sio ndani upande bora. Kama matokeo, watumiaji wanayo fursa ya kuongeza upendeleo wao (chapisho kwenye Usalama wa Kukera inayoelezea kesi kama hiyo).

NJIA

Kama ilivyo kwenye Windows, katika Linux njia zilizosanidiwa vibaya pia zitasaidia kuongeza upendeleo wako. Hii kawaida hufanyika na utofauti wa mazingira wa PATH (tumia printenv kuiona). Je, umeangalia? Nzuri, sasa niambie: vipi ikiwa utaftaji wa mazingira wa PATH unaanza. (.:/bin:/usr/sbin ....)? Hii kawaida hufanywa na watumiaji ambao hawataki kuandika herufi mbili za ziada, ambayo ni kwamba, wanataka kuita amri kama hii: $ program badala ya $ ./program . Nyongeza. katika PATH inamaanisha uwezo wa kutekeleza faili/hati kutoka kwa saraka ya kufanya kazi. Unaweza kuiongeza kama ifuatavyo:

NJIA=.:$(PATH) safirisha NJIA

Sasa fikiria hali ambayo tuna watumiaji wawili: Joe (mshambulizi) na Bob. Joe anajua kuwa Bob ana haki za sudo za kubadilisha nywila za mtumiaji, pamoja na mzizi. Mbali na hilo, Bob ni mvivu na aliongeza. kwa mabadiliko ya mazingira ya PATH. Wile Joe anaandika programu ambayo itabadilisha nenosiri la mizizi, kuiita ls na kuiweka kwenye folda ambapo Bob anapenda kuangalia. Sasa, wakati mwisho unaingia kwenye folda na unataka kutazama yaliyomo, programu ambayo Joe aliandika itatekelezwa na nenosiri la mizizi litabadilishwa. Ndio maana tunaangalia kila wakati vigezo vya mazingira kwa uwepo wa vitu vya kupendeza, na sisi wenyewe tunapata hitimisho zifuatazo:

  1. Hatutumii kamwe. katika mabadiliko ya PATH.
  2. Ikiwa hatua bado iko pale, iweke mstari unaofuata katika .bashrc au .profile:
    PATH= echo $NJIA | sed -e "s/::/:/g; s/:.:/:/g; s/:.$//; s/^://"

Zana

Ili kubinafsisha utafutaji wa pointi dhaifu, unaweza kutumia zana zifuatazo:

1. LinEnum ni hati ya bash ambayo itafanya kazi chafu kwako, ikifanya ukaguzi wote ulioelezewa kwenye karatasi hii ya kudanganya. Kwa jumla kuna takriban 65 kwenye safu yake ya ushambuliaji hundi mbalimbali, kuanzia kupata taarifa kuhusu toleo la kernel hadi kutafuta faili zinazoweza kuvutia za SUID/GUID. Kwa kuongeza, unaweza kupitisha script neno kuu, ambayo itatafuta katika faili zote za usanidi na kumbukumbu. Cheki imeanza kama ifuatavyo: ./LinEnum.sh -k neno kuu -r report -e /tmp/ -t . Baada ya skanning kukamilika, utawasilishwa na ripoti ya kina, maeneo ya kuvutia zaidi ambayo yatasisitizwa kwa njano.
2. LinuxPrivChecker - Hati ya Python ambayo pia ni muhimu katika kutafuta chaguo zinazowezekana za marupurupu yanayoongezeka. Kwa ujumla, hufanya mambo yote ya kiwango sawa: kuangalia marupurupu, kupata taarifa kuhusu mfumo ... Lakini kipengele chake kuu ni kwamba baada ya hundi kukamilika, itakupa orodha ya ushujaa ambayo, kwa maoni yake, itasaidia. kuongeza marupurupu. Mtu mzuri kama huyo :).
3. unix-privesc-check - hati hii hukuruhusu kutafuta chaguzi za kusawazisha marupurupu sio tu katika Linux, lakini pia katika Solaris, HPUX, FreeBSD. Inajaribu kugundua hitilafu za usanidi ambazo zingeruhusu mtumiaji asiye na haki kupanda kwenye mfumo.
4. g0tmi1k’s Blog - na hii ni blogu ambayo ukaguzi wote unaofanywa na zana tatu zilizotajwa umeelezewa vyema. Kwa hivyo ninapendekeza sana uangalie hapo na uifahamu ili uweze kufikiria jinsi zana hizi zinavyofanya kazi kutoka ndani.



LinuxPrivChecker ina orodha kubwa ushujaa, ambayo inasasishwa kila mara kutoka kwa Hifadhidata ya Tumia

Maneno ya baadaye

Kama umeona, katika ulimwengu wa Linux, kuongeza marupurupu pia ni jambo la kawaida. Siri ya mafanikio ni rahisi: ili kufikia lengo lako, unahitaji kuwa na subira na kujua wapi kuangalia na nini cha kuangalia. Wapi kuangalia, sasa unajua ni huduma gani za kutumia kwa otomatiki, pia, kwa hivyo sasa unaweza kushinda sio tu mfumo wa kushinda, lakini pia mfumo wa nix. Nenda kwa hilo!

mtumiaji wa mizizi na sudo

Mtumiaji wa mizizi kwenye mifumo ya GNU/Linux ni mtumiaji ambaye ana ufikiaji wa kiutawala kwa mfumo wako. Watumiaji wa kawaida hawana ufikiaji huu kwa sababu ya ukosefu wa ufikiaji. Walakini, Kubuntu haina mtumiaji wa mizizi. Badala yake, ufikiaji wa kiutawala unatolewa kwa watumiaji binafsi, ambao wanaweza kutumia programu ya "sudo" kutekeleza kazi za usimamizi. Kwanza Akaunti, iliyoundwa wakati wa usakinishaji wa mfumo itakuwa na ufikiaji wa programu ya sudo kwa chaguo-msingi. Unaweza kukataa ufikiaji wa sudo au uiruhusu kwa kutumia programu Watumiaji na Vikundi (Angalia "Watumiaji na Vikundi").

Ikiwa utaendesha programu ambayo inahitaji haki za mtumiaji mkuu, sudo itakuhitaji uingize yako mtumiaji wa kawaida Nenosiri la Kichina. Hii inahakikisha kwamba programu hasidi haitaharibu mfumo wako, na pia itakukumbusha kile unachokaribia kufanya vitendo vya utawala, ambayo yanahitaji huduma maalum!

Kutumia sudo kwenye mstari wa amri, chapa tu "sudo" kabla ya amri unayotaka kutekeleza. Baada ya hayo, sudo itakuuliza uweke nenosiri lako.

Sudo itakumbuka nenosiri lako kuweka wakati(dakika 15 chaguomsingi). Kipengele hiki kinaruhusu watumiaji kutekeleza idadi kubwa ya majukumu ya kiutawala bila kulazimika kuingiza nenosiri kila wakati.

Tahadhari

Kuwa mwangalifu unapofanya kazi za kiutawala - unaweza kuharibu mfumo wako!

Vidokezo kadhaa vya kutumia sudo:

    Ili kutumia terminal ya mtumiaji wa mizizi, chapa "sudo -i" kwa haraka ya amri

    Kikundi kizima cha huduma za usanidi wa picha huko Kubuntu tayari hutumia sudo, kwa hivyo ikiwa ni lazima utaulizwa nywila kwa kutumia programu. kdesu, ambayo ni ganda la picha sudo .

    Kwa habari zaidi juu ya programu sudo na kukosekana kwa mtumiaji wa mizizi huko Kubuntu, angalia ukurasa wa sudo kwenye Ubuntu wiki.

Kuendesha programu kwa mikono na haki za mizizi

Wakati mwingine ni muhimu kuendesha programu na marupurupu ya mizizi. Hii ni rahisi kufanya kwa kutumia mazungumzo Amri ya kukimbia .

Tahadhari

Tafadhali kuwa mwangalifu unapoendesha programu zilizo na haki za mizizi kwani inaweza kuharibu mfumo wako. Nyuma Taarifa za ziada tazama "Mtumiaji wa mizizi na sudo".

    Fungua mazungumzo Amri ya kukimbia kwa kubonyeza Alt -F2

    Ingiza jina la programu unayotaka kuendesha, yenye kiambishi awali kdesu na vyombo vya habari Ingiza. Kwa mfano, kukimbia meneja wa faili Konqueror na marupurupu ya mizizi, aina

    1. Kwa kutumia amri: su

    Amri nyingi zinaweza tu kuendeshwa na mtumiaji mkuu, kwa hivyo tunahitaji kujua jinsi ya kuwa mzizi. Ili kufanya hivyo tunaweza kutumia amri: su (kubadilisha mtumiaji). Amri ya su inakubali fomati zifuatazo:

    lakini mara nyingi tutatumia su ili kuwa mtumiaji mzizi:

    Su - mizizi

    Ikiwa jina la mtumiaji halijaainishwa kwenye mstari, mtumiaji huchukuliwa kiotomatiki kuwa mzizi, kwa hivyo amri inaweza kufupishwa:

    lakini timu zote mbili zina tabia tofauti. "su" humpa mtumiaji wa sasa kitambulisho, ilhali "su -" humpa mtumiaji wa sasa kitambulisho pamoja na mazingira ambayo yangepatikana kwa kusajili kama.

    Mara nyingi watumiaji hutumia "su" kuwa mzizi. Ukijaribu kuendesha amri (kwa mfano - ifconfig), utapokea: "amri haipatikani" kosa.

    Nenosiri la Su: ifconfig bash: ifconfig: amri haipatikani

    Sababu ni kwamba watumiaji wa mfumo wa kawaida na mtumiaji wa mizizi wana anuwai tofauti za mazingira ya PATH (unaweza kutazama NJIA ya mtumiaji kwa kutumia "echo $PATH"). Baada ya kuingia Amri za Linux, ganda litafuta PATH ya mtumiaji kujaribu kupata amri ya kutekeleza. Inaanza kutafuta kila saraka iliyoorodheshwa katika PATH hadi lengo lipatikane.

    Amri za watumiaji wa kawaida kwa kawaida ziko ndani /usr/local/bin, /usr/bin, na /bin. Na amri za mtumiaji wa mizizi ziko haswa ndani /usr/local/sbin, /usr/sbin, /sbin na njia ya mizizi inaonyesha hii. Kwa hivyo unapokuwa mtumiaji mkuu na "su -", unakubali pia njia mpya PATH kwa amri za msingi. Na kwa kutumia tu "su", imehifadhiwa njia maalum PATH ndio chaguo-msingi, kwa hivyo, wakati wa kujaribu kutekeleza programu iliyoko /usr/local/sbin, /usr/sbin, /sbin itatoa matokeo: kosa la "amri halijapatikana". Kwa maelezo ya kina zaidi, angalia ukurasa wa man bash, haswa sehemu ya ganda la kuingia.

    Kwa hivyo itabidi ueleze njia kamili ya amri (mfano - /sbin/ifconfig) unapotumia "su", au utumie "su -" unapokuwa mzizi.

    2. Kutumia Sudo

    Huhitaji kuwa mtumiaji mkuu kila wakati unapotaka kutekeleza baadhi ya vipengele mahususi vya kiutawala. Shukrani kwa Sudo, unaweza kuendesha baadhi au amri zote kama mzizi. Lini Sudo imewekwa (kifurushi: Sudo), unaweza kuisanidi kwa kutumia amri ya "visudo" kama mzizi. Kimsingi inahariri (Vim chaguo-msingi) /etc/sudoers, lakini haipendekezwi kufanya hivyo kwa mikono.

    Alex WOTE=(WOTE)WOTE

    Alex ni jina la mtumiaji. Hifadhi (bonyeza Epuka kisha chapa wq) na umemaliza. Ingia kama alex, na uendeshe kwa mfano:

    sasisho la $sudo yum

    Sudo itauliza nenosiri. Hili ni nenosiri la Alex, sio la mtumiaji wa mizizi. Kwa hivyo kuwa mwangalifu unapopeana haki za mtumiaji na Sudo.

    Lakini Sudo anaweza kufanya zaidi ya hayo tu. Tunaweza kuruhusu mtumiaji au kikundi cha watumiaji kutekeleza amri moja tu au kikundi cha amri. Wacha turudi kwenye faili yetu ya sudoers. Wacha tuanze na alex na alisa, washiriki wa kikundi cha msimamizi. Ikiwa tunataka watumiaji wote katika kikundi cha "msimamizi" waweze kutekeleza kila amri kama mtumiaji mkuu, lazima turekebishe mfano wetu:

    %admin ALL=(WOTE)WOTE

    Alex pia anaweza kutekeleza amri ya mtumiaji mkuu, na Alisa ana haki ya kuendesha Sudo, akiwa na haki sawa na nenosiri lake. Ikiwa alex na alisa sio washiriki wa kikundi kimoja, tunaweza kufafanua jina la mtumiaji kwenye faili ya sudoers:

    Jina_Mtumiaji ADMINS = alisa,alex

    Hapa tumefafanua lakabu inayoitwa ADMINS, yenye wanachama alisa na alex.

    Hata hivyo, hatutaki Alex na Alisa waweze kuendesha programu yoyote kama mzizi. Tunataka waweze tu kuendesha "updatedb". Wacha tufafanue jina la amri:

    Cmnd_Alias ​​​​LOCATE = /usr/sbin/updatedb

    Lakini hii haitoshi! Tunahitaji kuwaambia Sudo kwamba watumiaji waliofafanuliwa kama ADMINS wanaweza kutekeleza amri zilizobainishwa katika LOCATE. Ili kufanya hivyo, tutabadilisha mistari na "% admin" na hizi:

    ADMIN ZOTE = PATA

    Hii ina maana kwamba watumiaji katika lakabu ADMINS wanaweza kutekeleza amri zote katika lakabu LOCATE.

    Wakati huu, /etc/sudoers inaonekana kama hii:

    User_Alas ​​ADMINS = alisa, alex Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb ADMIN ZOTE = LOCATE

    Kwa hivyo, alex na alisa wanaweza kuendesha updatedb kama mzizi kwa kuweka nenosiri lao.

    Ikiwa mstari wa mwisho kwenye faili umebadilishwa:

    ADMIN ZOTE = NOPASSWD:LOCATE

    basi alex na alisa wataweza kutekeleza "sudo updatedb" bila kuingiza nenosiri.

    Unaweza kuongeza amri zaidi kwa lakabu ya amri na lakabu zaidi kwa sheria. Kwa mfano, tunaweza kuunda lakabu NETWORKING iliyo na baadhi amri za mtandao aina: ifconfig, njia au iwconfig:

    Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhcclient, /usr/bin/net, sbin/iptables, /usr/bin/rfcom, /usr/bin/wvdial, /sbin /iwconfig, /sbin/mii-tool

    Wacha tuongeze haya yote kwenye faili yetu /etc/sudoers (kwa kutumia visudo!). Pia tutakipa kikundi chetu cha ADMINS haki za kutekeleza programu kutoka kwa lakabu ya NETWORKING:

    User_Alias ​​​​ADMINS = alice, bob Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb Cmnd_Alias ​​​​NETWORKING = /sbin/njia, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net ,/sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool ADMIN ALL = LOCATE, NETWORKING

    Jaribio la haraka: ingia kama alisa (au alex), na uandike:

    $ping -c 10 -i mwenyeji

    Jibu linapaswa kurudi haraka:

    PING localhost.localdomain (127.0.0.1) 56(84) byte za data. ping: haiwezi mafuriko; muda mdogo, unaoruhusiwa kwa mtumiaji, ni 200ms

    Sasa, kitu kimoja lakini na Sudo:

    $sudo ping -c 10 -i 0 localhost PING localhost.localdomain (127.0.0.1) 56(84) byte za data. Baiti 64 kutoka kwa localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.049 ms 64 byte kutoka localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.04localtes bydomain kutoka kwa localhost.034 ms (127.0.0.1): icmp_seq=3 ttl=64 time=0.021 ms 64 byte kutoka localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=64 time=0.030 ms 64 bytes kutoka localhost.17:0 domain. icmp_seq=5 ttl=64 time=0.017 ms 64 byte kutoka localhost.localdomain (127.0.0.1): icmp_seq=6 ttl=64 time=0.016 ms 64 byte kutoka localhost.localdomain (127.0.0.0.1 icc=4): time=0.016 ms 64 byte kutoka localhost.localdomain (127.0.0.1): icmp_seq=8 ttl=64 time=0.016 ms 64 byte kutoka localhost.localdomain (127.0.0.1): icmp_seq=9 ttl = 61 mtes=muda wa 64 kutoka kwa localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 time=0.016 ms --- localhost.localdomain ping takwimu --- 10 pakiti zinazotumwa, 10 kupokea, 0% hasara ya pakiti, wakati 1ms rtt min/avg/ max/mdev = 0.016/0.023/0.049/0.010 ms, ipg/ewma 0.187/0.028 ms

    Sudo mara nyingi hutumika kutoa watumiaji fulani ufikiaji wa sehemu kwa timu zilizobahatika ili ziweze kutekeleza majukumu machache ya usimamizi. Moja ya huduma Sudo ni kwamba amri zote zimeandikwa kwa /var/log/secure. Mfano hapo juu utaelezewa na mstari kwenye logi:

    Apr 18 11:23:17 mwenyeji sudo: alex: TTY=pts/0 ; PWD=/nyumbani/alex ; USER=mzizi ; COMMAND=/bin/ping -c 10 -i 0 mwenyeji

    Ni hayo tu. Sasa sitasahau nilipomtumia Sudo: "kwa nguvu kubwa huja jukumu kubwa."

    2.1 Sudo shell

    Ikiwa una ruhusa za kutosha zilizosanidiwa katika sudoers, unaweza pia kufungua mzizi ganda kutumia:

    KATIKA matoleo ya hivi karibuni tu kwenye CentOS 5, ili kuendesha ganda kama mzizi, tumia sudo -s. Kuwa mwangalifu sana kwani hii inaweza kubadilisha au kuunda faili mpya kwenye saraka ya nyumbani ya Mizizi na kusakinisha saraka ya nyumbani wito mtumiaji.

    3.msaidizi wa console

    Consolehelper ni ganda la kuzindua programu za GUI. Inapoanza kufanya kazi, hukagua usanidi wa PAM kwa programu inayohitajika. Hii ina maana kwamba tunaweza kuthibitisha mtumiaji kwa kutumia yote modules zilizowekwa PAM. Njia kuu ni kuomba nenosiri, lakini ikiwa tuna vifaa vinavyofaa. tunaweza kuthibitisha kwa kutumia smart card, tokeni, alama za vidole n.k. Usanidi wa PAM uko nje ya upeo wa hati hii (ona Mwongozo wa Msimamizi wa PAM), kwa hivyo tutaangalia hatua ya usanidi wa consolehelper inayohitajika ili kuendesha programu kama mzizi na kuhitaji nenosiri la msingi.

    Kama mfano, wacha tusanidi /usr/bin/xterm ili kukimbia kama mzizi.

    Ln -s /usr/sbin/consolehelper /usr/bin/xterm-root

    Sasa ili kusanidi PAM, tengeneza faili /etc/pam.d/xterm-root:

    #%PAM-1.0 auth inajumuisha akaunti ya usanidi ni pamoja na kipindi cha usanidi ni pamoja na utumiaji wa usanidi

    Hatimaye, sanidi consolehelper kukimbia /usr/bin/xterm kama mzizi na amri "xterm-root". Unda faili /etc/security/console.apps/xterm-root:

    USER=root PROGRAM=/usr/bin/xterm

    Ni hayo tu. Endesha "xterm-root" (kutoka mstari wa amri au faili ya mkato.desktop), ingiza nenosiri na uende. Ukipokea hitilafu: "Xlib: muunganisho kwa ":0.0" imekataliwa na seva", endesha "xhost local:root" kwanza.

    |

    Linux ni mfumo wa uendeshaji wa watumiaji wengi ambao hutumia dhana ya Unix ya marupurupu kutoa usalama katika kiwango cha mfumo wa faili. Unapofanya kazi na Linux, ni muhimu sana kuelewa ruhusa na umiliki ni nini. Makala hii itakusaidia kuelewa dhana za msingi zinazohusiana na haki za mtumiaji wa Linux.

    Mahitaji

    • Ujuzi wa msingi wa Linux.
    • Seva ya Linux (hiari).

    Watumiaji wa Linux

    Kwa kuwa Linux ni mfumo wa watumiaji wengi, ni muhimu kuelewa jinsi watumiaji na vikundi hufanya kazi. Hebu tuangalie dhana hizi kwa undani zaidi.

    Kuna aina mbili za watumiaji katika Linux: mfumo na wa kawaida. Watumiaji wa mfumo wameundwa kufanya yasiyo ya mwingiliano na michakato ya nyuma, na watumiaji wa kawaida wanawajibika kwa kukamilisha kazi wasilianifu. Unapoingia kwenye mfumo wa Linux kwa mara ya kwanza, unaweza kuwa umegundua kuwa unaanza watumiaji wengi wa mfumo, ambao nao huanza. huduma mbalimbali, ambayo mfumo unategemea.

    Ili kuona watumiaji wote kwenye mfumo, angalia faili /etc/passwd. Kila mstari katika faili hii una taarifa kuhusu mtumiaji binafsi, kuanzia na jina la mtumiaji (kabla ya koloni ya kwanza). Ili kuonyesha yaliyomo kwenye faili kwenye skrini, ingiza:

    Mtumiaji mkuu

    Mbali na aina mbili kuu za watumiaji katika Linux, pia kuna superuser, au mizizi. Mtumiaji huyu anaweza kubatilisha ruhusa za faili za watumiaji wengine na kuzuia ufikiaji. Kimsingi, mtumiaji mkuu ana haki ya kufikia faili zote zilizopo kwenye seva. Mtumiaji huyu ana haki ya kufanya mabadiliko ya mfumo mzima, kwa hivyo usalama wake ni muhimu sana kwa usalama wa seva yenyewe.

    Unaweza pia kusanidi watumiaji wengine kutekeleza haki za mtumiaji mkuu. Ili kufanya hivyo, unahitaji kumpa mtumiaji wa kawaida ufikiaji wa amri ya sudo. Katika kazi ya kila siku ya msimamizi wa seva, inashauriwa kutumia akaunti kama hiyo na marupurupu yaliyopanuliwa, kwani kutumia mizizi juu msingi wa kudumu hatari na inaweza kuharibu mfumo.

    Vikundi vya Linux

    Vikundi ni mikusanyiko ya watumiaji 0 au zaidi. Mtumiaji ni wa kikundi chaguo-msingi na anaweza pia kuwa mwanachama wa yoyote ya vikundi vingine.

    Ili kuona vikundi vyote vinavyopatikana na orodha za wanachama wao, fungua /etc/group.

    Umiliki wa Faili na Haki za Ufikiaji

    Katika Linux, kila faili ni ya mtumiaji mmoja na kundi moja na ina mipangilio ya mtu binafsi ufikiaji.

    Ili kuona ruhusa, tumia amri ya ls. Inayo orodha ndefu ya chaguzi (kwa mfano ls -l myfile). Ili kutazama mipangilio ya ufikiaji wa faili ndani saraka ya sasa, endesha amri bila hoja:

    Ili kuuliza yaliyomo kwenye saraka / nk, ingiza:

    Safu ya kwanza ya pato inaonyesha hali ya ufikiaji wa faili, safu wima ya pili na ya tatu ina jina la mtumiaji na kikundi, ya nne - saizi ya faili, ya tano - tarehe yake. mabadiliko ya mwisho, safu ya mwisho inaonyesha jina la faili.

    Kwa ujumla, matokeo ya amri ya ls ni rahisi kuelewa, isipokuwa labda kwa safu ya kwanza, ambayo inaelezea ruhusa za faili. Inaonekana kitu kama hiki:

    drwxrwxrwx
    drwxrwx---
    -rw-rw----
    drwx------
    -rw--------

    Ili kuelewa maana ya herufi hizi na vistari, hebu tugawanye yaliyomo kwenye safu katika vipengele vyake. Mstari wa kwanza wa mfano hapo juu unaweza kugawanywa katika vikundi vifuatavyo:

    d rwx(1) rwx(2) rwx(3)

    • d - uwanja wa aina ya faili.
    • rwx(1) - haki za mtumiaji anayemiliki faili.
    • rwx(2) - haki za kikundi kinachomiliki.
    • rwx(3) - haki za watumiaji wengine.

    Aina za faili

    Kuna aina mbili kuu za faili katika Linux: kawaida na maalum.

    Faili za kawaida hutambuliwa na hyphen katika uwanja wa aina. Faili za kawaida ni faili rahisi, ambayo data inaweza kuhifadhiwa.

    Faili ni maalum ikiwa uga wa aina una herufi. Faili kama hizo huchakatwa mfumo wa uendeshaji tofauti na faili za kawaida. Ishara katika uwanja wa aina ya faili inaonyesha aina gani faili maalum inatumika faili maalum. Aina ya kawaida ya faili maalum ni saraka (au saraka), iliyotambuliwa na ishara d (kama katika mfano hapo juu). KATIKA Mfumo wa Linux Kuna aina kadhaa za faili maalum, lakini mada hii ni nje ya upeo wa makala hii.

    Madarasa ya ufikiaji

    Kama ilivyoelezwa hapo awali, kila faili ina mipangilio ya makundi matatu(au madarasa ya ufikiaji):

    1. mtumiaji - mmiliki wa faili;
    2. kikundi - mmiliki wa faili (darasa hili linajumuisha washiriki wote wa kikundi ambacho mtumiaji - mmiliki wa faili ni wa);
    3. na watumiaji wengine (darasa hili linajumuisha watumiaji wote ambao si wa madarasa ya awali).

    Usambazaji wote wa Linux hufuata mpangilio huu wa marupurupu.

    Aina za ufikiaji

    • r (soma) - haki ya kusoma faili,
    • w (andika) - haki ya kubadilisha (hariri),
    • x (tekeleza) - haki ya kukimbia (katika baadhi kesi maalum ishara nyingine inaweza kutumika badala ya x).

    Ikiwa kuna hyphen badala ya ishara, inamaanisha darasa hili haina haki za ufikiaji zinazofaa. Kwa mfano:

    Katika kesi hii, mtumiaji na kikundi - wamiliki wa faili - wana haki zote za kufikia, na kwa watumiaji wengine upatikanaji wa faili ni kukataliwa kabisa.

    Hebu tuchunguze kwa undani ni nini hasa kila aina ya ufikiaji hutoa.

    Kumbuka: Ili kuhakikisha ufikiaji wa kawaida wa faili na saraka, aina za ufikiaji mara nyingi hutumiwa pamoja.

    Ruhusa ya kusoma faili

    Haki ya kusoma faili ya kawaida ni uwezo wa kutazama yaliyomo.

    Ruhusa ya kusoma kwenye saraka inaruhusu mtumiaji kuona majina ya faili zilizohifadhiwa ndani yake.

    Haki ya kubadilisha faili

    Katika kesi ya faili ya kawaida, haki hii inampa mtumiaji uwezo wa kubadilisha yaliyomo kwenye faili au kuifuta.

    Ikiwa mtumiaji ana haki ya Hariri saraka, basi mtumiaji huyo anaweza kufuta saraka, kubadilisha yaliyomo (yaani, kuunda, kubadilisha jina, au kufuta faili ndani yake) na yaliyomo kwenye faili zilizohifadhiwa ndani yake.

    Haki ya kuzindua

    Kwa kuwa na haki hii, mtumiaji anaweza kukimbia faili ya kawaida, lakini kwa hili pia inahitaji haki za kusoma kwa faili hii. Ruhusa za kuzindua lazima ziwekewe programu zinazoweza kutekelezwa na maandishi ya ganda.

    Ikiwa mtumiaji ana haki ya kuzindua saraka, basi anaweza kusoma saraka hiyo na pia kufikia metadata yake kuhusu faili zilizohifadhiwa.

    Mifano ya marupurupu

    Sasa hebu tuangalie baadhi ya manufaa mifano ya kawaida haki za ufikiaji wa faili.

    • -rw——-: Mtumiaji anayemiliki faili pekee ndiye anayeweza kufikia faili.
    • -rwxr-xr-x: Mtumiaji yeyote kwenye mfumo anaweza kuendesha faili kama hiyo.
    • -rw-rw-rw-: mtumiaji yeyote wa mfumo ana haki ya kubadilisha faili kama hiyo.
    • drwxr-xr-x: mtumiaji yeyote kwenye mfumo anaweza kusoma saraka hii.
    • drwxrwx—: Yaliyomo kwenye saraka yanaweza tu kusomwa na kurekebishwa na mtumiaji anayemiliki na kikundi.

    Kama unavyoona, mtumiaji anayemiliki faili kawaida ana haki zote kwa faili (au, kulingana na angalau, ina haki zaidi kuliko madarasa mengine). Kwa sababu za kiusalama, faili zinapaswa kupatikana tu kwa watumiaji hao ambao wanahitaji kuzifikia kwa sababu maalum.

    Kuna michanganyiko mingi ya haki za ufikiaji, lakini ni baadhi tu ambayo ni muhimu katika hali yoyote. Kwa mfano, kurekebisha na kuendesha haki ni karibu kila mara pamoja na haki za kusoma kwa faili, kwa kuwa faili ni vigumu kurekebisha na haiwezekani kukimbia bila haki za kusoma.

    Kumbuka: Ili kujifunza jinsi ya kubadilisha haki za ufikiaji, soma. Inazungumza juu ya kutumia timu zilizochaguliwa, chgrp na chmod.

    Hitimisho

    Sasa unajua dhana za kimsingi zinazohusiana na ruhusa na umiliki katika mazingira ya Linux.

    Lebo:

    Kama unavyojua, Linux inachukua udhibiti wa watumiaji na kuwapa ruhusa za kutumia mfumo kwa umakini sana. Mtumiaji wa kawaida anaweza tu kuandika faili kwa saraka yao wenyewe na /tmp/ saraka. Inawezekana pia kusoma faili kadhaa kwenye mzizi mfumo wa faili. Lakini huwezi kufunga programu, kwa sababu hii inahitaji ruhusa ya kuandika, huwezi kubadilisha sifa za faili, huwezi kuanza huduma, huwezi kusoma faili za logi, na huwezi kufanya mengi zaidi.

    Katika Linux, mtumiaji wa mizizi pekee ana haki ya kusimamia mfumo wa faili ya mizizi na kuunda faili huko.

    Katika makala hii tutaangalia ni programu gani zinahitajika ili kupata haki za mizizi mtumiaji wa linux jinsi zinavyofanya kazi, jinsi ya kuendesha programu kama mzizi kama mtumiaji wa kawaida na jinsi ya kuendesha programu za graphics na haki za mizizi. Pia tutajua sudo ni nini na ni tofauti gani kati ya su na sudo.

    Itachukua muda mrefu kuorodhesha kile ambacho mtumiaji wa kawaida wa Linux hawezi kufanya; ni rahisi kusema kile anacho haki, yaani lini. mpangilio wa kawaida ruhusa za faili katika Linux, mtumiaji wa kawaida anaweza:

    • Soma, andika na ubadilishe sifa za faili kwenye saraka yako
    • Soma, andika, ubadilishe sifa za faili kwenye saraka ya /tmp
    • Tekeleza programu ambapo hairuhusiwi kutumia bendera ya noexec
    • Soma faili ambazo bendera iliyosomwa imewekwa kwa watumiaji wote.

    Ikiwa tunahitaji kufanya kitu zaidi, tutahitaji haki za mtumiaji wa mizizi ya Linux. Root ina haki ya kufanya kila kitu kwenye mfumo wako wa faili, bila kujali ni ruhusa gani zimewekwa kwenye faili.

    Ingia kama mtumiaji mkuu

    Ili kuingia kama mtumiaji wa mizizi, unaweza kubadili hadi kwenye mojawapo ya viweko pepe, kwa mfano, kwa kutumia njia ya mkato ya kibodi Ctrl+Alt+F1 na kisha uingize nenosiri la kuingia na mizizi ya mtumiaji.

    Utapata mazingira kamili ya mizizi na uwezo wa kufanya kila kitu, lakini njia hii haifai sana kwani unapoteza faida zote za kutumia GUI.

    Tunaweza kufanya kinyume kabisa, ingiza kuingia kwa mizizi na nenosiri lake kwenye kidhibiti cha kuingia kielelezo, ili mazingira ya eneo-kazi yaendeshe kama mzizi, na tupate haki zote. mizizi ya linux, lakini chaguo hili halipendekezi sana, na ni hatari sana, unaweza kuharibu mfumo mzima kwa ajali. Kwa hiyo, njia hii imezimwa katika wasimamizi wengi wa kuingia.

    Badilisha hadi mtumiaji mkuu kwenye terminal

    Sasa tunakuja kwenye kitu cha kuvutia zaidi na cha vitendo. Kutumia huduma maalum, unaweza kubadili emulator ya sasa ya terminal kwa mazingira ya mtumiaji mkuu na kutekeleza amri zote zifuatazo si kwa niaba yako, lakini kwa niaba yake, na hivyo kutoa haki za Linux mizizi. Kuna huduma inayoitwa su kwa kusudi hili. Kwa ujumla, matumizi haya hukuruhusu kubadili tu kwa mtumiaji wa mizizi lakini pia kwa mtumiaji mwingine yeyote, lakini kwa chaguo-msingi ni mzizi unaotumiwa. Hebu tuangalie kwa karibu zaidi. Amri ya su linux ina syntax ifuatayo:

    $su chaguo za mtumiaji

    Hapa kuna chaguzi zake kuu:

    • -c, --amri- kutekeleza amri
    • -g, --kikundi- weka kikundi kikuu cha watumiaji (kwa mzizi tu)
    • -G --supp-group- vikundi vya ziada vya watumiaji (kwa mizizi tu)
    • -, -l, --ingia- Njia ya kuingia, anuwai zote za mazingira zitafutwa na kuanzishwa kwa kuzingatia mtumiaji mpya, na saraka ya nyumbani pia itabadilishwa.
    • -p, --hifadhi-mazingira
    • -s, --ganda- weka ganda la kuingia
    • --toleo- onyesha toleo la programu.

    Sasa hebu tujaribu kidogo kuelewa jinsi amri ya su linux inavyofanya kazi.

    Kwanza, wacha tuendeshe su bila vigezo, lakini kwanza tutaunda utofauti wa mazingira ili kuangalia jinsi amri hii inavyoshughulikia:

    Sasa tunafanya:

    Sasa tuone kilichotokea:

    nani
    $pwd
    $ echo $VAR
    $ echo $PATH
    $ toka

    Kutoka kwa amri hizi tunaona kwamba sasa sisi ni mtumiaji wa mizizi, lakini saraka ya nyumbani inachukuliwa kuwa saraka ya yetu mtumiaji wa awali na utofauti wetu haukuhifadhiwa, na utofauti wa PATH pia ulibadilika, sasa njia ya /sbin imeongezwa hapo.

    Sasa tunatumia hali ya kuingia:

    Na turudie mchanganyiko sawa:

    nani
    $pwd
    $ echo $VAR
    $ echo $PATH
    $ toka

    Hali hiyo hiyo, wakati huu tu imebadilishwa saraka ya nyumbani juu saraka ya mizizi. Lakini tunaweza kuokoa anuwai za mazingira ikiwa ni lazima, kuna -p chaguo kwa hili:

    Kama unaweza kuona, mabadiliko yetu yanabaki. Unaweza pia kubadili kwa mtumiaji mwingine yeyote. Kwa mfano:

    Kupata haki za mtumiaji bora kwa njia hii hutumiwa katika usambazaji mwingi, kwa mfano, Debian, OpenSUSE, ArchLINux, Gentoo, nk. Lakini kwa Ubuntu, kama usambazaji kwa Kompyuta, kuingia kama mtumiaji wa mizizi amezimwa. Hii inafanywa kwa sababu pia sio salama sana, unaweza kusahau kuwa unatoa amri kama mzizi na kufanya kitu kibaya kwenye mfumo. Kwa hivyo, wacha tuendelee kwenye programu inayofuata.

    Kupata haki za mizizi bila kubadili

    Ili kutekeleza kiolesura salama zaidi cha kufanya kazi na haki za mtumiaji bora katika Linux, amri ya sudo ilitengenezwa. Wacha tuangalie sudo ni nini. Amri hii imeandikwa kabla ya kila amri ambayo inahitaji kutekelezwa kama mtumiaji mkuu, na ili kuitekeleza unahitaji kuingiza nenosiri sio la mizizi, lakini la mtumiaji wako tu. Kama ilivyo hapo awali, shirika hili lina chaguzi zake. Wacha tuangalie syntax kwanza:

    $ sudo chaguzi amri

    Chaguzi za programu:

    • -b- tekeleza matumizi yaliyozinduliwa nyuma
    • -E- Hifadhi vigezo vya mazingira
    • -g- endesha amri kutoka kwa kikundi
    • -H- tumia saraka ya nyumbani
    • -l- onyesha orodha ya ruhusa za sudo kwa mtumiaji wa sasa
    • -r- tumia jukumu la SELinux kwa amri
    • -s- tumia shell
    • -u- endesha amri kama mtumiaji, ikiwa haijabainishwa, tumia mzizi
    • -i- usitekeleze amri, lakini ingiza ganda, sawa na su -

    Unaweza kufanya majaribio sawa, kwa amri hii tu, kuelewa jinsi ya kutumia amri ya sudo. Kwa mfano:

    Kutumia sudo ndio njia inayopendekezwa ya kuendesha amri kama mzizi kwenye Linux. Kwa njia hii hutasahau kile unachoshughulikia na kuwa na hatari ndogo ya kuharibu mfumo. Lakini bado kuna swali moja ambalo halijatatuliwa - nini cha kufanya na huduma za picha? Baada ya yote, amri ya sudo haiwaendeshi, lakini inaendesha ganda la picha kukimbia kama mzizi sio salama. Hili ndilo tutakaloangalia baadaye.

    graphically maombi kama superuser

    Ili kuendesha programu za picha kama mtumiaji mkuu, zipo huduma maalum. Wanahifadhi vigezo na ruhusa zote za mazingira. Katika KDE hii ndiyo amri ya kdesu, na katika Gnome amri ya gksu.

    Chapa tu gksu au kdesu ikifuatiwa na amri unayotaka:

    Amri hii itazindua kidhibiti faili cha KDE na haki za mtumiaji mkuu. Katika Gnome itaonekana kama hii:

    Programu itauliza nenosiri kwenye dirisha la picha, na kisha meneja wa faili atafungua.

    hitimisho

    Ni hayo tu. Sasa unajua jinsi ya kupata haki za mtumiaji bora katika Linux, unajua jinsi ya kutumia amri ya sudo na ni tofauti gani kati ya sudo na su. Sasa programu zinazohitaji marupurupu ya ziada kwenye mfumo hazitakuletea matatizo. Ikiwa una maswali yoyote, andika kwenye maoni!