Selle käsu käivitamiseks on vaja superkasutaja õigusi. $ su valikute kasutaja. Superkasutaja sisselogimine

Kuidas ma saan tõsta oma õigusi süsteemi privileegidele Windowsi maailm. Nagu selgus, on selleks võimalusi rohkem kui küll. Milline neist valida, sõltub nii olukorrast kui ka teie eelistustest. Kuid nagu aru saate, peate oma volitusi laiendama mitte ainult akende, vaid ka pingviinide jaoks. Millised on siin võimalused? No vaatame...

Eelfaas

Nagu mäletate (ja nagu iga adekvaatne administraator peaks meeles pidama), on Linuxis root kasutajana töötamine tungivalt soovitatav. Ideaalses maailmas peaksite seda kasutama ainult serveri konfigureerimiseks, tarkvara installimiseks ja värskendamiseks ning muudeks puhtalt administratiivseteks ülesanneteks. Häda on selles, et me elame tavalises maailmas, mis on ideaalist väga kaugel. Seetõttu tuleb seda olukorda mõnikord ikka ette. Tõsi, enamasti puhtalt hooletuse tõttu, sest ajalooliselt juhtus nii, et Linuxi kasutajad pidid endale selgeks tegema, kuidas nende operatsioonisüsteem töötab. Ja isegi kui sa süsteemist ja selle turvamehhanismidest natuke aru saad, ei istu sa enam juure all. Seetõttu kaalume täna erinevalt Windowsist, kus me rääkisime süsteemiõiguste hankimisest administraatori alt, ainult võimalusi privileegide suurendamiseks privilegeerimata kasutajalt administraatorile. Nii et alustame.

Ärakasutamine

Kõik Linuxis superkasutaja õiguste saamise meetodid võib jagada kahte kategooriasse. Esimene on lihtsalt ärakasutamine. Erinevalt Windowsist peavad Penguini fännid oma automaatse värskendusmehhanismiga enamasti ise jälgima plaastri väljalaseid ja installimisi. Sellega seoses on Linuxi masinate hulgast paigatamata süsteemi leidmise võimalus palju suurem. Mis kasu on seda meetodit saab tuvastada? Alustuseks kasutab enamik ärakasutusi OS-i kerneli turvaauke, mis võimaldab teil saada maksimaalseid õigusi. Sobiva kasutuskoodi leidmine pole nii keeruline ja ilmselt teate mõnda ressurssi. Lisaks ei pea te sploiti kasutamiseks mõnikord mõistma kõiki kasutatud haavatavuse keerukust – peate selle lihtsalt õigesti kompileerima ja käivitama (mõnikord tuleb seda siiski veidi kohandada, kuid üsna sageli töötab kõik ilma failiga kohandamata). Üldiselt on toimingute algoritm järgmine:

  1. Määrake tuuma ja distributsiooni versioon.
  2. Hankige spliidi ehitamiseks saadaolevate tööriistade loend.
  3. Edastage sploit sihtmasinasse.
  4. Kompileerige (vajadusel) ja käivitage.
  5. Nautige saadud juuri.

Noh, nüüd iga sammu kohta üksikasjalikumalt.

Identifitseerimine

Plaani järgi otsustades tuleb esmalt välja selgitada, kuhu me üldiselt sattusime, millist distrot kasutame ja mis on kerneli versioon. Kerneli versiooni saab tõmmata tuntud käsu uname -a või selle analoogide abil. Kasutatava distributsiooni kohta info saamiseks tuleb vaadata jne kataloogis asuvat faili *-release (olenevalt distributsioonist võib seda nimetada erinevalt: Ubuntus lsb-release, Redis redhat-release Müts / CentOS ja jne):
cat /etc/*-release

Teades levitamiskomplekti ja kerneli versiooni, saate teha teise etapi - sobiva "peavõtme" leidmise.

Ärakasutamise leidmine

Kui kogu vajalik teave on käes, on aeg otsida sobiv ärakasutamine. Esimene asi, mis pähe tuleb, on exploit-db.com, kuid seal on ka alternatiive: 1337day , SecuriTeam , ExploitSearch , Metasploit , securityreason , seclists . Lõpuks on olemas Google, ta teab sploitidest kindlasti rohkem kui keegi teine. Natuke tulevikku vaadates ütlen: mõnikord ei pruugi „peavõti” mingil põhjusel töötada või tuleb seda teatud tingimuste või teie vajadustega pisut kohandada, see tähendab, et see failiga läbi tuleb. Sel juhul ei tee kahju, kui hankite selle kohta lisateavet, mida saate ühest järgmistest allikatest:
www.cvedetails.com
packetstormsecurity.org
cve.mitre.org

Oletame, et leiate sobiva ärakasutamise, mis annab teile pääsu juurte maailma. Jääb vaid see kuidagi autosse transportida.

Kojuvedu

Sploiti kohaletoimetamiseks on palju viise, alates tuntud cURL-ist / wget, Netcat, FTP, SCP / SFTP, SMB kuni DNS-i kasutamine TXT-kirjed. Et teada saada, millised neist tööriistadest meil on, teostame:

Otsi / -nimi wget leia / -nimi nc* leia / -nimi netcat* leia / -nimi tftp* leia / -nimi ftp

Oletame, et leidsime Netcati. Faili edastamiseks, kasutades seda vastuvõtval poolel, käivitage:
nc -l -p 1234 > välja.fail

See tähendab, et kuulame porti 1234. Saatjal teeme järgmist:
nc -w 3 1234< out.file

Kui ülekanne on *nix *nix süsteemil, st seal ja seal standardsed kommunaalteenused, saate edastusprotsessi kiirendamiseks kasutada tihendamist. Sel juhul näevad käsud välja järgmised:

Nc -l -p 1234 | lahti -c | tar xvfp - // tar cfp saamiseks - /some/dir | suruma -c | nc -w 3 1234 // saatmiseks

Ülejäänud valikud on veelgi lihtsamad, nii et me ei kaalu wgeti, FTP ja muude tuntud meetodite kasutamist.

peitus

Noh, kuidas toimetada, mõtlesin välja. Aga kuidas sa ei saa magama jääda? Kui teie rikkumine avastatakse, veenduge, et lünk suletakse kiiresti. Nii et peate selle paigutama, kompileerima ja käivitama mõnest silmapaistmatust kohast. Linuxis on punktiga algavad kataloogid (nt. salakaust) peidetud. Seetõttu oleks loogiline kasutada neid oma tegevuse varjamiseks. Näiteks pange nendesse ärakasutuskood: /tmp/.nothingthere/exploit.c . Tõsi, sellisel juhul tuleb esmalt veenduda, et tmp on monteeritud ilma noexec-valikuta ja saad sealt käivitada kokkupandud sploiti (selleks kasuta mount käsku).

Ehitage ja käivitage lõhe

Kui oleme sploiti tarninud ja kasutusele võtnud, tuleb see kokku panna/konfigureerida. Reeglina kirjutatakse sploitid C-s või mõnes Python/Perl/PHP skriptikeeles. Regulaarsed lugejad ][ teavad, et kompilaatori serverisse jätmine pole parim Parim otsus, seega lõigatakse see tavaliselt välja. Kui teie küsimus kompilaatori versiooni kohta gcc -v bash vannub gcc: käsk ei leitud, siis on sul "õnnelik" ja peate ringi käima. See tähendab, kas otsige pythonis, perlis või milleski muus sploiti või kompileerige see Virtuaalne masin sama OS-i ja kerneli versiooniga. Seejärel teisaldage saadud täitmisfail sihthosti (ehkki see meetod ei taga sajaprotsendilist tööd, võib see süsteemi kokkujooksda ja krahhi teha, seega olge siin ettevaatlikum). Kuid nagu praktika näitab, peab süsteemis siiski olema ühe nimetatud keele tõlk. Nii et me ei tohiks kohe alla anda, selle asemel kontrollime kõiki võimalusi:

Otsi / -name perl* find / -name python* find / -name gcc* find / -name cc

Kui see õnnestub, peate ainult koostatud ärakasutamise käivitama ja pakkumist nautima. Noh, või et mõista, miks see ei töötanud, siis kui vedas.

Anti-sploit

Siin on raske välja mõelda uuenduslikke retsepte. Kõik on ammu teada. Peate lihtsalt plaastrid õigeaegselt installima. See on esimene. Teine on piirata kohti, kus saab faile täitmiseks käivitada (tmp kaust tuleks kindlasti sellest võimalusest ilma jätta). Noh, rakendage mõnda turvalahendus, nagu grsecurity .

Load, failid, teed ja konfiguratsioonid

Teiseks kategooriaks, mida privileegide eskaleerimisel saab eristada, on meetodid, mis ei ole seotud exploitide kasutamisega, vaid põhinevad valesti seatud õigustega failide otsimisel. Siin, nagu Windowsi puhul, on nipid, aga põhimõtteliselt on tegemist ikkagi sama tööga andmete kogumisel ja analüüsimisel. Tavaliselt on esimene asi, mida teha, otsida faile, mis on kõigile lugemiseks ja kirjutamiseks saadaval:
leia / -perm 2 ! -tüüp l -ls

Neid võib olla üsna palju ja nende hulgast võite leida midagi huvitavat: konfiguratsioonifailid, saidi/rakenduse allikad, skriptid, mida käitavad init või cron. Põhimõtteliselt on olukord, kus fail on lugemiseks ja kirjutamiseks kõigile kättesaadav, normaalne nähtus. Probleemid tekivad siis, kui kasutajad/administraatorid/skriptid hakkavad mõttetult õigusi muutma. Nii et kui muudate õigusi, proovige vältida kasutades chmod 777 . Noh, viige läbi perioodilisi auditeid olulised failid polnud kõigile kättesaadavad.

setid + setgid

Nagu dokumentatsioon ütleb, on setuid ja setgid lubade lipud, mis võimaldavad käivitatavaid faile käivitada käivitatava faili omaniku või rühma (tavaliselt juur) õigustega. Need kõrgendatud õigustega käivitatavad failid pääsevad juurde privilegeeritud teabele. Näiteks kui käsul ls on seatud setuid, saate vaadata nende kataloogide sisu, millele teil algselt juurdepääs keelati. Ja vimi puhul - redigeerida konfiguratsioonifaile, millesse enne seda polnud õigust vaadata.

Seega, kui setuid/setgid lipuga rakendused sisaldavad selliseid turvaauke nagu puhvri ületäitumine või käsusüst, võib ründaja käivitada suvalise koodi kõrgendatud õigustega. Sellepärast järgmine variant otsivad tavaliselt antud lippudega käivitatavaid faile.
sudo find / -xdev \(-perm 4000\) -type f -print0 -exec ls -s () \;

Põhimõtteliselt on see võimalik ilma sudota, see on vajalik ainult kataloogide kontrollimiseks, millele teil pole juurdepääsu.

Selliste edasiseks kasutamiseks on tavaliselt kolm võimalust käivitatavad failid. Esimene on püüda tõsta privileege selle rakenduse pakutavate funktsioonide alusel (või õigemini, mõelda välja oma viis seda funktsiooni ebatavalisel viisil kasutada). Teine võimalus on leida avalik split või viia läbi sõltumatu fuzzing, et tuvastada vigu. Kolmas on käsusüst. Universaalset retsepti pole, kõik sõltub olukorrast.

SUDO

sudo (asendus kasutaja ja do), mis tähendab sõna-sõnalt "kasutaja asendamine ja käivitamine", võimaldab teil delegeerida teatud privilegeeritud ressursse kasutajatele tööprotokolli hooldusega. See tähendab, et see annab kasutajatele võimaluse käivitada käske administraatorina (või teiste kasutajatena), kasutades oma enda parool, mitte juurparool. Juurdepääsuotsuste tegemise reeglid on failis /etc/sudoers. Lisateavet selle faili vormingu ja reeglite seadmise kohta leiate ametlikust juhendist või Vikipeediast. Ütlen vaid, et ka seda faili tuleb hoolikalt kontrollida. Sest sageli juhtub, et mõned rakendused muudavad seda installimise ajal ja pealegi mitte parem pool. Selle tulemusena on kasutajatel võimalus oma privileege tõsta (postitus Offensive security's, mis räägib sellisest juhtumist).

PATH

Nagu Windowsis, aitavad ka Linuxis valesti konfigureeritud teed teie õigusi tõsta. Tavaliselt juhtub see keskkonnamuutuja PATH puhul (kasutage selle vaatamiseks printenv). Vaatasid? Suurepärane, öelge nüüd: mis siis, kui keskkonnamuutuja PATH algab tähega. (.:/bin:/usr/sbin ....)? Tavaliselt teevad seda kasutajad, kes ei soovi sisestada kahte lisamärki, st nad tahavad käsku kutsuda järgmiselt: $ programm asemel $ ./program . Lisa. PATH tähendab võimalust käivitada faile/skripte töökataloogist. Saate selle lisada järgmiselt:

PATH=.:$(PATH) ekspordi PATH

Kujutagem nüüd ette, et meil on kaks kasutajat: Joe (ründaja) ja Bob. Joe teab, et Bobil on sudo-õigused kasutajate paroolide, sealhulgas juurparoolide muutmiseks. Samuti on Bob laisk ja lisatud. keskkonnamuutujale PATH. Sly Joe kirjutab programmi, mis muudab juurparooli, nimetab seda ls-iks ja paneb selle kausta, kuhu Bobile meeldib vaadata. Nüüd, kui viimane siseneb kausta ja soovib selle sisu näha, käivitatakse Joe kirjutatud programm ja muudetakse juurparool. Nii et me kontrollime alati keskkonnamuutujad huvitavate asjade olemasolu ja enda jaoks teeme järgmised järeldused:

  1. Me ei kasuta kunagi. PATH muutujas.
  2. Kui punkt on endiselt alles, asetage see järgmine rida failis .bashrc või .profile:
    PATH= kaja $PATH | sed -e "s/::/:/g; s/:.:/:/g; s/:.$//; s/^://"

Tööriistad

Puuduste otsimise automatiseerimiseks saate kasutada järgmisi tööriistu.

1. LinEnum on bash-skript, mis teeb teie eest ära kogu musta töö, tehes läbi kõik selles petulehel kirjeldatud kontrollid. Kokku on tema arsenalis umbes 65 erinevad kontrollid, alates kerneli versiooni kohta teabe hankimisest kuni potentsiaalselt huvitavate SUID/GUID-failide leidmiseni. Lisaks saab skripti läbida märksõna, mida see otsib kõigist konfiguratsiooni- ja logifailidest. Kontrollimist alustatakse järgmiselt: ./LinEnum.sh -k märksõna -r report -e /tmp/ -t . Pärast skannimise lõppu esitatakse teile üsna üksikasjalik aruanne, mille huvitavamad kohad on kollase värviga esile tõstetud.
2. LinuxPrivChecker – Pythoni skript, mis tuleb kasuks ka võimalike privileegide suurendamise võimaluste otsimisel. Üldiselt täidab see kõiki samu standardseid asju: õiguste kontrollimine, süsteemi kohta teabe hankimine ... Kuid selle peamine omadus on see, et pärast kontrollimist pakub see teile nimekirja ärakasutamistest, mis tema arvates aitavad privileege tõsta. Nii tubli mees :).
3.unix-privesc-check- antud skript võimaldab otsida võimalusi privileegide pumpamiseks mitte ainult Linuxis, vaid ka Solarises, HPUXis, FreeBSD-s. See püüab tuvastada konfiguratsioonivigu, mis võimaldaksid privilegeerimata kasutajal süsteemi ronida.
4. g0tmi1k ajaveeb – see on ajaveeb, mis kirjeldab hästi kõiki kolme nimetatud tööriistaga tehtud kontrolle. Seega soovitan tungivalt sinna vaadata ja tutvuda, et kujutada ette, kuidas need tööriistad “seestpoolt” töötavad.



LinuxPrivChecker sisaldab suur nimekiri exploits, mida uuendatakse pidevalt Exploit Database'iga

Järelsõna

Nagu näete, on Linuxi maailmas ka privileegide eskalatsioon üsna tavaline. Edu saladus on lihtne: eesmärgi saavutamiseks pead olema kannatlik ja teadma, kust otsida ja mida otsida. Kust otsida, nüüd teate ka, milliseid utiliite automatiseerimiseks kasutada, nii et nüüd saate vallutada mitte ainult win-, vaid ka nix-süsteemi. Julge!

root ja sudo kasutaja

GNU/Linuxi süsteemide juurkasutaja on kasutaja, kellel on teie süsteemile administraatorijuurdepääs. Tavakasutajatel pole turvakaalutlustel seda juurdepääsu. Kubuntul pole aga juurkasutajat. Selle asemel antakse administraatorijuurdepääs üksikutele kasutajatele, kes saavad kasutada "sudo" rakendust haldusülesannete täitmiseks. Esiteks Konto süsteemi installimisel loodud vaikimisi pääseb juurde sudo rakendusele. Saate keelata juurdepääsu sudole või anda selle rakenduse abil Kasutajad ja rühmad (Vt "Kasutajad ja rühmad").

Kui käivitate programmi, mis nõuab administraatoriõigusi, palub sudo teil sisestada oma tavaline kasutaja taeva parool. See tagab selle pahatahtlikud rakendused ei saa teie süsteemi kahjustada ja tuletab meelde, mida kavatsete teha haldustoimingud mis nõuavad erilist hoolt!

Sudo kasutamiseks käsureal tippige lihtsalt "sudo" enne käsku, mida soovite käivitada. Pärast seda palub sudo teil sisestada parool.

Sudo jätab teie parooli meelde määra aeg(vaikimisi 15 minutit). See funktsioon võimaldab kasutajatel sooritada suur hulk administratiivsed ülesanded, ilma et peaksite iga kord parooli sisestama.

Tähelepanu

Olge haldusülesannete täitmisel ettevaatlik – võite oma süsteemi sassi ajada!

Mõned näpunäited sudo kasutamiseks:

    Juurkasutaja terminali kasutamiseks tippige käsureale "sudo -i".

    Kogu Kubuntu graafilise konfiguratsiooni utiliitide rühm kasutab juba sudo-d, nii et vajadusel küsitakse rakenduse abil parooli. kdesu, mis on graafiline kest sudo .

    Programmi kohta lisateabe saamiseks sudo ja juurkasutaja puudumine Kubuntus, vaata Ubuntu wiki sudo lehte.

Programmide käsitsi käivitamine juurõigustega

Mõnikord on vaja käivitada programm root õigustega. Seda on dialoogi abil lihtne teha. Käivita käsk .

Tähelepanu

Olge juurõigustega rakenduste käivitamisel ettevaatlik, kuna see võib teie süsteemi sassi ajada. Taga Lisainformatsioon vaadake "Juurkasutaja ja sudo".

    Avage dialoog Käivita käsk vajutades alt -F2

    Sisestage programmi nimi, mida soovite käivitada, eesliide kdesu ja vajutage Sisenema. Näiteks jooksma failihaldur Konqueror root õigustega, tüüp

    1. Kasutades käsku: su

    Paljusid käske saab käivitada ainult superkasutaja, seega peame teadma, kuidas saada administraatoriks. Selleks saame kasutada käsku: su (muuta kasutajat). Käsk su aktsepteerib järgmisi vorminguid:

    kuid enamasti kasutame su kasutajaks saada juur:

    Su - juur

    kui real pole kasutajanime määratud, eeldatakse automaatselt juurkasutajat, nii et käsku saab lühendada:

    kuid mõlemad käsud käituvad erinevalt. "su " annab praegusele kasutajale identiteedi, samas kui "su - " annab praegusele kasutajale identiteedi koos keskkonnaga, mis saadakse kasutajana sisse logides.

    Sageli kasutavad kasutajad juurteks muutmiseks "su". Kui proovite käivitada käsku (näiteks - ifconfig), kuvatakse tõrge: "käsku ei leitud".

    Su Parool: ifconfig bash: ifconfig: käsku ei leitud

    Põhjus on selles, et tavalistel süsteemikasutajatel ja juurkasutajatel on erinevad PATH keskkonnamuutujad (kasutaja PATH-i näete tekstiga "echo $PATH") Pärast tippimist Linuxi käsud, otsib kest kasutaja PATH-i, et proovida leida käivitatavat käsku. See hakkab otsima igast kataloogist PATH, kuni sihtmärk leitakse.

    Tavalised kasutajakäsud asuvad tavaliselt kaustades /usr/local/bin, /usr/bin ja /bin. Ja juurkasutaja käsud asuvad peamiselt /usr/local/sbin, /usr/sbin, /sbin ja juur PATH peegeldab seda. Nii et kui saate "su -" abil superkasutajaks, nõustute sellega ka uus viis PATH põhikäskude juurde. Ja kasutades ainult "su", see salvestatakse kohandatud tee PATH vaikimisi, seega, kui proovite käivitada programmi, mis asub /usr/local/sbin, /usr/sbin, /sbin, on tulemuseks: "käsku ei leitud" viga. Üksikasjalikuma selgituse saamiseks vaadake man-lehte (man bash), eriti sisselogimiskestade jaotist.

    Seega peate määrama käsu täieliku tee (näide - /sbin/ifconfig), kui kasutate "su", või kasutage juurteks muutumisel "su -".

    2. Sudo kasutamine

    Te ei pea olema administraator iga kord, kui soovite mõnda konkreetset haldusfunktsiooni käivitada. Tänu sudo, saate mõnda või kõiki käske käivitada administraatorina. Millal sudo installitud (pakett: sudo), saate selle konfigureerida käsuga "visudo" administraatorina. Põhimõtteliselt redigeerib see (vaikimisi Vim) /etc/sudoers, kuid seda ei soovitata käsitsi teha.

    Alex KÕIK=(KÕIK)KÕIK

    Alex on kasutajanimi. Salvestage (vajutage paoklahvi, seejärel tippige wq) ja oletegi valmis. Logige sisse Alexina ja käivitage näiteks:

    $sudo yumi värskendus

    Sudo küsib parooli. See on Alexi parool, mitte juurkasutaja. Nii et olge ettevaatlik, kui annate kasutajatele sudoga õigusi.

    Kuid Sudo saab teha enamat kui lihtsalt seda. Võime lubada kasutajal või kasutajate rühmal käitada ainult ühte käsku või käskude rühma. Tuleme tagasi oma sudoersi faili juurde. Alustame Alexi ja Alisaga, administraatorirühma liikmetega. Kui tahame, et kõik grupis "administraator" olevad kasutajad saaksid käivitada kõiki käske administraatorina, peame oma näidet muutma:

    %admin KÕIK=(KÕIK)KÕIK

    Alex saab täita ka superkasutaja käsku ning alisale antakse samade õiguste ja parooliga sudo käivitamise õigus. Kui alex ja alisa ei ole sama grupi liikmed, saame sudoers failis määratleda kasutaja aliase:

    User_Alias ADMINS = alisa,alex

    Siin oleme määratlenud aliase nimega ADMINS, mille liikmed on alisa ja alex.

    Kuid me ei taha, et alex ja alisa saaksid käivitada mis tahes programmi administraatorina. Soovime, et nad saaksid käivitada ainult "updatedb". Määratleme käsu pseudonüümi:

    Cmnd_Alias>LOCATE=/usr/sbin/updatedb

    Kuid sellest ei piisa! Peame Sudole ütlema, et ADMININA defineeritud kasutajad saavad käivitada LOCATE antud käske. Selleks asendame read "%admin" järgmistega:

    ADMINIS KÕIK = LOCATE

    See tähendab, et ADMINSi pseudonüümi kasutajad saavad käivitada kõiki aliase LOCATE käske.

    Seekord näeb /etc/sudoers välja selline:

    User_Alias ​​​​ADMINS=alisa, alex Cmnd_Alias ​​​​LOCATE=/usr/bin/updatedb ADMINS ALL=LOCATE

    Selle tulemusel saavad alex ja alisa oma parooli sisestades käivitada updatedb-i administraatorina.

    Kui faili viimast rida muudetakse:

    ADMINS KÕIK = NOPASSWD:LOCATE

    siis saavad alex ja alisa "sudo updatedb" teha ilma parooli sisestamata.

    Saate lisada käsualiasele muid käske ja reeglile rohkem varjunimesid. Näiteks saame luua varjunime NETWORKING, mis sisaldab mõnda võrgukäsklused näiteks: ifconfig, route või 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

    Lisame kõik selle oma /etc/sudoers faili (kasutades visudot!). Samuti anname oma grupile ADMINS õigused käivitada programme VÕRGUSTUSE aliasest:

    User_Alias ADMINS = alice, bob Cmnd_Alias LOCATE = /usr/bin/updatedb Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net , /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool ADMINS KÕIK = LOCATE, NETWORKING

    Väike prooviversioon: logige sisse kui alisa (või Alex) ja tippige:

    $ping -c 10 -i localhost

    Vastus peaks kiiresti tagasi tulema:

    PING localhost.localdomain (127.0.0.1) 56 (84) baiti andmeid. ping: ei saa üle ujutada; kasutajale lubatud minimaalne intervall on 200 ms

    Nüüd sama asi, kuid Sudoga:

    $sudo ping -c 10 -i 0 localhost PING localhost.localdomain (127.0.0.1) 56(84) baiti andmeid. 64 baiti domeenist localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 aeg=0,049 ms (127.0.0.1): icmp_seq=3 ttl=64 aeg=0,021 ms 64 baiti saidilt localhost.1.1:0:0:0 icmp_seq=4 ttl=64 aeg=0,030 ms 64 baiti domeenist localhost.localdomain (127.0.0.1): icmp_seq=5 ttl=64 aeg=0,017 ms 64 baiti domeenist localhost.localdomain (127.0.0.0.1):= 64 baiti domeenist localhost.localdomain (127.0.0.0.1): aeg = 0,016 ms 64 baiti domeenist localhost.localdomain (127.0.0.1): icmp_seq = 7 ttl = 64 aeg = 0,016 ms 64 baiti domeenist localhost.localdomain (127.0.0.1): icmp_seq = 8 ttl. = 61 baiti saidilt localhost.localdomain (127.0.0.1): icmp_seq=9 ttl=64 aeg=0,016 ms 64 baiti saidilt localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 aeg=0,016 ttl. statistika ---do localhost. --- 10 paketti edastatud, 10 vastu võetud, paketikadu 0%, aeg 1ms rtt min/avg/ max/mdev = 0,016/0,023/0,049/0,010 ms, ipg/ewma 0,187/0,028 ms

    sudo sageli ette nähtud teatud kasutajad osaline juurdepääs privilegeeritud käskudele, et nad saaksid täita piiratud haldusfunktsioone. Üks mugavustest sudo et kõik käsud kirjutatakse kausta /var/log/secure. Ülaltoodud näidet kirjeldab logi rida:

    18. aprill 11:23:17 localhost sudo: alex: TTY=pts/0 ; PWD=/kodu/alex ; KASUTAJA=juur ; COMMAND=/bin/ping -c 10 -i 0 localhost

    See on kõik. Nüüd ei unusta ma kunagi, kui kasutasin Sudot: "suure jõuga kaasneb suur vastutus."

    2.1 Sudo kest

    Kui teil on sudoersis piisavalt õigusi, saate avada ka root kest kasutades:

    IN uusimad versioonid ainult CentOS 5 puhul kasutatakse sudo -s shelli käivitamiseks juurfailina. Olge väga ettevaatlik, kuna see võib muuta või luua uusi faile teie juurkataloogis ja installida sinna kodukataloog helistav kasutaja.

    3.konsooli abimees

    Consolehelper on ümbris GUI-rakenduste käitamiseks. Kui see käivitab, kontrollib see vajaliku rakenduse PAM-i konfiguratsiooni. See tähendab, et saame kasutajat kõigiga autentida paigaldatud moodulid PAM. Peamine meetod on parooli küsimine, kuid kui meil on õige varustus. saame autentida kiipkaardi, žetoonide, sõrmejälgede jms abil. PAM-i konfigureerimine ei kuulu selle dokumendi reguleerimisalasse (vt PAM-i administraatori juhendit), seega käsitleme konsooliabi konfiguratsioonietappi, mis on vajalik rakenduste käivitamiseks administraatorina ja juurparooli küsimiseks.

    Näitena seadistame /usr/bin/xterm töötama administraatorina.

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

    Nüüd PAM-i konfigureerimiseks looge fail /etc/pam.d/xterm-root:

    #%PAM-1.0 auth include config-util account include config-util seanss include config-util

    Lõpuks konfigureerige konsoolihelper käivitama /usr/bin/xterm administraatorina käsuga "xterm-root". Looge fail /etc/security/console.apps/xterm-root:

    KASUTAJA=root PROGRAM=/usr/bin/xterm

    See on kõik. Käivitage "xterm-root" (alates käsurida või otsetee .desktop fail), sisestage parool ja minge. Kui kuvatakse tõrketeade: "Xlib: ühenduse loomisest ":0.0" serveri poolt keeldus, käivitage esmalt "xhost local:root".

    |

    Linux on mitme kasutajaga operatsioonisüsteem, mis kasutab failisüsteemi tasemel turvalisuse tagamiseks Unixi privileegide kontseptsiooni. Linuxiga töötades on väga oluline mõista, mis on load ja omandiõigus. See artikkel aitab teil mõista Linuxi kasutajaõigustega seotud põhimõisteid.

    Nõuded

    • Linuxi algoskused.
    • Linuxi server (valikuline).

    Linuxi kasutajad

    Kuna Linux on mitme kasutajaga süsteem, on oluline mõista, kuidas kasutajad ja rühmad töötavad. Vaatleme neid mõisteid üksikasjalikumalt.

    Linuxis on kahte tüüpi kasutajaid: süsteemne ja tavaline. Süsteemi kasutajad on mõeldud teostama mitteinteraktiivseid ja taustaprotsessid, ja tavakasutajad vastutavad interaktiivsete ülesannete täitmise eest. Esimest korda Linuxi süsteemi sisse logides olete võib-olla märganud, et see käivitab paljud süsteemikasutajad, kes omakorda käivitavad erinevaid teenuseid millest süsteem sõltub.

    Kõigi süsteemi kasutajate nägemiseks kontrollige faili /etc/passwd. Iga rida selles failis sisaldab teavet selle kohta üksikkasutaja, alustades kasutajanimega (enne esimest koolonit). Faili sisu kuvamiseks ekraanil tippige:

    superkasutaja

    Lisaks kahele peamisele Linuxi kasutajatüübile on olemas ka superkasutaja ehk root. See kasutaja saab alistada teiste kasutajate õigused failidele ja piirata juurdepääsu. Põhimõtteliselt on superkasutajal juurdepääsuõigused kõigile serveris olemasolevatele failidele. Sellel kasutajal on õigus teha süsteemiüleseid muudatusi, kuna tema turvalisus on serveri enda turvalisuse jaoks väga oluline.

    Samuti saate konfigureerida teisi kasutajaid superkasutaja õigusi täitma. Selleks tuleb tavakasutajale anda juurdepääs sudo käsule. Serveri administraatori igapäevatöös on soovitatav kasutada just sellist laiendatud õigustega kontot, kuna juurt kasutades peal alaline alus ohtlik ja võib süsteemi hävitada.

    Linuxi rühmad

    Grupid on 0 või enama kasutaja kogud. Kasutaja kuulub vaikegruppi ja võib olla ka mõne muu grupi liige.

    Kõigi saadaolevate rühmade ja nende liikmete loendite vaatamiseks avage /etc/group.

    Faili omandi- ja juurdepääsuõigused

    Linuxis kuulub iga fail ühele kasutajale ja ühele rühmale ning on individuaalsed seaded juurdepääs.

    Õiguste vaatamiseks kasutatakse käsku ls. Sellel on pikk valikute loend (nt ls -l myfile). Failidele juurdepääsu seadete vaatamiseks praegune kataloog, käivitage käsk ilma argumentideta:

    Kataloogi /etc sisu päringu tegemiseks tippige:

    Väljundi esimene veerg näitab faili juurdepääsurežiimi, teine ​​ja kolmas veerg sisaldavad kasutajanime ja rühma, neljandas veerus faili suurus ja viiendas veerus faili kuupäev. viimane muudatus, viimane veerg on faili nimi.

    Üldiselt on käsu ls väljundit üsna lihtne mõista, välja arvatud võib-olla esimene veerg, mis kirjeldab failiõigusi. See näeb välja umbes selline:

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

    Et mõista, mida need tähed ja sidekriipsud tähendavad, jagame veeru sisu selle komponentideks. Ülaltoodud näite esimese rea võib jagada järgmistesse kategooriatesse:

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

    • d – failitüübi väli.
    • rwx(1) – faili omava kasutaja õigused.
    • rwx(2) - omanike rühma õigused.
    • rwx(3) - teiste kasutajate õigused.

    Failitüübid

    Linuxis on kahte peamist tüüpi faile: tavaline ja eriline.

    Tavalised failid tuvastatakse tüübiväljal sidekriipsuga. Tavalised failid on lihtsad failid kuhu saab andmeid salvestada.

    Fail on eriline, kui tüübiväli sisaldab tähte. Selliseid faile töödeldakse operatsioonisüsteem erinevalt tavafailidest. Sümbol failitüübi väljal näitab, millist tüüpi spetsiaalsed failid kehtib konkreetne fail. Kõige tavalisem erifail on kataloog (või kataloog) ja seda tähistab sümbol d (nagu ülaltoodud näites). IN Linuxi süsteem Erifaile on mitut tüüpi, kuid see teema jääb selle artikli reguleerimisalast välja.

    Juurdepääsuklassid

    Nagu varem mainitud, on igal failil seaded kolm kategooriat(või klasside) juurdepääs:

    1. kasutaja – faili omanik;
    2. grupp – faili omanik (sellesse klassi kuuluvad kõik grupi liikmed, mille liige on kasutaja – faili omanik);
    3. ja teised kasutajad (sellesse klassi kuuluvad kõik kasutajad, kes ei kuulu eelmistesse klassidesse).

    Seda õiguste järjekorda järgivad kõik Linuxi distributsioonid.

    Juurdepääsu tüübid

    • r (lugemine) - faili lugemise õigus,
    • w (kirjutamine) - õigus muuta (redigeerida),
    • x (käivita) - kandideerimisõigus (mõnes erilistel puhkudel x asemel võib kasutada teist märki).

    Kui märgi asemel on sidekriips, siis antud klass ei oma vastavaid juurdepääsuõigusi. Näiteks:

    Sel juhul on faili omaval kasutajal ja rühmal kõik juurdepääsuõigused ning juurdepääs failile on teistele kasutajatele täielikult suletud.

    Vaatame lähemalt, mida iga juurdepääsutüüp täpselt annab.

    Märge: Tavapärase juurdepääsu tagamiseks failidele ja kataloogidele kasutatakse juurdepääsutüüpe sageli üksteisega kombineerituna.

    Faili lugemise luba

    Tavafaili lugemise õigus on võimalus vaadata selle sisu.

    Kataloogi lugemisõigus võimaldab kasutajal vaadata sellesse salvestatud failide nimesid.

    Õigus faili muuta

    Tavafaili puhul annab see õigus kasutajale võimaluse faili sisu muuta või see kustutada.

    Kui kasutajal on õigus kataloogi muuta, saab ta kataloogi kustutada, selle sisu muuta (st luua, ümber nimetada või kustutada selles olevaid faile) ja sinna salvestatud failide sisu.

    Käivitage paremale

    Selle õigusega saab kasutaja joosta tavaline fail, kuid see vajab ka antud faili lugemisõigusi. Käivitamisõigused peavad olema seatud väärtusele käivitatavad programmid ja shelliskriptid.

    Kui kasutajal on õigus kataloogi käivitada, saab ta seda kataloogi lugeda ja pääseda juurde salvestatud failide metaandmetele.

    Privileegide näited

    Vaatame nüüd mõnda kasulikku levinud näited faili õigused.

    • -rw——-: failile on juurdepääs ainult kasutajal, kellele fail kuulub.
    • -rwxr-xr-x: iga süsteemi kasutaja saab sellist faili käitada.
    • -rw-rw-rw-: igal süsteemi kasutajal on õigus sellist faili muuta.
    • drwxr-xr-x: seda kataloogi saavad lugeda kõik süsteemi kasutajad.
    • drwxrwx—: kataloogi sisu saavad lugeda ja muuta ainult kasutaja ja omanikrühm.

    Nagu näete, on faili omanikul tavaliselt failile täielikud õigused (või vähemalt, omab rohkem õigusi kui teistel klassidel). Turvakaalutlustel peaksid failid olema kättesaadavad ainult neile kasutajatele, kes vajavad neile teatud põhjusel juurdepääsu.

    Lubade kombinatsioone on palju, kuid ainult mõned neist on igal juhul kasulikud. Näiteks on muutmis- ja käitamisõigused peaaegu alati ühendatud faili lugemisõigustega, kuna faili on raske muuta ja seda ei saa ilma lugemisõigusteta käivitada.

    Märge: Lubade muutmise kohta lisateabe saamiseks lugege . See puudutab kasutamist chown käske, chgrp ja chmod.

    Järeldus

    Olete nüüd tuttav õiguste ja omandiõiguse põhikontseptsioonidega Linuxi keskkonnas.

    Sildid:

    Nagu teate, suhtub Linux kasutajate haldamisse ja neile süsteemiga töötamiseks õiguste andmisse väga tõsiselt. Tavakasutaja saab faile kirjutada ainult enda kataloogi ja /tmp/ kataloogi. Mõningaid faile on võimalik lugeda ka juurfailis failisüsteem. Kuid te ei saa programme installida, kuna see nõuab kirjutamisõigust, te ei saa muuta faili atribuute, te ei saa teenuseid käivitada, te ei saa lugeda mõnda logifaili ja te ei saa palju muud teha.

    Linuxis saab juurfailisüsteemis faile hallata ja luua ainult juurkasutaja.

    Selles artiklis vaatleme, milliseid programme on juurõiguste saamiseks vaja. linuxi kasutaja kuidas need töötavad, kuidas käivitada programmi tavakasutajana administraatorina ja kuidas käivitada graafilised programmid juurõigustega. Ja uurige ka, mis on sudo, mis vahe on su ja sudo vahel.

    Väga pikk on loetleda, mida tavaline Linuxi kasutaja ei saa, lihtsam on öelda, milleks tal on õigus, nimelt millal standardseadistus failiõigused Linuxis, saab tavaline kasutaja:

    • Lugege, kirjutage ja muutke oma kataloogi failiatribuute
    • Lugege, kirjutage, muutke failiatribuute /tmp kataloogis
    • Käivitage programme, kus noexec lipu kasutamine pole keelatud
    • Lugege faile, mille lugemislipp on määratud kõigile kasutajatele.

    Kui meil on vaja midagi enamat teha, vajame Linuxi juurkasutaja õigusi. Rootil on õigus teie failisüsteemis kõike teha, olenemata failile seatud õigustest.

    Superkasutaja sisselogimine

    Juurkasutaja kasutajana sisselogimiseks võite lülituda ühele virtuaalkonsoolidest, kasutades selleks näiteks kiirklahvi Ctrl+Alt+F1 ning seejärel sisestage juurkasutaja juurkasutajanimi ja parool.

    Saate täieliku juurkeskkonna, mis võimaldab kõiki toiminguid teha, kuid see viis on väga ebapraktiline, kuna kaotate kõik graafilise liidese kasutamise eelised.

    Saate teha täiesti vastupidist, sisestage graafilisse sisselogimishaldurisse juurkasutaja kasutajanimi ja parool, nii et töölauakeskkond töötaks administraatorina ja saame kõik õigused root linux, kuid see valik pole väga soovitatav ja väga ohtlik, võite kogemata kogu süsteemi kahjustada. Seetõttu on see meetod paljudes sisselogimishaldurites keelatud.

    Lülitu terminalis superkasutajale

    Nüüd jõuame millegi huvitavama ja praktilisema juurde. Spetsiaalsete utiliitide abil saate lülitada praeguse terminali emulaatori superkasutaja keskkonda ja täita kõik järgmised käsud mitte teie, vaid tema nimel, andes nii programmile juur-linuxi õigused. Selleks on olemas utiliit. Üldiselt võimaldab see utiliit lülituda mitte ainult juurkasutajale, vaid ka mis tahes muule kasutajale, kuid vaikimisi kasutatakse root kasutajat. Vaatleme seda üksikasjalikumalt. Su linux käsul on järgmine süntaks:

    $ su valikute kasutaja

    Siin on selle peamised valikud:

    • -c, --käsk- täitke käsk
    • -g, --rühm- määrake kasutaja esmane rühm (ainult root jaoks)
    • -G --supp-grupp- täiendavad kasutajarühmad (ainult root jaoks)
    • -, -l, --login- sisselogimisrežiim, kõik keskkonnamuutujad kustutatakse ja lähtestatakse uut kasutajat silmas pidades ning kodukataloogi muudetakse
    • -p, --säilita-keskkond
    • -s, --shell- määrake sisselogimiskesta
    • -- versioon- kuvada programmi versioon.

    Nüüd katsetame veidi, et mõista, kuidas käsk su linux töötab.

    Esmalt käivitame su ilma suvanditeta, kuid esmalt loome keskkonnamuutuja, et kontrollida, kuidas see käsk neid käsitleb:

    Nüüd teostame:

    Vaatame nüüd, mis juhtus:

    kes ma olen
    $pwd
    $ kaja $VAR
    $ kaja $PATH
    $väljapääs

    Nendest käskudest näeme, et oleme nüüd juurkasutaja, kuid meie kataloog eelmine kasutaja ja meie muutujat ei salvestatud, muutus ka PATH muutuja, nüüd lisatakse sinna tee / sbin.

    Nüüd kasutame sisselogimisrežiimi sisselogimist:

    Ja korrake sama kombinatsiooni:

    kes ma olen
    $pwd
    $ kaja $VAR
    $ kaja $PATH
    $väljapääs

    Sama olukord, ainult seekord muutus kõigeks muuks ja kodukataloog peal juurkataloog. Kuid vajadusel saame oma keskkonnamuutujad salvestada, selleks on valik -p:

    Nagu näete, on meie muutuja jäänud. Samuti saate lülituda mõnele teisele kasutajale. Näiteks:

    Sel viisil juurõiguste hankimist kasutatakse paljudes distributsioonides, näiteks Debian, OpenSUSE, ArchLINux, Gentoo jne. Kuid Ubuntus, kui algajate distributsioonis, on root sisselogimine keelatud. Seda tehakse seetõttu, et see pole ka väga turvaline, võid unustada, et täidad käsku administraatorina ja süsteemiga midagi ette võtta. Liigume siis järgmise programmi juurde.

    Juurõiguste hankimine ilma ümberlülitamiseta

    Kõige turvalisema liidese rakendamiseks superkasutaja õigustega töötamiseks Linuxis töötati välja käsk sudo. Vaatame, mis on sudo. See käsk kirjutatakse enne iga käsku, mis tuleb superkasutaja nimel täita, ja selle täitmiseks peate sisestama parooli mitte enam root, vaid ainult oma kasutaja. Nagu eelmiselgi, on sellel utiliidil oma valikud. Vaatame kõigepealt süntaksit:

    $ sudo suvandite käsk

    Programmi valikud:

    • -b- käivitage käivitatud utiliit taustal
    • -E- säästa keskkonnamuutujaid
    • -g- käivitage rühmast käsk
    • -H- kasutage kodukataloogi
    • -l- kuvab praeguse kasutaja sudo õiguste loendi
    • -r- kasutage käsu jaoks SELinuxi rolli
    • -s- kasutage kesta
    • -u- käivitage käsk kasutajana, kui seda pole määratud, kasutage root
    • -i- ärge käivitage käsku, vaid sisestage shell, mis on samaväärne su-ga -

    Saate selle käsuga teha samu katseid, et mõista, kuidas käsku sudo kasutada. Näiteks:

    Sudo kasutamine on soovitatav viis käskude käivitamiseks Linuxis juurkasutajana. Nii et te ei unusta seda, millega te tegelete, ja väikseima süsteemi kahjustamise riski. Kuid veel üks lahendamata küsimus jääb – kuidas sellega toime tulla graafilised utiliidid? Sudo käsk ju ei käivita neid, vaid jookseb graafiline kest kuna root ei ole ohutu. Seda me järgmisena kaalume.

    Graafilised rakendused superkasutajana

    Graafiliste rakenduste käitamiseks superkasutaja nimel on olemas spetsiaalsed kommunaalteenused. Nad säilitavad kõik vajalikud keskkonnamuutujad ja õigused. KDE-s on see käsk kdesu ja Gnome'is käsk gksu.

    Tippige lihtsalt gksu või kdesu, millele järgneb soovitud käsk:

    See käsk käivitab KDE failihalduri administraatorina. Gnome'is näeb see välja järgmine:

    Programm küsib juba graafikaaknas parooli ja seejärel avaneb failihaldur.

    järeldused

    See on kõik. Nüüd teate, kuidas saada Linuxis superkasutaja õigusi, teate, kuidas kasutada käsku sudo ja mis vahe on sudo ja su vahel. Nüüd ei tekita süsteemis lisaõigusi nõudvad programmid teile probleeme. Kui teil on küsimusi, kirjutage kommentaaridesse!