15 + példák a felhasználók listázására Linuxban

ebben a bejegyzésben megtudhatja a Linux felhasználóinak felsorolását. Ezenkívül más trükköket is megismerhet a Linux felhasználók jellemzőiről.

kétféle felhasználó van a Linuxban, a rendszerhasználók, akik alapértelmezés szerint a rendszerrel jönnek létre. Másrészt vannak olyan rendszeres felhasználók, akiket a rendszergazdák hoznak létre, és be tudnak jelentkezni a rendszerbe, és használhatják azt.

Tartalomjegyzék

milyen fájl tartalmazza a Linux felhasználók listáját?,

mielőtt elkezdenénk felsorolni a felhasználókat, tudnunk kell, hol mentették ezeket a felhasználókat Linuxon?

a felhasználók a passwd fájlnak nevezett rendszer szöveges fájljában tárolódnak. Ez a fájl az /etc könyvtárban található.

a fájl a következő útvonalon található:

$ /etc/passwd

ebben a fájlban megtalálhatja a rendszerben lévő felhasználókra vonatkozó összes információt.

az összes felhasználó felsorolása

a felhasználók listázása az első lépés a kezelésükhöz. Így tudni fogjuk, hányan vannak és kik ők. A Linuxban szinte mindent meg lehet tenni különböző módon, ez sem kivétel.,

az összes felhasználó felsorolásához használhatja a cat parancsot:

$ cat /etc/passwd

mint látható a képen, minden információ megtalálható a felhasználókról.

1-az első mezőben megjelenik a felhasználónév.

2-a második mező (az x karakter) a titkosított jelszó ábrázolása. A titkosított jelszó az /etc/shadow fájlban tárolódik.

3-az UID vagy a felhasználói azonosító.

4-a következő mező a felhasználó elsődleges csoportjára vonatkozik.

5-ezután megmutatja a felhasználói azonosító adatait, például a címet, az e-mailt stb.,

6-Ezt követően megjelenik a felhasználó otthoni Könyvtára.

7-Az utolsó mező az adott felhasználó által használt héj.

bár az információ nagyon hasznos, ha csak a felhasználók nevét alapvető módon szeretné felsorolni, használhatja ezt a parancsot:

$ cut -d: -f1 /etc/passwd

most már csak a fájl első mezőjének nyomtatásával rendelkezünk nevekkel.

List & felhasználók rendezése név szerint

a fenti parancs a Linux felhasználók listázásának célját szolgálja. De mi a helyzet a felhasználók ábécé sorrendben történő felsorolásával?,

ehhez az előző parancsot fogjuk használni, de hozzáadjuk a rendezési parancsot.

tehát a parancs így lesz:

$ cut -d: -f1 /etc/passwd | sort

ahogy a képen látható, a felhasználók rendezve vannak.

Linux lista felhasználók jelszó nélkül

fontos tudni, hogy a felhasználók, akik nem rendelkeznek jelszóval, és hogy megfelelő intézkedéseket. A jelszóval nem rendelkező felhasználók listájához csak használja a következő parancsot:

$ sudo getent shadow | grep -Po '^*(?=:.?:)'

a használt regex minden jelszót nem tartalmazó felhasználót felsorol.,

listázza a felhasználókat Lemezhasználat szerint

ha van egy nagy könyvtárad, és szeretné tudni, hogy melyik felhasználó árasztja el, akkor a du paranccsal megkaphatja a lemezhasználatot.

ezzel felismerheti, hogy ezek közül a felhasználók közül melyik használja vissza a lemezterületet.

ehhez elegendő a következő parancsot használni:

$ sudo du -smc /home/* | sort -n

ily módon a /home könyvtár lemezhasználata által megrendelt felhasználók.

A-n-t használtuk a rendezés parancshoz a kimenet számok szerinti rendezéséhez.,

sorolja fel az aktuálisan naplózott felhasználókat

az aktuálisan bejelentkezett felhasználók felsorolásához többféle módon is megtehetjük. Az első módszer, amellyel a felhasználók parancsot használhatjuk:

$ users

felsorolja a rendszerben nyitott munkamenetekkel rendelkező felhasználókat.

de ez az információ egy kicsit alapvető; azonban van egy másik parancsunk,amely további részleteket ad. A parancs egyszerűen w.,

$ w

ezzel a paranccsal több információnk lehet, mint például a munkamenet megkezdésének pontos ideje, valamint a rendelkezésre álló terminál munkamenet.

végül van egy who nevű parancs. Az egész Unix család számára elérhető. Tehát más rendszereken is használhatja, mint például a FreeBSD.

$ who

a who paranccsal rendelkezünk néhány információval a jelenleg bejelentkezett felhasználókról is. Természetesen hozzáadhatjuk az a opciót, és megmutathatjuk az összes részletet.,

$ who -a

így mindent tud a bejelentkezett felhasználókról.

Linux azoknak a felhasználóknak a listája, akik nemrégiben bejelentkeztek a rendszerbe

láttuk, hogyan lehet A jelenleg bejelentkezett felhasználókat megszerezni, mi lenne a felhasználók bejelentkezési előzményeinek felsorolásával?,

az utolsó paranccsal további információt kaphat a bejelentkezésekről:

$ last

vagy egy adott felhasználó naplói

$ last 

például:

/p>

$ last angelo

A felhasználók bejelentkezéseinek listája egy adott időpontban vagy időpontban

mi a helyzet a felhasználók bejelentkezéseinek listázásával egy adott időpontban vagy időpontban?, Ennek eléréséhez az utolsó parancsot használjuk, de a-t paraméterrel:

$ last -t YYMMDDHHMMSS

például:

$ last -t 20190926110509

és most csak annyit kell tennie, hogy kiválaszt egy pontos dátumot & ideje felsorolni, hogy ki jelentkezett be abban az időben.

egy csoport összes felhasználójának felsorolása

kétféleképpen lehet felsorolni egy csoport tagjait Linuxon, a legegyszerűbb és legközvetlenebb módja az, ha a felhasználókat az/etc/group fájlból kapjuk:

$ cat /etc/group | grep likegeeks

Ez a parancs felsorolja a likegeeks csoport felhasználóit.,

a másik út olyan parancsok használata, mint a tagok parancs a Debian alapú disztribúciókban. Azonban alapértelmezés szerint nincs telepítve a Linux disztribúciókban.,

telepíteni az Ubuntu / Linux mint 19, csak használja az APT:

$ sudo apt install members

Vagy abban az esetben, CentOS:

$ sudo dnf install members

Ha telepíteni, futtatni a parancsot, akkor a csoport neve azt szeretné, hogy a lista a felhasználók számára, hogy:

$ members 

példa:

$ members avahi

Ez a módja, akkor a lista a felhasználók egy csoportja egy Debian alapú disztribúció. Mi a helyzet a RedHat alapú disztró, mint CentOS?,

a következő parancsot használhatja:

$ getent group likegeeks

lista felhasználók UID

Unix rendszerekben minden felhasználónak van felhasználói azonosítója vagy azonosítója. Az operációs rendszer belső fiókjainak kezelésére és kezelésére szolgál.

általában a 0-tól 1000-ig terjedő UID-ek a rendszerhasználók számára készültek. Ezt követően rendszeres felhasználók számára. Mindig Unix rendszereken az UID zero a root felhasználókhoz tartozik(egynél több felhasználó lehet nulla UID-vel).

tehát most felsoroljuk a felhasználókat a megfelelő UID-jükkel az Awk használatával.,

a feladatot ellátó parancs a következő:

$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd

mint látható, minden felhasználó az UID-jével.

list root felhasználók

egy Unix-szerű rendszer, mint a Linux, általában csak egy root felhasználó. Ha sok van, hogyan kell felsorolni őket?

ehhez használhatjuk ezt a parancsot:

$ grep 'x:0:' /etc/passwd

itt szűrjük a fájlt, hogy a felhasználók UID nulla (root felhasználók).,

egy másik módszer az /etc/group fájl ellenőrzésével:

$ grep root /etc/group

itt a /etc/group fájlból kapjuk a felhasználókat a csoport gyökérében.

azt is ellenőrizheti, hogy bármely felhasználó gyökérként hajthat-e végre parancsokat az /etc/sudoers fájl ellenőrzésével:

$ cat /etc/sudoers

szerezze be a felhasználók teljes számát

a Linux felhasználók teljes számának eléréséhez sorokat számolhat az /etc/passwd fájlban a wc parancs segítségével:

$ cut -d: -f1 /etc/passwd | wc -l

nagyszerű! 43 felhasználó., De ez magában foglalja a rendszer és a rendszeres felhasználók. Mi a helyzet a szerzés a rendszeres felhasználók száma csak?

könnyű! Mivel fentről tudjuk, hogy a rendszeres felhasználóknak 1000 vagy annál nagyobb UID-je van, az Awk segítségével megkaphatjuk őket:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Cool!

lista sudo felhasználók

Linux rendszerek egy segédprogram nevű sudo, amely lehetővé teszi, hogy végre parancsokat, mintha egy másik felhasználó, aki általában a root felhasználó.

ezt szakmai környezetben óvatosan kell kezelni.,

szintén nagyon fontos tudni, hogy mely felhasználók futtathatják a sudo parancsot. Ehhez elegendő felsorolni a sudo csoporthoz tartozó felhasználókat.

$ members sudo

A csoport felhasználói szuper felhasználóként hajthatnak végre parancsokat.

az SSH hozzáféréssel rendelkező felhasználók listája

az SSH lehetővé teszi a felhasználók számára, hogy távoli számítógépeket érjenek el hálózaton keresztül. Ez elég biztonságos, és született, mint egy helyettesítő Telnet.

alapértelmezés szerint minden rendszeres felhasználó bejelentkezhet és használhatja az SSH-t., Ha ezt korlátozni szeretné, használhatja az SSH konfigurációs fájlt (/etc/ssh/ssh_config), és hozzáadhatja a következő irányelvet:

AllowUsers user1 user2 user3

is, engedélyezheti a csoportokat, ahelyett, hogy a felhasználókat csak a AllowGroups direktíva használatával engedélyezné:

AllowGroups group1 group2 group3

ezek az irányelvek meghatározzák, hogy ki férhet hozzá a szolgáltatáshoz. Ne felejtse el újraindítani az SSH szolgáltatást.

listázza azokat a felhasználókat, akiknek engedélyük van egy fájlhoz vagy könyvtárhoz

egynél több felhasználói engedélyt adhatunk a fájlok eléréséhez vagy módosításához & könyvtárak kétféleképpen.,

az első módszer a felhasználók hozzáadása a fájl vagy a könyvtár csoportjához.

ily módon felsorolhatjuk a csoporttagokat a tagok segédprogram segítségével, a fentiek szerint.

Oké, de mi van, ha csak azt akarjuk, hogy ez a felhasználó csak ehhez a fájlhoz férjen hozzá (nem minden csoport engedély)?

itt állíthatjuk be a fájl ACL-jét a setfacl parancs segítségével:

$ setfacl -m u:newuser:rwx myfile

itt megadjuk a newser nevű felhasználónak a myfile nevű fájl engedélyét a read & write & execute.,

most a fájl a tulajdonos által elérhető vagy módosítható, a felhasználó pedig newuser. Szóval hogyan kell felsorolni őket?

a getfacl parancs segítségével sorolhatjuk fel őket:

$ getfacl myfile

Ez a parancs felsorolja azokat a felhasználókat, akiknek a megfelelő engedélyekkel rendelkeznek a fájlhoz.

lista zárolt (letiltott) felhasználók

Linuxban biztonsági intézkedésként zárolhatjuk a felhasználókat. Ez elővigyázatosságból, ha azt gyanítják, hogy a felhasználó rosszul cselekszik, és nem akarja teljesen eltávolítani a felhasználót, csak bezárni a vizsgálathoz.,

a felhasználó zárolásához a következő parancsot használhatja:

$ usermod -L myuser

most a myuser nevű felhasználó már nem lesz képes bejelentkezni vagy használni a rendszert.

a rendszer összes zárolt felhasználójának felsorolásához csak használja a következő parancsot:

$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

Ez kinyomtatja az összes zárolt felhasználót, beleértve a rendszerhasználókat is. Mi a helyzet a csak rendszeres felhasználók listázásával?

ahogy fent láttuk, az Awk használatával zárolt rendszeres felhasználókat kaphatunk, mint ez:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

nagyon egyszerű!,

távoli felhasználók (LDAP)

Oké, most felsorolhatja az összes rendszerhasználót (helyi felhasználókat), de mi van a távoli felhasználókkal vagy az LDAP felhasználókkal? Nos, használhatunk egy olyan eszközt, mint az ldapsearch, de van-e más mód?

szerencsére igen! A helyi & távoli felhasználókat egy getent

$ getent passwd

parancs mind a helyi rendszerhasználókat, mind az LDAP vagy a NIS felhasználókat vagy bármely más hálózati felhasználót felsorolja.

ennek a parancsnak az eredményeit a fent említett parancsok bármelyikére ugyanúgy lehet pipálni.,

ezenkívül a getent parancs felsorolhatja az ilyen csoportos fiókokat:

$ getent group

ellenőrizheti a parancs man oldalát, hogy megismerje a többi adatbázist, amelyben a parancs kereshet.

következtetés

a felhasználók felsorolása a Linux rendszerben szórakoztató volt! Ezen kívül megtanultunk néhány tippet a felhasználókról, hogyan kezelhetjük őket különböző módon.

végül ez a tudás lehetővé teszi a rendszer felhasználói jobb adminisztrációját.

remélem, hasznosnak találja a bemutatót. Gyere vissza.,

a LikeGeeks alapítója. 2010 óta dolgozom Linux rendszergazdaként. Én vagyok a felelős a Linux szerverek karbantartásáért, biztonságáért és hibaelhárításáért világszerte több ügyfél számára. Szeretek shell és Python szkripteket írni, hogy automatizáljam a munkámat.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük