Dodajanje uporabnika ubuntu. Upravljanje uporabnikov. SSH dostop blokiranih uporabnikov

Upravljanje uporabnikov je ključni del vzdrževanja varnega sistema. Neučinkovito upravljanje uporabnikov in privilegijev pogosto povzroči ogrožanje številnih sistemov. Zato je pomembno, da razumete, kako lahko zaščitite svoj strežnik s preprostimi in učinkovitimi tehnikami upravljanja uporabniških računov.

Razvijalci Ubuntuja so se vestno odločili, da bodo skrbniški korenski račun privzeto onemogočili v vseh namestitvah Ubuntuja. To ne pomeni, da je bil korenski račun izbrisan ali da do njega ni mogoče dostopati. Prejel je samo geslo, ki se ne ujema z nobeno možno šifrirano vrednostjo, zato se sam ne more prijaviti neposredno.

Namesto tega se uporabnike spodbuja, da uporabijo orodje z imenom sudo za izvajanje sistemskih skrbniških nalog. Sudo dovoljuje pooblaščenemu uporabniku, da začasno poveča svoje privilegije z lastnim geslom, namesto da bi moral vedeti geslo, ki pripada korenskemu računu. Ta preprosta, a učinkovita metodologija zagotavlja odgovornost za vsa dejanja uporabnika in daje skrbniku natančen nadzor nad tem, katera dejanja lahko uporabnik izvaja z omenjenimi privilegiji.

    Če iz nekega razloga želite omogočiti korenski račun, mu preprosto vnesite geslo:

    Konfiguracije s korenskimi gesli niso podprte.

    sudo passwd

    Sudo vas bo pozval k vnosu gesla, nato pa vas bo prosil, da vnesete novo geslo za root, kot je prikazano spodaj:

    Geslo za uporabniško ime: (vnesite svoje geslo) Vnesite novo geslo za UNIX: (vnesite novo geslo za root) Ponovno vnesite novo geslo za UNIX: (ponovite novo geslo za root) passwd: geslo je uspešno posodobljeno

    Če želite onemogočiti geslo korenskega računa, uporabite naslednjo sintakso passwd:

    sudo passwd -l root

    Če želite onemogočiti sam korenski račun, uporabite naslednji ukaz:

    usermod --expiredate 1

    Več o Sudo bi morali prebrati tako, da preberete stran z navodili:

    človek sudo

Privzeto je začetni uporabnik, ki ga ustvari namestitveni program Ubuntu, član skupine "sudo", ki je dodana v datoteko /etc/sudoers kot pooblaščeni uporabnik sudo. Če želite kateremu koli drugemu računu dati popoln korenski dostop prek sudo, ga preprosto dodajte v skupino sudo.

Dodajanje in brisanje uporabnikov

Postopek za upravljanje lokalnih uporabnikov in skupin je preprost in se zelo malo razlikuje od večine drugih operacijskih sistemov GNU/Linux. Ubuntu in druge distribucije, ki temeljijo na Debianu, spodbujajo uporabo paketa "adduser" za upravljanje računa.

    Če želite dodati uporabniški račun, uporabite naslednjo sintakso in sledite pozivom, da računu dodelite geslo in prepoznavne lastnosti, kot so polno ime, telefonska številka itd.

    sudo adduser uporabniško ime

    Če želite izbrisati uporabniški račun in njegovo primarno skupino, uporabite naslednjo sintakso:

    uporabniško ime sudo deluser

    Z brisanjem računa ne odstranite njihove domače mape. Od vas je odvisno, ali želite mapo izbrisati ročno ali jo obdržati v skladu z želenimi pravilniki o hrambi.

    Ne pozabite, da bo imel vsak pozneje dodan uporabnik z enakim UID/GID kot prejšnji lastnik dostop do te mape, če niste sprejeli potrebnih varnostnih ukrepov.

    Morda boste želeli spremeniti te vrednosti UID/GID v nekaj bolj primernega, kot je korenski račun, in morda celo prestaviti mapo, da se izognete prihodnjim konfliktom:

    sudo chown -R root:root /home/uporabniško ime/ sudo mkdir /home/archived_users/ sudo mv /home/uporabniško ime /home/archived_users/

    Če želite začasno zakleniti ali odkleniti uporabniški račun, uporabite naslednjo sintakso:

    sudo passwd -l uporabniško ime sudo passwd -u uporabniško ime

    Če želite dodati ali izbrisati prilagojeno skupino, uporabite naslednjo sintakso:

    sudo addgroup ime skupine sudo delgroup ime skupine

    Če želite dodati uporabnika v skupino, uporabite naslednjo sintakso:

    sudo adduser uporabniško ime ime skupine

Varnost uporabniškega profila

Ko je ustvarjen nov uporabnik, pripomoček adduser ustvari popolnoma nov domači imenik z imenom /home/username. Privzeti profil je oblikovan po vsebini, najdeni v imeniku /etc/skel, ki vključuje vse osnove profila.

Če bo vaš strežnik dom za več uporabnikov, bodite zelo pozorni na dovoljenja domačega imenika uporabnikov, da zagotovite zaupnost. Domači imeniki uporabnikov v Ubuntuju so privzeto ustvarjeni s svetovnimi dovoljenji za branje/izvrševanje. To pomeni, da lahko vsi uporabniki brskajo in dostopajo do vsebin domačih imenikov drugih uporabnikov. To morda ni primerno za vaše okolje.

    Če želite preveriti dovoljenja za domači imenik vašega trenutnega uporabnika, uporabite naslednjo sintakso:

    ls -ld /domače/uporabniško ime

    Naslednji izhod kaže, da ima imenik /home/username dovoljenja, berljiva vsemu svetu:

    drwxr-xr-x 2 uporabniško ime uporabniško ime 4096 2007-10-02 20:03 uporabniško ime

    Svetovna dovoljenja za branje lahko odstranite z naslednjo sintakso:

    sudo chmod 0750 /domača stran/uporabniško ime

    Nekateri ljudje običajno uporabljajo rekurzivno možnost (-R) brez razlikovanja, ki spremeni vse podrejene mape in datoteke, vendar to ni potrebno in lahko prinese druge neželene rezultate. Že sam nadrejeni imenik zadostuje za preprečevanje nepooblaščenega dostopa do česar koli pod nadrejenim.

    Veliko bolj učinkovit pristop k zadevi bi bil spreminjanje globalnih privzetih dovoljenj adduser pri ustvarjanju uporabniških domačih map. Preprosto uredite datoteko /etc/adduser.conf in spremenite spremenljivko DIR_MODE v nekaj primernega, tako da bodo vsi novi domači imeniki prejeli pravilna dovoljenja.

    Ko popravite dovoljenja za imenik s katero koli od prej omenjenih tehnik, preverite rezultate z naslednjo sintakso:

    ls -ld /domače/uporabniško ime

    Spodnji rezultati kažejo, da so bila dovoljenja, ki jih je mogoče prebrati v svetu, odstranjena:

    drwxr-x--- 2 uporabniško ime uporabniško ime 4096 2007-10-02 20:03 uporabniško ime

Politika gesel

Politika močnega gesla je eden najpomembnejših vidikov vaše varnostne drže. Številne uspešne kršitve varnosti vključujejo preproste napade s surovo silo in slovarske napade na šibka gesla. Če nameravate ponuditi kakršno koli obliko oddaljenega dostopa, ki vključuje vaš lokalni sistem gesel, poskrbite, da boste ustrezno upoštevali minimalne zahteve glede zapletenosti gesel, največjo življenjsko dobo gesel in pogoste revizije vaših sistemov za preverjanje pristnosti.

Najmanjša dolžina gesla

Ubuntu privzeto zahteva minimalno dolžino gesla 6 znakov, pa tudi nekaj osnovnih preverjanj entropije. Te vrednosti se nadzorujejo v datoteki /etc/pam.d/common-password, ki je opisana spodaj.

geslo pam_unix.so nejasno sha512

Če želite prilagoditi najmanjšo dolžino na 8 znakov, spremenite ustrezno spremenljivko na min=8. Sprememba je opisana spodaj.

geslo pam_unix.so nejasno sha512 minlen=8

Osnovna preverjanja entropije gesla in pravila o najmanjši dolžini ne veljajo za skrbnika, ki uporablja ukaze na ravni sudo za nastavitev novega uporabnika.

Potek gesla

Ko ustvarjate uporabniške račune, morate določiti politiko, da imate najnižjo in najvišjo starost gesla, ki uporabnike prisili, da spremenijo svoja gesla, ko potečejo.

    Za enostaven ogled trenutnega stanja uporabniškega računa uporabite naslednjo sintakso:

    sudo chage -l uporabniško ime

    Spodnji izhod prikazuje zanimiva dejstva o uporabniškem računu, in sicer, da ni uporabljen noben pravilnik:

    Zadnja sprememba gesla: 20. januar 2015 Geslo poteče: nikoli Geslo neaktivno: nikoli Račun poteče: nikoli Najmanjše število dni med spremembo gesla: 0 Največje število dni med spremembo gesla: 99999 Število dni opozorila pred potekom gesla: 7

    Če želite nastaviti katero koli od teh vrednosti, preprosto uporabite naslednjo sintakso in sledite interaktivnim pozivom:

    sudo spremeni uporabniško ime

    Sledi tudi primer, kako lahko ročno spremenite izrecni datum poteka (-E) na 31. 1. 2015, minimalno starost gesla (-m) 5 dni, največjo starost gesla (-M) 90 dni, neaktivnost obdobje (-I) 5 dni po poteku gesla in opozorilno obdobje (-W) 14 dni pred potekom gesla:/home/uporabniško ime/.ssh/authorized_keys.

    Odstranite ali preimenujte imenik .ssh/ v uporabnikovi domači mapi, da preprečite nadaljnje zmožnosti preverjanja pristnosti SSH.

    Ne pozabite preveriti morebitnih povezav SSH s strani onemogočenega uporabnika, saj je možno, da ima obstoječe vhodne ali odhodne povezave. Ubijte vse, ki jih najdete.

    kdo | grep uporabniško ime (za pridobitev terminala pts/#) sudo pkill -f pts/#

    Omejite dostop do SSH samo na uporabniške račune, ki bi ga morali imeti. Na primer, lahko ustvarite skupino z imenom "sshlogin" in dodate ime skupine kot vrednost, povezano s spremenljivko AllowGroups, ki se nahaja v datoteki /etc/ssh/sshd_config.

    AllowGroups sshlogin

    Nato dodajte dovoljene uporabnike SSH v skupino "sshlogin" in znova zaženite storitev SSH.

    sudo adduser uporabniško ime sshlogin sudo systemctl znova zaženite sshd.service

    Preverjanje pristnosti zunanje uporabniške baze podatkov

    Večina omrežij podjetij zahteva centralizirano preverjanje pristnosti in nadzor dostopa za vse sistemske vire. Če ste strežnik konfigurirali za preverjanje pristnosti uporabnikov v zunanjih bazah podatkov, ne pozabite onemogočiti uporabniških računov tako zunaj kot lokalno. Na ta način zagotovite, da lokalno nadomestno preverjanje pristnosti ni mogoče.

V tej vadnici si bomo ogledali, kako izbrisati uporabnika Linuxa skupaj z njegovimi podatki in domačim imenikom.

Če ste sistemski skrbnik v velikem podjetju, potem je brisanje uporabnikov Linuxa za vas najverjetneje precej pogosta naloga. Ko račun postane nepotreben ali uporabnik zapusti organizacijo, je treba njegov račun izbrisati, da ne pušča varnostnih lukenj.

Pri brisanju uporabnikov Linuxa je pomembno tudi, da izbrišete njihov domači imenik, da sprostite prostor za shranjevanje novih uporabnikov in njihovih datotek. Najprej si bomo ogledali, kako izbrisati uporabnika Linuxa s pomočjo terminala, nato pa bomo govorili o tem, kako se to naredi v grafičnem vmesniku ene najbolj priljubljenih distribucij - Ubuntu.

Za nekaj vaje v resničnem okolju ustvarimo dva uporabnika, lost in lost1, skupaj z njunima domačima imenikoma in ju nato izbrišemo:

izguba adduserja
$ geslo izgubljeno

adduser lost1
$passwd lost1

Tu se ukaz adduser uporablja za ustvarjanje uporabniškega računa in passwd za ustvarjanje gesla.

Poglejmo, kako izbrisati uporabnika Linuxa v terminalu. Če želite to narediti, uporabite ukaz - deluser v debian in izpeljanih sistemih ter v RedHatu - userdel. Oglejmo si podrobneje ta dva pripomočka.

Opis deluserja

Sintaksa ukaza deluser je zelo preprosta:

$deluser parametri uporabnik

Nastavitve ukaza deluser se nahajajo v datoteki /etc/deluser.conf; med drugimi nastavitvami določa, kaj je treba narediti z uporabnikovo domačo mapo in datotekami.

Te nastavitve si lahko ogledate in spremenite tako, da zaženete ukaz:

vi /etc/deluser.conf

Oglejmo si te nastavitve podrobneje:

  • REMOVE_HOME- brisanje uporabnikovega domačega imenika
  • REMOVE_ALL_FILES- izbrišite vse uporabniške datoteke
  • REZERVA- varnostno kopiranje uporabniških datotek
  • BACKUP_TO- rezervna mapa
  • SAMO_ČE_PRAZNO- izbrišite skupino uporabnikov, če je prazna.

Te nastavitve določajo privzeto vedenje pripomočka pri brisanju uporabnika in jih je mogoče preglasiti s parametri za ukaz.

Podprti so naslednji parametri, ki so podobni nastavitvam, vendar je na voljo več možnosti:

  • -- sistem- izbrišite le, če je sistemski uporabnik
  • --rezerva- narediti varnostno kopijo uporabniških datotek
  • --backup-to- mapa za varnostne kopije
  • --odstrani-domov- brisanje domače mape
  • --odstrani-vse-datoteke- izbrisati vse uporabniške datoteke v datotečnem sistemu

Opis uporabnika

Pripomoček userdel deluje nekoliko drugače, tukaj ni nastavitvene datoteke, obstajajo pa možnosti, s katerimi lahko pripomočku poveste, kaj naj naredi. Sintaksa je podobna:

$ userdel parametri uporabnik

  • -f, --sila- prisilno brisanje, tudi če je uporabnik še prijavljen
  • -r, --odstrani- brisanje uporabnikovega domačega imenika in njegovih datotek v sistemu.
  • -Z- izbrišite vse objekte SELinux za tega uporabnika.

Če želite odstraniti uporabnika s strežnika, je bolje uporabiti napredno metodo, ki jo bomo obravnavali spodaj. Ko uporabniki uporabljajo strežnik, zaženejo različne programe in storitve. Uporabnika lahko pravilno izbrišemo le, če ni prijavljen na strežnik in so vsi programi, ki tečejo v njegovem imenu, ustavljeni, saj lahko programi uporabljajo različne datoteke, ki pripadajo uporabniku, kar bo preprečilo njihov izbris. V skladu s tem uporabniške datoteke ne bodo popolnoma izbrisane in bodo še naprej zamašile sistem.

Blokiranje uporabniškega računa

Za zaklepanje uporabniškega računa lahko uporabite pripomoček passwd. To bo uporabniku onemogočilo dostop do sistema in preprečilo zagon novih procesov:

Zaženite ukaz passwd z možnostjo --lock:

passwd --lock lost

passwd: podatki o poteku gesla so bili spremenjeni.

Ubij vse tekoče uporabniške procese

Zdaj pa poiščimo vse procese, ki se izvajajo kot uporabnik, in jih ubijmo.

Poiščimo procese z uporabo pgrep:

Podrobneje si lahko ogledate, kaj so ti procesi, tako da posredujete pid vsakega od njih ukazu ps, takole:

ps -f --pid $(pgrep -u lostt)

UID PID PPID C STIME TTY STAT TIME CMD
lostt 14684 14676 0 22:15 pts/2 S 0:00 -bash
lostt 14735 14684 0 22:15 pts/2 S+ 0:00 vi besedilo

Zdaj, ko ste se prepričali, da tam ni nič pomembnega, lahko ubijete vse procese z ukazom killall:

Killall -9 -u lost

Možnost -9 pove programu, naj tem procesom pošlje zaključni signal SIGKILL, -u pa podaja uporabniško ime.

V sistemih, ki temeljijo na Red Hat, morate za uporabo killall namestiti paket psmisc:

sudo yum namestite psmisc

Varnostno kopiranje uporabniških podatkov

To sploh ni nujno, vendar za resen projekt ne bi bilo slabo ustvariti varnostne kopije uporabnikovih datotek, še posebej, če so tam pomembne datoteke. Če želite to narediti, lahko uporabite na primer pripomoček tar:

tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst

Brisanje uporabniškega računa

Zdaj, ko je vse pripravljeno, začnimo z brisanjem uporabnika Linuxa. Za vsak slučaj bomo izrecno navedli, da moramo izbrisati uporabnikove datoteke in domači imenik. Za Debian:

deluser --remove-home lostt

userdel --odstrani lostt

Če morate odstraniti vse datoteke, ki pripadajo uporabniku v sistemu, uporabite možnost --remove-all-files, le bodite previdni z njo, saj lahko pomembne datoteke prepišete:

deluser --remove-all-files lost

Uporabnik je zdaj popolnoma odstranjen iz vašega sistema, skupaj z njegovimi datotekami in domačim imenikom.

Odstranjevanje uporabnika v Ubuntuju

Odprto Sistemski parametri:

Odpri predmet Računi:

Kot lahko vidite, vsa dejanja trenutno niso na voljo in so zatemnjena. Če jih želite aktivirati, kliknite gumb odkleniti in vnesite uporabniško geslo.

Zdaj, če želite izbrisati uporabnika v Linuxu, ga preprosto kliknite z miško in nato kliknite ikono minus.

V oknu, ki se odpre, lahko izberete, kaj želite narediti z uporabniškimi datotekami:

Seveda bo izbrisana samo domača mapa, ne govorimo o vseh datotekah. In za pravilno odstranitev uporabnik ne sme delati v sistemu.

zaključki

Brisanje uporabnika v Linuxu ni tako težko, ne glede na to, kje je to treba storiti, na strežniku ali domačem računalniku. Seveda je grafični vmesnik bolj priročen, vendar terminal kot vedno ponuja več možnosti. Če imate še kakšno idejo o tem, pustite komentar!

Operacijski sistem Linux ima veliko odličnih varnostnih funkcij, vendar je ena najpomembnejših sistem dovoljenj za datoteke. Linux kot privrženec ideologije jedra Linux je bil za razliko od Windows prvotno zasnovan kot večuporabniški sistem, zato so pravice dostopa do datotek v Linuxu zelo dobro premišljene.

In to je zelo pomembno, saj bi lokalni dostop do datotek za vse programe in vse uporabnike omogočil virusom, da enostavno uničijo sistem. Toda nove uporabnike lahko nova dovoljenja za datoteke v Linuxu zmedejo, saj se zelo razlikujejo od tega, kar smo vajeni videti v sistemu Windows. V tem članku bomo poskušali razumeti, kako dovoljenja za datoteke delujejo v Linuxu, pa tudi, kako jih spremeniti in nastaviti.

Sprva je imela vsaka datoteka tri parametre dostopa. Tukaj so:

  • Branje- omogoča sprejem vsebine datoteke, ne dovoljuje pa pisanja. Za imenik vam omogoča, da dobite seznam datotek in imenikov, ki se nahajajo v njem;
  • Zapis- omogoča pisanje novih podatkov v datoteko ali spreminjanje obstoječih, omogoča pa tudi ustvarjanje in spreminjanje datotek in imenikov;
  • Izvedba- ne morete izvesti programa, če nima zastavice za izvajanje. Ta atribut je nastavljen za vse programe in skripte; z njegovo pomočjo lahko sistem razume, da je treba to datoteko zagnati kot program.

A vse te pravice bi bile nesmiselne, če bi veljale za vse uporabnike hkrati. Zato ima vsaka datoteka tri kategorije uporabnikov, za katere lahko nastavite različne kombinacije pravic dostopa:

  • Lastnik- niz pravic za lastnika datoteke, uporabnika, ki jo je ustvaril ali trenutno nastavi njen lastnik. Običajno ima lastnik vse pravice za branje, pisanje in izvajanje.
  • skupina- katera koli uporabniška skupina, ki obstaja v sistemu in je povezana z datoteko. Toda to je lahko le ena skupina in je običajno skupina lastnika, čeprav je datoteki mogoče dodeliti drugo skupino.
  • Počitek- vsi uporabniki razen lastnika in uporabnikov, vključenih v skupino datotek.

S pomočjo teh naborov dovoljenj se v Linuxu nastavijo dovoljenja za datoteke. Vsak uporabnik lahko pridobi popoln dostop samo do datotek, ki so v njegovi lasti ali za dostop do katerih ima dovoljenje. Samo uporabnik Root lahko dela z vsemi datotekami, ne glede na nastavljena dovoljenja.

Toda sčasoma je tak sistem postal nezadosten in dodanih je bilo več zastavic, ki vam omogočajo, da datoteke naredite nespremenljive ali jih izvedete kot superuporabnik, pogledali jih bomo spodaj:

Posebna dovoljenja za datoteke v Linuxu

Da bi navadnim uporabnikom omogočili izvajanje programov v imenu superuporabnika, ne da bi poznali njegovo geslo, so izumili bit SUID in SGID. Oglejmo si te moči pobližje.

  • SUID- če je ta bit nastavljen, potem ko se program izvaja, se ID uporabnika, od katerega je bil zagnan, zamenja z ID-jem lastnika datoteke. Dejansko to običajnim uporabnikom omogoča zagon programov kot superuporabnik;
  • SGID- ta zastavica deluje na podoben način, razlika je le v tem, da se uporabnik obravnava kot član skupine, s katero je povezana datoteka, in ne skupin, ki jim dejansko pripada. Če je na imeniku nastavljena zastavica SGID, bodo vse datoteke, ustvarjene v njem, povezane s skupino imenika, ne z uporabnikovo. To vedenje se uporablja za organiziranje map v skupni rabi;
  • Sticky-bit- ta bit se uporablja tudi za ustvarjanje skupnih map. Če je nameščen, lahko uporabniki samo ustvarjajo, berejo in izvajajo datoteke, ne morejo pa izbrisati datotek v lasti drugih uporabnikov.

Zdaj pa si poglejmo, kako si ogledati in spremeniti dovoljenja za datoteke v Linuxu.

Kako si ogledati dovoljenja za datoteke v Linuxu

Seveda si lahko ogledate dovoljenja za datoteke v Linuxu z upraviteljem datotek. Vsi podpirajo to funkcijo, vendar boste s tem dobili nepopolne informacije. Za najbolj podrobne informacije o vseh zastavicah, vključno s posebnimi, morate uporabiti ukaz ls s parametrom -l. Navedene bodo vse datoteke v imeniku in tam bodo prikazani vsi atributi in bitovi.

Če želite izvedeti pravice do datoteke Linux, zaženite naslednji ukaz v mapi, kjer se nahaja ta datoteka:

Pomišljaji so odgovorni za dovoljenja datotek v Linuxu. Prva je vrsta datoteke, ki je obravnavana v ločenem članku. Potem so tu skupine pravic, najprej za lastnika, za skupino in za vse ostale. Za licenco je samo devet pomišljajev in ena za vrsto.

Oglejmo si podrobneje, kaj pomenijo pogojne vrednosti zastavic pravic:

  • --- - brez pravic;
  • --x- dovoljeno je samo izvajanje datoteke kot programa, ne pa spreminjanje ali branje;
  • -w-- dovoljeno je samo pisanje in spreminjanje datoteke;
  • -wx- spreminjanje in izvajanje je dovoljeno, vendar v primeru imenika ne morete videti njegove vsebine;
  • r--- pravice samo za branje;
  • r-x- samo branje in izvajanje, brez dovoljenja za pisanje;
  • rw-- pravice branja in pisanja, vendar brez izvajanja;
  • rwx- vse pravice;
  • --s- nastavljen je SUID ali SGID bit, prvi se izpiše v polju za lastnika, drugi za skupino;
  • --t- sticky-bit je nameščen, kar pomeni, da uporabniki ne morejo izbrisati te datoteke.

V našem primeru ima datoteka test1 tipična programska dovoljenja, lastnik lahko naredi vse, skupina lahko samo bere in izvaja, vsi ostali pa lahko samo izvajajo. Za test2 sta dodatno nastavljeni zastavici SUID in SGID. In za mapo test3 je nameščen Sticky-bit. Datoteka test4 je na voljo vsem. Zdaj veste, kako si ogledate pravice za datoteko Linux.

Kako spremeniti dovoljenja za datoteke v Linuxu

Če želite spremeniti dovoljenja za datoteke v Linuxu, lahko uporabite pripomoček chmod. Omogoča vam spreminjanje vseh zastav, vključno s posebnimi. Poglejmo njegovo sintakso:

Datoteka z zastavico dejanj kategorije možnosti $ chmod

Možnosti nas zdaj ne bodo zanimale, razen morda le ene. Z možnostjo -R lahko prisilite program, da rekurzivno uporabi spremembe za vse datoteke in imenike.

  • u- lastnik datoteke;
  • g- skupina datotek;
  • o- drugi uporabniki.

Dejanje je lahko eno od dveh stvari, dodajte zastavico »+« ali odstranite zastavico »-«. Kar zadeva same pravice dostopa, so podobne izhodu pripomočka ls: r - branje, w - pisanje, x - izvajanje, s - suid/sgid, odvisno od kategorije, za katero ste jo nastavili, t - nastavi lepljivo -bit. Na primer, vsi uporabniki imajo popoln dostop do datoteke test5:

chmod ugo+rwx test5

Ali pa bomo skupini in drugim uporabnikom odvzeli vse pravice:

chmod go-rwx test5

Dajmo skupini pravico do branja in izvajanja:

chmod g+rx test5

Za ostale uporabnike samo branje:

Za datoteko test6 nastavite SUID:

In za test7 - SGID:

Poglejmo, kaj se je zgodilo:

Kot lahko vidite, je spreminjanje dovoljenj za datoteke v Linuxu zelo preprosto. Poleg tega lahko spremenite osnovne pravice z upraviteljem datotek.

zaključki

To je vse, zdaj ne veste samo, kakšna so dovoljenja za datoteke v Linuxu, ampak tudi, kako si jih ogledate in celo kako jih spremenite. To je zelo pomembna tema, ki jo morajo začetniki resnično razumeti, da lahko bolj celovito uporabljajo svoj sistem. Če imate kakršna koli vprašanja, jih vprašajte v komentarjih!

Za konec bi rad ponudil dober video o pravicah dostopa v Linuxu:

Možnost -c - dodajte komentar uporabniku
Možnost -g sudo - dodajte uporabnika v skupino sudo.
Možnost -s bo nastavila uporabniško lupino na /bin/bash

Možnost -d uporablja se za določanje uporabnikove domače mape
Možnost -m bo pokazalo, da je treba mapo ustvariti takoj:

Sudo useradd -c "Komentar za uporabnika" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Nastavite geslo za uporabnika NameUser:

Sudo passwd NameUser

Dodajte uporabnika z ukazom adduser

sudo useradd -c "Komentar za uporabnika" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Vnesite geslo, odgovorite na vsa zastavljena vprašanja, pridobite uporabnika z geslom in domači imenik

Spreminjanje uporabniškega gesla

sudo passwd NameUser

Dodajte uporabnika v skupino sudo

usermod -a -G sudo NameUser

Neposredno dodajte uporabnika/uporabniško skupino v Sudores:

Uredimo datoteko /etc/sudores.tmp urednik visudo

Sudo visudo

Imenovanemu uporabniku podelimo korenske pravice uporabniško_ime

Uporabniško_ime ALL=(ALL:ALL) ALL

Dajmo korenske pravice skupini uporabnikov ime_skupine z dodajanjem vrstice v datoteko sudoers -

Ime_skupine ALL=(ALL:ALL) ALL

Uporabnik in njegove skupine

Ogledamo si razpoložljive skupine na gostitelju

Cat /etc/skupina

Preverjanje obstoja skupine skupina primerov na gostitelju, kjer je examplegroup skupina, ki vas zanima

Grep examplegroup /etc/group

Preverimo/izvemo, katerim skupinam uporabnik pripada (in tudi njegov uid, gid)

ID NameUser

Dodajte obstoječega uporabnika NameUser obstoječi skupini primerov skupine

Usermod -g primer skupine NameUser

Odstranjevanje uporabnika Ubuntu

Uporabimo ukaz, uporabniška mapa ne bo izbrisana

Sudo userdel NameUser

Po potrebi izbrišite mapo

Sudo rm -r /home/NameUser/

Preverimo, ali je bil uporabnik izbrisan; če ni izpisa, je bil uporabnik izbrisan

Sudo grep -R NameUser /etc/passwd --color

Seznam vseh lokalnih uporabnikov

sudo cat /etc/passwd sudo cat /etc/shadow

Za prikaz podrobnejših informacij o uporabniku namestite paket prst

Sudo apt-get namestite prst

Za ogled informacij o uporabniku NameUser zaženite ukaz

Finger NameUser

Za izpis podatkov o vseh uporabnikih v datoteko infoaboutalluser.txt ustvarimo skripto finger.sh

#!/bin/bash n=`cat /etc/passwd | cut -d: -f1` za i v $n; do echo "================================================== ============================ ================= "prst $i končano

Zaženimo skript finger.sh in shranite njeno vsebino v datoteko infoaboutalluser.txt

./finger.sh infoaboutalluser.txt

Seznam vseh privilegiranih uporabnikov:

egrep ":0:0:" /etc/passwd

ali ne privilegiran

Egrep -v ":0:0:" /etc/passwd

Seznam vseh uporabnikov, katerih imena se začnejo s črkama abcd:

Cat /etc/passwd | grep "^.*"

Kot kaže odziv bralca, je vprašanje ločevanja skrbniških pravic v Ubuntuju še vedno nejasno za večino skrbnikov začetnikov, zato smo se odločili, da to vprašanje razjasnimo s tem gradivom. Torej, če ne veste, kako se su razlikuje od sudo, kje ste skrili root itd. itd., Je čas, da začnete preučevati naš članek.

Začnimo z majhno digresijo. Sistem skrbniških pravic za Linux sega v operacijski sistem Unix in ima zato veliko skupnega z drugimi sistemi, podobnimi Unixu: BSD, Solaris, MacOS. Hkrati imajo različne distribucije svoje izvedbene značilnosti določenih vidikov, zato bomo podali posebne primere v zvezi z družino Ubuntu, vendar vam bo poznavanje splošnih pravil omogočilo enostavno razumevanje okolja katerega koli drugega operacijskega sistema, podobnega Unixu.

Uporabnik ima v sistemu Linux polne skrbniške pravice. korenina, katerega pravic ni mogoče omejiti, zato je vsakodnevno delo v imenu tega uporabnika skrajno nezaželeno: neprevidna dejanja uporabnika lahko povzročijo poškodbe sistema, ogrožanje tega računa pa bo napadalcu omogočilo neomejen dostop do sistema.

Zato je bila v Linuxu sprejeta drugačna shema: vsi uporabniki, vključno s skrbniki, delajo pod omejenim računom in za izvajanje skrbniških dejanj uporabljajo enega od mehanizmov stopnjevanja pravic. Če želite to narediti, lahko povečate pravice s pomočjo pripomočka sudo ali se prijavite kot superuporabnik (root), ne da bi z ukazom prekinili trenutno sejo su. Mnogi ljudje pomotoma zamenjujejo ta dva mehanizma, zato si ju poglejmo podrobneje.

Ekipa su vam omogoča, da se prijavite kot drug uporabnik (ne nujno root), ne da bi prekinili trenutno sejo. Torej ukaz:

Su petrov

vam bo omogočilo prijavo kot uporabnik petrov, bo tudi uporabniško okolje (domača mapa) spremenjeno tako, da bo pripadalo temu uporabniku.

Ekipa su brez navedbe uporabniškega imena vam omogoča, da se prijavite pod svojim računom korenina"a. Vendar ima ta metoda eno pomembno pomanjkljivost - če se želite prijaviti v imenu drugega uporabnika, morate poznati njegovo geslo. Če imate več skrbnikov, bo vsak od njih poznal geslo superuporabnika in ne boste mogli omejiti njihove pravice.

Poleg tega ni varno; poznavanje gesla superuporabnika in možnost prijave pod njegovim imenom v primeru ogrožanja lahko povzroči popolno izgubo nadzora nad sistemom.

Kaj se zgodi, če poskušamo povečati pravice v Ubuntuju na ta način? Ne bomo mogli storiti ničesar, ker ne poznamo uporabniškega gesla korenina, hkrati pa nam nihče ne brani, da se prijavimo kot drug uporabnik.

"Počakaj!" - drug uporabnik bo rekel, "ali niso dodeljene korenske pravice prvemu ustvarjenemu uporabniku, ki smo ga določili med namestitvijo?" Dejansko se lahko izvajajo skrbniške naloge samo v imenu uporabnika, ustvarjenega med namestitvijo; v imenu drugega uporabnika, bomo utrpeli napako.

Tu se približamo drugemu mehanizmu povečanja pravic - uporabnosti sudo. Toda preden nadaljujete s preučevanjem, je vredno pojasniti: pravice superuporabnika (root) v Ubuntuju pripadajo korenskemu računu, ki je privzeto onemogočen. Zato povečajte dovoljenja z ukazom su se ne zdi mogoče.

Glavni mehanizem za dvig pravic v Ubuntuju je pripomoček sudo. Ta pripomoček vam omogoča, da dvignete pravice na raven superuporabnika za ukaz, ki se izvaja, vendar vam ni treba poznati gesla superuporabnika; uporabnik mora vnesti svoje geslo. Po tem bo pripomoček preveril, ali ima ta uporabnik pravico izvajati ta ukaz na tem gostitelju s pravicami superuporabnika in, če bodo preverjanja uspešna, ga bo izvedel.

Je pomembno! Glavna razlika su od sudo služi čemu su vam omogoča, da trenutnega uporabnika spremenite v root, kar zahteva aktivni superuporabniški račun v sistemu in poznavanje njegovega gesla, sudo vam omogoča, da povišate pravice za ukaz, ki se izvaja, ne da bi navedli geslo superuporabnika; prijava kot root s temi poverilnicami ne bo delovala.

Druga pomembna okoliščina je, da bo pri uporabi cevovoda ali preusmeritve s pravicami superuporabnika izveden samo prvi del ukaza, na primer v načrtu:

Sudo ukaz1 | ekipa2

s korenskimi pravicami se bodo izvajale samo ekipa1. In ekipa

Sudo cat sources.list > /etc/apt/sources.list

bo povzročilo napako pravic dostopa, ker je vnos v /etc/apt/sources.list bo prišlo z običajnimi uporabniškimi pravicami.

Če želite izvajati zapletene kombinacije ukazov, lahko z ukazom preklopite v način superuporabnika

kar je podobno dvigovanju pravic z ukazom su, vendar to ne bo spremenilo uporabniškega okolja in imenik trenutnega uporabnika bo uporabljen kot domači imenik, kar je priročno in varno. Vsak skrbnik bo imel dostop samo do svojega domačega imenika.

Zdaj je čas, da ugotovimo, kdo ima pravico izkoristiti priložnosti sudo in v kakšnem obsegu. Datoteka je odgovorna za nastavitve tega pripomočka /etc/sudoers, kljub dejstvu, da je to običajna konfiguracijska datoteka, je za njeno urejanje zelo priporočljivo uporabiti ukaz:

Sudo visudo

Ta ukaz zaklene datoteko in preveri sintakso, sicer tvegate izgubo skrbniškega dostopa do računalnika zaradi tipkarske napake.

Sintaksa te datoteke je zelo preprosta. Na primer, čisto na koncu datoteke je vnos:

%admin VSI=(VSI) VSI

To pomeni, da uporabniki skupine admin lahko izvede kateri koli ukaz na katerem koli gostitelju v imenu katerega koli uporabnika. Kot lahko enostavno preverimo z ukazom skupine v našem primeru uporabnik andrej spada v skupino admin, in uporabnik petrovšt.

Toda vse prednosti tega pripomočka so v zmožnosti prožne konfiguracije parametrov za pridobitev pravic v vsakem posameznem primeru. Na primer:

Petrov ubuntu-lts=(andrej) VSE

Ta vrstica omogoča uporabniku petrov izvrši kateri koli ukaz na gostitelju ubuntu-lts v imenu uporabnika andrej. Ko podajate ukaze, morate navesti celotno pot do njih; ki

Na primer, uporabnikom želimo dovoliti petrov in sidorov zaustavite in znova zaženite računalnik ter odstranite naloge. Vendar ti ukazi ne bi smeli zahtevati vnosa gesla.

Druga lepa lastnost pripomočka sudo je ustvarjanje vzdevkov, zato bomo v našem primeru dodali /etc/sudoers naslednje vrstice:

User_Alias ​​​​USERGROUP1 = petrov, sidorov
Cmnd_Alias ​​​​CMDGROUP1 = /bin/kill, /sbin/reboot, /sbin/shutdown

S tem smo ustvarili dva vzdevka UPORABNIŠKA SKUPINA1, kamor smo vključili uporabnike, ki jih potrebujemo in CMDSKUPINA1 z naborom potrebnih ukazov lahko naknadno urejamo samo vzdevke, ne da bi to vplivalo na vsa pravila, kjer jih je mogoče uporabiti. Nato dodamo pravilo:

USERGROUP1 ALL = (ALL) NOPASSWD:СMDGROUP1

ki bo uporabnikom, navedenim v navedenem vzdevku, omogočil izvajanje ukazov iz danega vzdevka na katerem koli gostitelju v imenu katerega koli uporabnika brez vnosa gesla.

Poleg zgornjih dveh so na voljo tudi vzdevki za ime gostitelja in uporabnike, v imenu katerih je dovoljeno izvajati ukaze, na primer:

Host_Alias ​​​​WWW = spletni strežnik1, spletni strežnik2
Runas_Alias ​​​​WWW = www-podatki, www-razvijalec

UPORABNIŠKA SKUPINA1 WWW = (WWW) VSE

Dani nabor zapisov bo uporabnikom omogočil vstop UPORABNIŠKA SKUPINA1 izvajati kakršne koli ukaze v imenu uporabnikov www-podatki in www-razvijalec na spletnih strežnikih podjetja.

Nazadnje poglejmo, kaj storiti, če je korenski račun še vedno potreben. Preprosto je, da ga omogočite, samo nastavite geslo:

Sudo passwd root

Račun superuporabnika lahko znova blokirate z ukazom:

Sudo passwd -l root

Ne pozabite, da je vse skrbniške naloge v Ubuntuju mogoče opraviti s pripomočkom sudo, zato ne omogočite korenskega računa, razen če je to nujno potrebno!

Kot lahko vidite, ima Ubuntu bogate zmožnosti upravljanja skrbniških pravic, ki vam omogočajo prilagodljivo porazdelitev pravic med več skrbniki, pa tudi možnost povečanja pravic za nekatere uporabnike, in to učinkovito in varno.