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.