tässä postauksessa opit listaamaan käyttäjiä Linuxiin. Tämän lisäksi tiedät muita temppuja Linux-käyttäjien ominaisuuksista.
Linuxissa on kahdenlaisia käyttäjiä, järjestelmäkäyttäjiä, jotka luodaan oletuksena järjestelmän kanssa. Toisaalta on säännöllisiä käyttäjiä, jotka järjestelmän ylläpitäjät ovat luoneet ja voivat kirjautua järjestelmään ja käyttää sitä.
Sisällysluettelo
Mitä tiedosto sisältää luettelon käyttäjille Linux?,
ennen kuin alamme listata käyttäjiä, meidän täytyy tietää, missä nämä käyttäjät tallennetaan Linuxille?
käyttäjät tallennetaan passwd-tiedostoksi kutsutun järjestelmän tekstitiedostoon. Tämä tiedosto sijaitsee / etc-hakemistossa.
tiedosto sijaitsee seuraava polku:
$ /etc/passwd
tämän tiedoston, voit löytää kaikki tiedot käyttäjät järjestelmään.
listaa kaikki käyttäjät
käyttäjien listaaminen on ensimmäinen askel niiden hallitsemiseksi. Näin tiedämme, montako heitä on ja keitä he ovat. Linuxissa lähes kaikki voidaan tehdä eri tavoin, eikä tämä ole poikkeus.,
listata kaikki käyttäjät, voit käyttää cat-komennolla:
$ cat /etc/passwd
Kuten näette kuvan, siellä on kaikki tiedot käyttäjästä.
1 – ensimmäisessä kentässä näet käyttäjän nimen.
2 – toinen kenttä (x-merkki) on edustus salattu salasana. Salattu salasana tallennetaan/etc / shadow-tiedostoon.
3 – UID tai käyttäjätunnus.
4 – seuraava kenttä viittaa käyttäjän ensisijaiseen ryhmään.
5 – Sitten, se näyttää käyttäjän ID info kuten osoite, sähköposti, jne.,
6 – Tämän jälkeen näet käyttäjän kotihakemiston.
7 – viimeinen kenttä on kyseisen Käyttäjän käyttämä kuori.
Kuitenkin, vaikka tietoa on varsin hyödyllinen, jos haluat vain lista käyttäjien nimistä perus tapa, voit käyttää tätä komentoa:
$ cut -d: -f1 /etc/passwd
Nyt meillä on nimet vain tulostamalla ensimmäinen kenttä tiedosto vain.
lista & Lajittele käyttäjät nimellä
yllä oleva komento palvelee käyttäjien listaamista Linuxiin. Mutta entä käyttäjien listaaminen aakkosjärjestyksessä?,
tehdäksemme tämän, käytämme edellistä komentoa, mutta lisäämme lajittelukomentoa.
Niin, komento on kuin tämä:
$ cut -d: -f1 /etc/passwd | sort
Kuten näette kuvan, käyttäjät ovat osoittaneet lajitellaan.
Linux-lista käyttäjät ilman salasanaa
on tärkeää tietää, käyttäjät, joilla ei ole salasanaa, ja ryhtyä asianmukaisiin toimenpiteisiin. Luettelo käyttäjät, joilla ei ole salasanaa, käytä seuraavaa komentoa:
$ sudo getent shadow | grep -Po '^*(?=:.?:)'
käyttää regex listaa kaikki käyttäjät, joilla ei ole salasanaa.,
Listan käyttäjiä levyn käyttö
Jos sinulla on suuri hakemisto ja haluatko tietää, mitä käyttäjä on tulvia, voit käyttää du-komento, jotta saat levyn käyttö.
Tällä voit havaita, ketkä näistä käyttäjistä käyttävät levytilaa väärin.
se, se on tarpeeksi käyttää seuraavaa komentoa:
$ sudo du -smc /home/* | sort -n
tällä tavoin, sinulla on käyttäjien tilaamat levyn käyttö /home-hakemistossa.
käytimme lajittelukomentoa lajittelemaan lähdön numeroilla.,
Lista tällä hetkellä kirjautunut käyttäjille
lista tällä hetkellä kirjautuneet käyttäjät, meillä on useita tapoja tehdä se. Ensimmäinen menetelmä voimme käyttää käyttäjien komento:
$ users
Se listaa käyttäjät, joilla on avata istuntoja järjestelmässä.
Mutta tämä tieto on hieman perus; kuitenkin, meillä on toinen komento, joka antaa enemmän yksityiskohtia. Komento on yksinkertaisesti w.,
$ w
tällä komennolla, voimme saada enemmän tietoja, kuten tarkkaa aikaa, kun istunto alkoi, ja pääteistunnon hän on käytettävissä.
lopulta on olemassa komento nimeltä who. Se on saatavilla koko Unix-perheelle. Voit käyttää sitä muissa järjestelmissä, kuten FreeBSD.
$ who
Kanssa, jotka komento, meillä on myös joitakin tietoja tällä hetkellä kirjautuneet käyttäjät. Tietenkin voimme lisätä vaihtoehto-A ja näyttää kaikki yksityiskohdat.,
$ who -a
Tällä tavalla, tiedät kaiken kirjautuneet käyttäjät.
Linuxin lista käyttäjistä, jotka äskettäin kirjautuivat järjestelmään
näimme, miten saada tällä hetkellä kirjautuneena olevat käyttäjät, entä käyttäjien kirjautumishistorian listaaminen?,
Voit käyttää edellisen komennon saat lisätietoja siitä, kirjautumiset, joka vei paikka:
$ last
käyttäjätunnukset tietyn käyttäjän
$ last
esimerkiksi:
$ last angelo
Nämä ovat käyttäjän kirjautuminen toimintaa ja kun se oli alkanut ja kuinka kauan se kesti.
listaa käyttäjien kirjautumiset tiettynä päivänä tai tiettynä ajankohtana
entäpä käyttäjien kirjautumisten listaaminen tiettynä päivänä tai tiettynä ajankohtana?, Saavuttaaksemme tämän, käytämme viimeinen komento, mutta -t-parametri:
$ last -t YYMMDDHHMMSS
esimerkiksi:
$ last -t 20190926110509
Ja nyt, kaikki mitä sinun tarvitsee tehdä on valita tarkka päivämäärä & aika lista, joka on kirjautunut tuolloin.
Lista kaikkien käyttäjien ryhmässä
On olemassa kaksi tapaa luettelo ryhmän jäsenten Linux, helpoin ja suorin tapa on saada käyttäjät /etc/group-tiedosto, kuten tämä:
$ cat /etc/group | grep likegeeks
Tämä komento listaa käyttäjien likegeeks ryhmä.,
toinen tapa on käyttää komentoja kuten jäsenet komento Debian-pohjainen distros. Sitä ei kuitenkaan ole asennettu oletusarvoisesti Linux-jakeluihin.,
Voit asentaa sen Ubuntu / Linux Mint 19, vain käyttää APT:
$ sudo apt install members
Tai jos CentOS:
$ sudo dnf install members
Kun se on asennettu, voit suorittaa komennon sitten sen ryhmän nimi, jonka haluat luetteloon, käyttäjät voivat:
$ members
esimerkiksi:
$ members avahi
Tämä tapa, voit listata käyttäjien ryhmä on Debian-pohjainen distro. Entä Redhatilainen distro kuten CentOS?,
Voit käyttää seuraavaa komentoa:
$ getent group likegeeks
Lista käyttäjät, joiden UID
Unix-järjestelmissä jokaisella käyttäjällä on käyttäjätunnus tai TUNNUS. Se palvelee hallita ja hallinnoida tilejä sisäisesti käyttöjärjestelmä.
yleensä Uidit 0-1000 ovat järjestelmän käyttäjille. Ja sen jälkeen tavallisille käyttäjille. Aina Unix-järjestelmissä uid zero kuuluu pääkäyttäjille (sinulla voi olla useampi kuin yksi käyttäjä, jolla uid on nolla).
joten nyt listaamme käyttäjät omalla UID: llään Awk: n avulla.,
– komento, joka suorittaa tehtävän on seuraava:
$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Kuten näette, jokainen käyttäjä hänen UID.
listasi pääkäyttäjät
Unixin kaltaisessa järjestelmässä, kuten Linuxissa, on yleensä vain yksi pääkäyttäjä. Jos niitä on monta, miten listata ne?
Voit tehdä tämän, voimme käyttää tätä komentoa:
$ grep 'x:0:' /etc/passwd
– Täällä meillä on suodatus tiedosto saada käyttäjät, joiden UID-nolla (root käyttäjille).,
Toinen tapa, tarkistamalla /etc/group-tiedosto:
$ grep root /etc/group
– Täällä meillä on saada käyttäjät ryhmässä root /etc/group-tiedosto.
voit Myös tarkistaa, jos kuka tahansa käyttäjä voi suorittaa komentoja pääkäyttäjänä tarkistamalla /etc/sudoers-tiedosto:
$ cat /etc/sudoers
Saat yhteensä useita käyttäjiä
saada käyttäjien kokonaismäärä Linux, voit laskea rivit /etc/passwd-tiedoston käyttämällä wc-komennon näin:
$ cut -d: -f1 /etc/passwd | wc -l
– Hienoa! 43 käyttäjää., Mutta tämä sisältää järjestelmän ja säännölliset käyttäjät. Entä saada määrä säännöllisiä käyttäjiä vain?
Easy! Koska tiedämme, että ylhäältä säännöllisiä käyttäjiä on UID 1000 tai enemmän, voimme käyttää Awk saada heille:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Cool!
List sudo käyttäjät
Linux-järjestelmissä on apuohjelma nimeltä sudo, jonka avulla voit suorittaa komentoja kuten jos olisit toinen käyttäjä, joka on yleensä root-käyttäjä.
Tätä tulee käsitellä huolellisesti ammattimaisessa ympäristössä.,
on myös erittäin tärkeää tietää, ketkä käyttäjät voivat suorittaa sudo-komennon. Tähän riittää sudo-ryhmään kuuluvien käyttäjien listaaminen.
$ members sudo
– tämän ryhmän Käyttäjät voivat suorittaa komentoja kuten super-käyttäjille.
listaa Käyttäjät, joilla on SSH-yhteys
SSH: n avulla käyttäjät voivat käyttää etätietokoneita verkon kautta. Se on melko turvallinen ja syntyi Telnetin korvaajaksi.
oletuksena kaikki tavalliset käyttäjät voivat kirjautua sisään ja käyttää SSH: ta., Jos haluat rajoittaa tämän, voit käyttää SSH-asetustiedostoa (/etc/ssh/ssh_config) ja lisää seuraava direktiivi:
AllowUsers user1 user2 user3
voit Myös antaa ryhmille sen sijaan, jonka avulla käyttäjät vain käyttää AllowGroups-direktiivi:
AllowGroups group1 group2 group3
Näissä direktiiveissä määritellään, kuka voi käyttää palvelua. Muista käynnistää SSH-palvelu uudelleen.
Lista käyttäjät, joilla on käyttöoikeudet tiedostoon tai hakemistoon
– Emme voi antaa enemmän kuin yksi käyttäjä lupaa käyttää tai muokata tiedostoja & hakemistot kahdella tavalla.,
ensimmäinen menetelmä on käyttäjien lisääminen tiedoston tai kansion ryhmään.
tällä tavalla voimme listata ryhmän jäsenet käyttämällä yllä esitettyä jäsenten hyödyllisyyttä.
Okay, mutta entä jos haluamme vain, että tällä käyttäjällä on pääsy vain tähän tiedostoon (eivät kaikki ryhmäoikeudet)?
Tässä voimme asettaa ACL tämän tiedoston käyttämällä setfacl-komento, kuten tämä:
$ setfacl -m u:newuser:rwx myfile
Täällä me antaa käyttäjä nimeltään newser lupa-tiedosto kutsutaan myfile käyttöoikeudet lukea & kirjoittaa & toteuttaa.,
nyt tiedoston voi käyttää tai muokata omistaja, ja käyttäjä nimeltään newuser. Joten miten luetella ne?
Emme voi luetella niitä käyttämällä komento getfacl, kuten tämä:
$ getfacl myfile
Tämä komento listaa kaikki käyttäjät, joilla on käyttöoikeudet tiedoston kanssa niiden vastaavat käyttöoikeudet.
listaa lukitut (Käytöstä poistetut) käyttäjät
Linuxissa turvatoimenpiteenä voimme lukita käyttäjät. Tämä varotoimenpiteenä, jos epäillään, että käyttäjä tekee asiat väärin, etkä halua kokonaan poistaa käyttäjää ja vain lukita häntä tutkittavaksi.,
lukitse käyttäjä, voit käyttää seuraavaa komentoa:
$ usermod -L myuser
Nyt käyttäjä nimeltä myuser ei enää voi kirjautua tai käyttää järjestelmää.
luettelo kaikista lukittu järjestelmän käyttäjille, käytä seuraavaa komentoa:
$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
Tämä tulostaa kaikki lukittu käyttäjät, mukaan lukien järjestelmän käyttäjille. Entä listaamalla vain tavalliset käyttäjät?
kuten edellä näimme, Awk: n avulla saamme lukittuja säännöllisiä käyttäjiä näin:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
erittäin helposti!,
Listaus kauko-käyttäjät (LDAP)
Okei, nyt voi listata kaikki järjestelmän käyttäjät (paikalliset käyttäjät), mutta entä kauko-käyttäjät tai LDAP-käyttäjät? Voimme käyttää ldapsearchin kaltaista työkalua, mutta onko muuta keinoa?
onneksi Kyllä! Voit luetella paikalliset & kauko-käyttäjät, joilla on yksi komento nimeltään getent
$ getent passwd
Tämä komento luettelot sekä paikallisen järjestelmän käyttäjät ja LDAP-tai NIS-käyttäjät tai muut verkon käyttäjät.
tämän komennon tulokset voi putkella mihin tahansa edellä mainittuun komentoon samalla tavalla.,
Myös getent komennolla voi listata ryhmä tilejä, kuten tämä:
$ getent group
Voit tarkistaa man-sivu komento tietää muita tietokantoja komento voi etsiä.
johtopäätös
käyttäjien listaaminen Linux-järjestelmään oli hauskaa! Tämän lisäksi olemme oppineet vinkkejä käyttäjistä ja siitä, miten niitä voi hallita eri tavoin.
lopulta tämä tieto mahdollistaa järjestelmän käyttäjien paremman hallinnon.
toivottavasti opetusohjelma on hyödyllinen. Tule takaisin.,
Perustaja LikeGeeks. Olen työskennellyt Linux-järjestelmänvalvojana vuodesta 2010. Olen vastuussa Linux-palvelimien ylläpidosta, varmistamisesta ja vianmäärityksestä useille asiakkaille ympäri maailmaa. Rakastan kirjoittaa shell ja Python skriptejä automatisoida työni.