Utolsó frissítés dátuma
Fontos tudni, hogy ki férhet hozzá a Linux-számítógéphez (és ki férhet hozzá a fájlok felett), de könnyen listázhatja a Linux felhasználóit, hogy megtudja. Itt van, hogyan.
A Linux operációs rendszer parancsokat kínál a felhasználók létrehozására és törlésére, valamint a bejelentkezett felhasználók ellenőrzésére. Azonban nincs parancs a felhasználók listázására, függetlenül attól, hogy bejelentkeztek-e vagy sem.
Ennek ellenére van néhány módja ennek a megoldására. Ha meg szeretné tudni, hogyan listázhat ki felhasználókat Linux rendszerben, kövesse az alábbi lépéseket.
Miért érdemes ellenőrizni a Linux felhasználói listáját?
Számos oka lehet annak, hogy érdemes listázni a Linux felhasználókat. Ez egy jó gyakorlat a nem használt fiókok megtalálása és törlése szempontjából. Biztonsági szempontból ez egy jó módja annak, hogy megbizonyosodjon arról, hogy ne hozzanak létre behatolók felhasználói fiókokat.
Ez egy adminisztrációs feladat, amelyet valószínűleg legalább havonta egyszer el kell végeznie. Ha vállalati Linux-kiszolgálót futtat, érdemes gyakrabban megtennie.
Az /etc/passwd fájlban felsorolt felhasználók
A Linux-szerver összes felhasználói fiókjában vannak bejegyzések a fájlban /etc/passwd. Minden sor egy felhasználót jelöl, és hét kettősponttal elválasztott mezőt tartalmaz. A mezők információkat tartalmaznak a felhasználóról.
- Felhasználónév.
- Titkosított jelszó (x azt jelzi, hogy a jelszó valóban benne van /etc/shadow)
- Felhasználói azonosító szám (UID).
- Felhasználói csoportazonosító szám (GID).
- A felhasználó teljes neve, ha szerepel.
- Felhasználói kezdőkönyvtár.
- Bejelentkezés shell
Tehát ezzel eljutottunk ahhoz a módhoz, hogy felsoroljuk az összes Linux felhasználót. Használhatja a Kevésbé parancsot a teljes fájl megjelenítéséhez, egyenként képernyőnként.
kevesebb /etc/passwd.
Ha ellenőrizni szeretné, hogy egy adott felhasználó létezik-e a Linux rendszerben, akkor ez jó haszna a parancsnak grep:
kevesebb passwd | grep jeff.
Ha nem kap semmilyen kimenetet, akkor ez a felhasználó nem létezik a Linux-kiszolgálón.
Ennek ellenére ez nagyon sok információ. Levághatja csak a felhasználónévre, például használja a awk vagy vágott parancsol:
awk -F: '{print $1}' /etc/passwd. cut -d: -f1 /etc/passwd.
Ez általában sokkal könnyebben érthető, de így is megtekintheti az összes rendszeralapú felhasználói fiókot, amelyek az emberi felhasználókkal keverednek.
A getent használata a felhasználók listázásához
Újabb parancs, gyengéd, sokkal hasznosabb. Megjeleníti a bejegyzéseket bármilyen konfigurált adatbázis a szerverén /etc/nsswitch.conf fájlt. Az egyik ilyen a passwd adatbázis. Használni gyengéd az összes Linux-felhasználó listájának megjelenítéséhez a következőképpen működik:
getent passwd
A kimenet pontosan ugyanúgy néz ki, mint a Kevésbé parancsot, de felsorolja a Linux rendszer összes LDAP-felhasználóját. Még egyszer a miénk awk és vágott parancsok segítségével csak az első mező, a felhasználónevek láthatók.
Ha ellenőrizni szeretné, hogy egy adott felhasználó létezik-e a Linux rendszerben, gyengéd megkönnyíti:
getent passwd jeff.
Ismételten, a parancs egyetlen kimenete sem jelzi, hogy a felhasználó nem létezik.
Egy másik nagyszerű felhasználási lehetőség gyengéd megtudja, hány felhasználói fiók létezik a szerveren. Ez csövek segítségével történik gyengéd’s kimenet a WC parancs, így:
getent passwd | wc -l.
Amint látja, a Linux rendszerem összesen 48 fiókkal rendelkezik. Elég érdekes, mivel én vagyok az egyetlen, aki használja, de ez csak azt mutatja, hogy hány rendszerfiókot hoztak létre a Linuxban.
A rendszerhasználók kiszűrése a normál felhasználók közül
A Linux szemében nincs különbség a rendszerfelhasználó és az ember között. Bármikor telepíti az operációs rendszert, számos rendszerfelhasználót hoz létre. Más rendszerfelhasználók különféle csomagokhoz, például webes vagy levelező szoftverekhez jönnek létre.
Tehát hogyan lehet felsorolni a Linux rendszer szokásos, emberi felhasználókat? A kulcs itt annak megértése, hogy amikor létrehoz egy normál felhasználót, az UID egy bizonyos számtartományon belül van hozzárendelve. Ellenőrizve a /etc/login.defs fájl segítségével meghatározhatjuk a normál felhasználói fiókok számára elérhető UID-értékek tartományát.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
A kimenet alapján úgy tudom, hogy a normál felhasználóknak 1000 és 60000 közötti UID-vel kell rendelkezniük. Ebből konstruálhatok a gyengéd lekérdezés, amely csak a normál felhasználókat jeleníti meg.
getent passwd {1000..60000}
Észben tart, gyengéd akkor is lefagy, miután megjeleníti a kimenetét. Megnyomhatod Ctrl-C a folyamat befejezéséhez, vagy várja meg, amíg befejeződik. Általában kevesebb, mint 15 másodpercet vesz igénybe a keresés befejezése passwd adatbázis.
A parancs általánosabb változata figyelembe veszi a különböző UID_MIN és UID_MAX különböző szerverek által használt értékek.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
Ebben a parancsban kihasználjuk a Linux azon képességét, hogy egyszerre több dolgot is elvégezhet. A awk parancsok kapják meg a UID_MIN és UID_MAX értékeket, majd használja őket a gyengéd parancs.
Tegyük fel, hogy csak a felhasználóneveket akarjuk. Még egyszer átvezetjük a kimenetünket a vágott parancs, így:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1.
Ennek a parancsnak a végrehajtása 10-15 másodpercig tarthat, ezért legyen türelmes.
A Linux-felhasználók hatékony kezelése
Fontos nyomon követni, hogy milyen felhasználói fiókok léteznek a Linux rendszeren. Ha tudja, hogy egy alkalmazott távozott, azonnal törölje felhasználói fiókját. A Linux-felhasználók rendszeres felsorolása segít abban, hogy elkapja az esetlegesen elakadt fiókokat.
Ugyanakkor ügyeljen arra, hogy a tetején maradjon jelszavas biztonsági szabályzatok és ösztönözze a felhasználókat erre megváltoztatni a jelszavakat rendszeresen.