Paskutinį kartą atnaujinta
Svarbu žinoti, kas turi prieigą prie jūsų „Linux“ kompiuterio (ir valdo jūsų failus), tačiau galite lengvai įtraukti „Linux“ naudotojų sąrašą, kad sužinotumėte. Štai kaip.
The Linux operacinė sistema siūlo komandas kurti ir ištrinti vartotojus bei patikrinti, kurie iš jų yra prisijungę. Tačiau sistemoje nėra komandos, kuri pateiktų naudotojų, prisijungusių ar neprisijungusių, sąrašą.
Vis dėlto yra keletas būdų, kaip tai padaryti. Jei norite sužinoti, kaip įtraukti naudotojus į sąrašą „Linux“, atlikite toliau nurodytus veiksmus.
Kodėl turėtumėte patikrinti savo „Linux“ vartotojų sąrašą
Yra keletas priežasčių, kodėl galbūt norėsite įtraukti vartotojus į sąrašą „Linux“. Tai gera praktika, kai reikia rasti ir ištrinti nenaudojamas paskyras. Saugumo požiūriu tai taip pat geras būdas įsitikinti, kad naudotojų paskyras kuriantys įsibrovėliai nėra.
Tai administracinė užduotis, kurią tikriausiai turėtumėte atlikti bent kartą per mėnesį. Jei naudojate įmonės Linux serverį, galbūt norėsite tai daryti dažniau.
Vartotojai įrašyti /etc/passwd
Visose jūsų „Linux“ serverio vartotojų paskyrose yra įrašų faile /etc/passwd. Kiekviena eilutė žymi vartotoją ir turi septynis laukus, atskirtus dvitaškiais. Laukuose pateikiama informacija apie vartotoją.
- Vartotojo vardas.
- Šifruotas slaptažodis (x rodo, kad slaptažodis iš tikrųjų yra /etc/shadow)
- Vartotojo ID numeris (UID).
- Vartotojo grupės ID numeris (GID).
- Visas vartotojo vardas, pavardė, jei nurodyta.
- Vartotojo namų katalogas.
- Prisijungimo apvalkalas
Taigi, mes turime vieną būdą, kaip išvardyti visus „Linux“ vartotojus. Galite naudoti mažiau komanda, kad pamatytumėte visą failą po vieną ekraną.
mažiau /etc/passwd.
Jei norite patikrinti, ar „Linux“ sistemoje yra tam tikras vartotojas, tai tinka komandai grep:
mažiau passwd | grep jeff.
Jei negaunate jokios išvesties, to vartotojo Linux serveryje nėra.
Vis dėlto tai yra daug informacijos. Galite sumažinti jį iki vartotojo vardo, pavyzdžiui, naudodami bet kurį awk arba supjaustyti komandos:
awk -F: '{spausdinti $1}' /etc/passwd. cut -d: -f1 /etc/passwd.
Tai paprastai yra daug lengviau suprasti, bet vis tiek galite peržiūrėti visas sistemos pagrindu sukurtas vartotojų paskyras, sumaišytas su jūsų žmonėmis.
Kaip naudoti getent į sąrašą naudotojų
Dar viena komanda, gėdingas, yra daug naudingesnis. Rodomi įrašai iš bet kuri sukonfigūruota duomenų bazė jūsų serveryje /etc/nsswitch.conf failą. Vienas iš jų yra passwd duomenų bazėje. Naudoti gėdingas Norėdami parodyti visų „Linux“ vartotojų sąrašą, jis veikia taip:
getent passwd
Išvestis atrodo lygiai taip pat, kaip naudojant mažiau komandą, bet pateikia visų „Linux“ sistemos LDAP vartotojų sąrašą. Dar kartą mūsų awk ir supjaustyti komandos gali padėti matyti tik pirmąjį lauką – naudotojų vardus.
Jei norite patikrinti, ar Linux sistemoje yra tam tikras vartotojas, gėdingas palengvina:
getent passwd jeff.
Vėlgi, jokia šios komandos išvestis nerodo, kad vartotojas neegzistuoja.
Dar vienas puikus panaudojimas gėdingas yra išsiaiškinti, kiek vartotojų paskyrų yra serveryje. Tai atliekama vamzdynais gėdingas’s išvestis per wc komanda, tokia:
getent passwd | wc -l.
Kaip matote, mano Linux sistemoje iš viso yra 48 paskyros. Gana įdomu, nes aš esu vienintelis, kuris jį naudoju, bet tai tik parodo, kiek sistemos paskyrų sukurta Linux.
Sistemos naudotojų atskyrimas nuo įprastų vartotojų
„Linux“ požiūriu nėra jokio skirtumo tarp sistemos vartotojo ir žmogaus. Kiekvieną kartą, kai įdiegiate OS, ji sukuria daugybę sistemos vartotojų. Kiti sistemos vartotojai sukuriami įvairiems paketams, tokiems kaip žiniatinklio ar pašto paslaugų programinė įranga.
Taigi, kaip galite išvardyti tik paprastus žmones „Linux“ sistemoje? Svarbiausia suprasti, kad kai sukuriate įprastą vartotoją, jo UID priskiriamas tam tikrame skaičių diapazone. Patikrinus /etc/login.defs failą, galime nustatyti UID verčių diapazoną, prieinamą įprastoms vartotojų paskyroms.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
Remdamasis išvestimi, žinau, kad paprastų vartotojų UID turėtų būti nuo 1000 iki 60 000. Iš to galiu konstruoti a gėdingas užklausą, kurioje bus rodomi tik įprasti vartotojai.
getent passwd {1000..60000}
Nepamiršk, gėdingas atrodys kabo net ir pateikus išvestį. Galite paspausti Ctrl-C kad užbaigtumėte procesą, arba palaukite, kol jis baigsis. Paprastai paieška užtrunka mažiau nei 15 sekundžių passwd duomenų bazėje.
Bendresnėje šios komandos versijoje atsižvelgiama į skirtingus UID_MIN ir UID_MAX vertės, kurias gali naudoti įvairūs serveriai.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {spausdinti $2}' /etc/login.defs)}
Šioje komandoje mes pasinaudojame „Linux“ galimybe atlikti kelis veiksmus vienu metu. The awk komandos gauti UID_MIN ir UID_MAX reikšmes, tada naudokite jas gėdingas komandą.
Tarkime, kad viskas, ko norime, yra vartotojo vardai. Dar kartą išvestį nukreipiame per supjaustyti komandą, pavyzdžiui:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {spausdinti $2}' /etc/login.defs)} | supjaustyti -d: -f1.
Ši komanda gali užtrukti nuo 10 iki 15 sekundžių, todėl būkite kantrūs.
Efektyvus „Linux“ naudotojų valdymas
Svarbu sekti, kokios vartotojų paskyros yra jūsų „Linux“ sistemoje. Kai žinote, kad darbuotojas išvyko, nedelsdami ištrinkite jo vartotojo paskyrą. Reguliariai įtraukę „Linux“ naudotojus į sąrašą padėsite įsitikinti, kad pastebėsite visas paskyras, kurios galėjo įstrigti.
Tuo pačiu metu būtinai būkite ant viršaus slaptažodžių saugumo politika ir paskatinkite savo vartotojus tai daryti pakeisti savo slaptažodžius reguliariai.