
Linux je večuporabniški operacijski sistem, zato je ustvarjanje številnih uporabniških računov enostavno. Sčasoma je enostavno izgubiti sled, kateri računi so potrebni. Seznam uporabniških računov vam pomaga upravljati z njimi.
Uporabniški računi
Napredek tehnologije pogosto prinaša nove težave. Takoj, ko so računalniki lahko podpirali več uporabnikov, je postala očitna potreba po omejevanju in kapsuliranju dela vsakega posameznika od vseh ostalih. To je privedlo do koncepta uporabniških računov. Vsak uporabnik ima poimenovan ID in geslo. To so poverilnice, s katerimi se lahko prijavijo v svoj račun. Njihove datoteke se hranijo na območju, ki je zasebno za vsakega uporabnika.
V obremenjenem sistemu je enostavno izgubiti izpred oči, katere račune ste ustvarili in kateri niso več potrebni. Z varnostnega vidika je slaba praksa obdržati uporabniške račune, ki jih ni več treba konfigurirati in dostopati na vašem računalniku. Moral bi odstrani te uporabnike.
Tudi če nimate drugih ljudi, ki uporabljajo vaš računalnik, ste morda ustvarili nekaj računov samo zato, da bi se naučili, kako to storiti, ali da bi se naučili in izvajali administrativne postopke.
Prvi korak je seznam uporabniških računov, ki so konfigurirani v vašem računalniku. To vam omogoča, da jih pregledate in naredite presojo, ki jo je mogoče izbrisati. Obstaja več načinov za seznam uporabnikov. Ne glede na to, katero distribucijo uporabljate, bi morale te tehnike delovati za vas, ne da bi vam bilo treba namestiti kakršne koli aplikacije ali pripomočke.
Seznam uporabnikov z ukazom cat
Seznam konfiguriranih uporabnikov se vzdržuje skupaj z informacijami o vsakem uporabniku v datoteki “/etc/passwd”. To je besedilna datoteka, ki jo lahko navadni uporabniki prikažejo v terminalskem oknu. Ni vam treba uporabljati sudo
da si ogledate datoteko “/etc/passwd”.
Lahko uporabimo cat
ukaz za pošiljanje vsebine datoteke “/etc/passwd” v terminalsko okno. To bo prikazalo celotno vsebino datoteke. To pomeni, da boste videli tudi vnose za uporabniške račune, ki so v lasti procesov in sistema, ne oseb.
cat / etc / passwd
Za vsak uporabniški račun je na voljo vrsta zgoščenih informacij.
Podatki za uporabniški račun, imenovan »dave«, vsebujejo te informacije z dvopičji »:
" med njimi.
- Dave: Ime uporabniškega računa. Običajno je ime osebe, ki je lastnik računa.
- x: Nekoč je to držalo geslo za račun. Danes so gesla shranjena v datoteki “/etc/shadow”. "x" pomeni, da je geslo v tej datoteki.
- 1000: ID uporabnika za ta račun. Vsi uporabniški računi imajo edinstven številski ID. Običajni uporabniški računi se običajno začnejo pri 1000, pri čemer ima vsak nov račun naslednji brezplačni ID, kot je 1001, 1002 itd.
- 1000: ID skupine privzete skupine, ki ji pripada uporabnik. V normalnih okoliščinah ima privzeta skupina enako vrednost kot ID uporabnika.
- dave,,,: zbirka izbirnih dodatnih informacij o uporabniku. To polje vsebuje podatke z vejicami "
,
" med njimi. Imajo lahko stvari, kot so polno ime uporabnika, številka njegove pisarne in telefonska številka. Vnos za uporabniški račun "mary" prikazuje njeno polno ime Mary Quinn. - /doma/dave: Pot do uporabnikove domače mape.
- / bin / bash: privzeta lupina za tega uporabnika.
Če bomo cevi za izhod od tega ukaza prek wc
uporabnost in uporabo -l
(vrstice) lahko preštejemo vrstice v datoteki. To nam bo dalo število računov, konfiguriranih v tem računalniku.
mačka /etc/passwd | wc -l
Ta številka vključuje sistemske račune in uporabnike, ki so jih ustvarile aplikacije. Na tem računalniku je konfiguriranih približno 400 rednih uporabnikov. Vaš rezultat bo verjetno veliko manjši.
S toliko računi je bolj priročna za uporabo less
za ogled datoteke »/etc/passwd«.
manj / etc / passwd
Uporaba less
omogoča tudi iskanje znotraj izhoda, če želite poiskati določen uporabniški račun.
Ukaz awk
Uporaba o awk
ukaz lahko prikažemo samo uporabniško ime. To je lahko koristno, ko pišete skript, ki mora nekaj narediti z veliko uporabniškimi računi. Navedba imen uporabniških računov in njihovo preusmeritev v besedilno datoteko je lahko odličen prihranek časa. Vse kar morate storiti je, da kopirate in prilepite preostali del ukaza v vsako vrstico.
awk bomo rekli, naj uporabi dvopičje “:” kot ločilo polj in natisne prvo polje. Uporabili bomo možnost -F (ločilo polj).
awk -F: '{print $1}' /etc/passwd
Imena uporabniških računov so zapisana v okno terminala brez drugih informacij o računu.
Ukaz rezanja
Enako lahko dosežemo z uporabo o cut
ukaz. Uporabiti moramo -d
(ločilo) in ga prosite, da izbere samo prvo polje z uporabo -f
možnost (polja).
rezal -d: -f1
Tu so navedeni vsi uporabniški računi, vključno s sistemskimi in drugimi nečloveškimi računi.
Ukaz compgen
O compgen
ukaz se lahko uporablja z -u
(uporabnik) možnost za seznam uporabniških računov. Izhod bomo prepeljali skozi column
ukaz za seznam uporabniških računov v stolpcih, namesto enega dolgega seznama z enim uporabniškim imenom na vrstico.
compgen -u | stolpec
Še enkrat, prvi navedeni uporabniški računi pripadajo procesom, ne ljudem.
UID MIN in UID MAX
Uporabniški računi dobijo številčni ID, ki smo ga videli prej. Običajno se navadni človeški uporabniški računi začnejo pri 1000, sistemski, nečloveški, uporabniški računi pa se začnejo pri 0. ID korenski račun je 0.
Če lahko preverimo najnižji in najvišji možni ID uporabnika, lahko te informacije uporabimo za izbiro uporabniških računov, ki so med tema dvema vrednostma. To nam bo omogočilo, da izberemo samo uporabniške račune, ki pripadajo resničnim osebam.
Linux spremlja ti dve vrednosti z uporabo konfiguracijskih parametrov, imenovanih UID_MIN
in UID_MAX
. Ti so v datoteki “/etc/login.defs”. Te vrednosti lahko zlahka vidimo z uporabo grep
.
Uporabili bomo -E
(podaljšano regularni izraz) možnost. Naš iskalni niz išče vrstice, ki se začnejo z »UID_MIN« ali »UID_MAX« v datoteki »/etc/login.defs«. Karet "^
” predstavlja začetek vrstice.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
Razpon ID-jev uporabnikov v tem računalniku je od 1000 do 60,000.
Ukaz getent
O getent
ukaz bere informacije iz sistemskih baz podatkov. Lahko mu povemo, da navede vnose v datoteki “/etc/passwd” z uporabo “passwd” kot parametra.
getentpasswd
To nam daje enak odčitek, ki ga lahko uporabimo cat
. Ampak kje getent
sija je s sprejemanjem vrednot, znanih kot »ključi«. Ključ narekuje, katere informacije getent
poroča o. Če želimo videti vnos za enega uporabnika, lahko v ukazno vrstico vnesemo ime njegovega uporabniškega računa.
getent passwd Sarah
Upoštevajte, da je ime uporabniškega računa občutljivo na velike in male črke.
getent passwd sarah
Prenesemo lahko tudi zgornjo in spodnjo mejo ID-jev uporabniških računov, ki jih želimo videti. Za ogled absolutno vseh običajnih uporabniških računov lahko uporabimo vrednosti iz UID_MIN
in UID_MAX
.
getentpasswd {1000..60000}
To traja nekaj časa, da teče. Sčasoma se boste vrnili v ukazni poziv.
Razlog za dolg čas izvedbe je ta getent
poskuša najti ujemanja za vse vrednosti uporabniškega računa vse do 60000.
Poglejmo, kateri je najvišji ID uporabniškega računa. Uporabili bomo cut
ukaz, tokrat pa bomo zahtevali tretje polje, polje ID uporabnika. Prenesli bomo izhod sort
in uporabite -g
(splošno številsko razvrščanje).
cut -d: -f3 /etc/passwd | razvrsti -g
Najvišja vrednost ID-ja uporabniškega računa v lasti človeka je 1401.
ID uporabnika 65534 je dodeljen sistemskemu konceptu »nihče«.
getentpasswd {65534..65534}
Torej vemo, da namesto uporabe UID_MAX
vrednost 60000, na tem računalniku lahko uporabimo bolj realistično vrednost, kot je 1500. To bo stvari lepo pospešilo. Prenesli bomo tudi izhod cut
da izvlečete samo imena uporabniških računov.
getent passwd {1000..1500} | rez -d: -f1
Uporabniki so navedeni in takoj smo vrnjeni v ukazni poziv.
Namesto da bi izhod prepeljal skozi cut
, prepustimo izhod skozi wc
in še enkrat preštej vrstice. To nam bo dalo število "pravih" uporabniških računov.
getentpasswd {1000..1500} | wc-l
Zdaj lahko vidimo, da je na tem računalniku dokončno 400 konfiguriranih uporabniških računov, ki so v lasti ljudi.
Moč in preprostost
Ena od teh tehnik bo zagotovo ustrezala vašim potrebam, ko morate pregledati uporabniške račune v računalniku Linux. Ti ukazi bi morali biti prisotni v vseh distribucijah in nobena od njih ne zahteva sudo
dostop, tako da so vsi na voljo vsakemu uporabniku.