i dette indlæg, vil du lære om notering brugere i Linu.. Udover dette vil du kende andre tricks om Linu. – brugeres egenskaber.
Der er to typer brugere i Linu., systembrugere, der som standard oprettes med systemet. På den anden side er der regelmæssige brugere, der er oprettet af systemadministratorer og kan logge ind på systemet og bruge det.
Indholdsfortegnelse
hvilken fil indeholder listen over brugere på Linu??,
før vi begynder at liste brugere, skal vi vide, hvor disse brugere har gemt på Linu??
brugerne gemmes i en tekstfil på systemet kaldet pass .d-filen. Denne fil er placeret i mappen / etc.
filen er placeret på følgende sti:
$ /etc/passwd
I denne fil, så kan du finde alle de oplysninger om brugerne i systemet.
liste alle brugere
liste over brugere er det første skridt til at administrere dem. På denne måde vil vi vide, hvor mange de er, og hvem de er. I Linu.kan næsten alt gøres på forskellige måder, og det er ingen undtagelse.,
for at liste alle brugere kan du bruge cat-kommandoen:
$ cat /etc/passwd
som du kan se på billedet, er der alle oplysninger om brugerne.
1 – i det første felt vil du se brugernavnet.
2 – det andet felt (character-tegnet) er en repræsentation af den krypterede adgangskode. Den krypterede adgangskode er gemt i/etc / Shado. – fil.
3 – UID eller bruger-ID.
4 – det næste felt refererer til brugerens primære gruppe.
5 – Derefter, det viser bruger-ID info såsom adresse, e-mail, etc.,
6 – Efter dette vil du se brugerens hjemmekatalog.
7 – det sidste felt er den skal, der bruges af den pågældende bruger.
Men selv om de oplysninger, som er ganske nyttigt, hvis du kun vil angive brugere’ navne i en grundlæggende måde, kan du bruge denne kommando:
$ cut -d: -f1 /etc/passwd
Nu har vi de navne, der kun ved at udskrive det første felt af filen.
List & Sorter brugere efter navn
ovenstående kommando tjener formålet med at liste brugere på Linu.. Men hvad med at liste brugerne i alfabetisk rækkefølge?,
for at gøre dette bruger vi den forrige kommando, men vi tilføjer kommandoen Sorter.
så kommandoen vil være sådan:
$ cut -d: -f1 /etc/passwd | sort
som du kan se på billedet, vises brugerne sorteret.
Linu.liste brugere uden adgangskode
det er vigtigt at kende brugere, der ikke har adgangskode, og at træffe passende foranstaltninger. For at liste brugere, der ikke har en adgangskode, skal du bare bruge følgende kommando:
$ sudo getent shadow | grep -Po '^*(?=:.?:)'
den brugte rege.viser alle brugere uden adgangskode.,
liste brugere efter diskbrug
Hvis du har en stor mappe, og du vil vide, hvilken bruger der oversvømmer den, kan du bruge du-kommandoen til at få diskforbruget.
Med dette kan du registrere, hvilke af disse brugere der misbruger diskpladsen.
For det, det er nok at bruge følgende kommando:
$ sudo du -smc /home/* | sort -n
På denne måde, vil du have de brugere, som var bestilt af den disk forbrug til /home-mappen.
Vi brugte-n til sorteringskommandoen til at sortere output efter tal.,
List de brugere, der er logget ind
for at liste de brugere, der er logget ind, har vi flere måder at gøre det på. Den første metode kan vi bruge brugerkommandoen:
$ users
det vil liste brugerne med åbne sessioner i systemet.
men disse oplysninger er lidt grundlæggende; vi har dog en anden kommando, der giver flere detaljer. Kommandoen er simpelthen w.,
$ w
Med denne kommando kan vi have flere oplysninger, såsom det nøjagtige tidspunkt, hvor sessionen blev startet, og den terminalsession, han har tilgængelig.
endelig er der en kommando kaldet .ho. Det er tilgængeligt for hele Uni. – familien. Så du kan bruge det på andre systemer som FreeBSD.
$ who
Med commandho-kommandoen har vi også nogle oplysninger om brugere, der er logget ind. Selvfølgelig kan vi tilføje indstillingen – A og vise alle detaljer.,
$ who -a
På denne måde ved du alt om de loggede brugere.
Linu?liste over brugere, der for nylig er logget ind i systemet
vi så, hvordan man får de brugere, der er logget ind, hvad med at notere brugernes Loginhistorik?,
Du kan bruge den sidste kommando for at få mere info om de logins, der fandt sted:
$ last
Eller login i en bestemt bruger
$ last
For eksempel:
$ last angelo
det er den bruger-login aktivitet, og hvornår det startede, og hvor lang tid det tog.
liste brugernes logins på en bestemt dato eller tid
hvad med notering brugernes logins på en bestemt dato eller tid?, For at opnå dette, vi bruger den sidste kommando, men med den t parameter:
$ last -t YYMMDDHHMMSS
For eksempel:
$ last -t 20190926110509
Og nu, alt du skal gøre er at vælge en nøjagtig dato & tid til at liste, der er logget på det pågældende tidspunkt.
en Liste over alle brugere i en gruppe
Der er to måder at liste medlemmer af en gruppe i Linux, er den nemmeste og mest direkte måde er at få brugere fra /etc/group fil som dette:
$ cat /etc/group | grep likegeeks
Denne kommando vil vise en liste over brugere i likegeeks gruppe.,den anden måde er ved at bruge kommandoer som medlemskommandoen i Debian-baserede distributioner. Det er dog ikke installeret som standard i Linu. – distributioner.,
for At installere den i Ubuntu / Linux Mint 19, bare bruge APT:
$ sudo apt install members
i tilfælde af CentOS:
$ sudo dnf install members
Når det er installeret, kan du køre kommandoen derefter navnet på den gruppe, du ønsker at liste brugerne mulighed for at:
$ members
For eksempel:
$ members avahi
på Denne måde, kan du liste af brugere til en gruppe i en Debian-baseret distribution. Hvad med en RedHat baseret distro som CentOS?,
Du kan bruge følgende kommando:
$ getent group likegeeks
liste brugere med UID
i Uni. – systemer har hver bruger en brugeridentifikator eller ID. Det tjener til at styre og administrere konti internt i operativsystemet.
generelt er UID ‘ er fra 0 til 1000 for systembrugere. Og derefter for almindelige brugere. Altid på uni. – systemer hører UID zeroero til rodbrugerne (du kan have mere end en bruger med uid på nul).
så nu vil vi liste brugerne med deres respektive UID ved hjælp af A .k.,
Den kommando, der udfører opgaven er følgende:
$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Som du kan se, hver bruger med hans UID.
liste rodbrugere
i et uni.-lignende system som Linu. er der normalt kun en rodbruger. Hvis der er mange, hvordan man lister dem?
for At gøre dette, kan vi bruge denne kommando:
$ grep 'x:0:' /etc/passwd
Her er vi filtrering filen for at få brugere med UID på nul (root brugere).,
en anden måde ved at kontrollere/etc/group-filen:
$ grep root /etc/group
Her får vi brugere i gruppens rod fra/etc / group-filen.
du kan Også tjekke, hvis en bruger kan udføre kommandoer som root ved at kontrollere /etc/sudoers:
$ cat /etc/sudoers
Få det samlede antal af brugere
for At få det samlede antal af brugere i Linux, kan du regne-linjer i /etc/passwd fil ved hjælp af wc kommando som denne:
$ cut -d: -f1 /etc/passwd | wc -l
Store! 43 brugere., Men dette omfatter system og almindelige brugere. Hvad med at få antallet af almindelige brugere kun?
nemt! Da vi ved fra oven som almindelige brugere har UID af 1000 eller derover, kan vi bruge en alternativ metode til at få dem:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Cool!
liste sudo-brugere
Linu. – systemer har et værktøj kaldet sudo, der giver dig mulighed for at udføre kommandoer, som om du var en anden bruger, der normalt er rodbrugeren.
dette skal håndteres med omhu i et professionelt miljø.,
det er også meget vigtigt at vide, hvilke brugere der kan køre sudo-kommandoen. Til dette er det nok at liste de brugere, der tilhører sudo-gruppen.
$ members sudo
Brugere i denne gruppe kan udføre kommandoer som super-brugere.
liste brugere, der har SSH adgang
SSH giver brugerne adgang til eksterne computere via et netværk. Det er helt sikkert og blev født som en erstatning for Telnet.
som standard kan alle almindelige brugere logge ind og bruge ssh., Hvis du ønsker at begrænse dette, kan du bruge SSH-konfigurationsfil (/etc/ssh/ssh_config), og tilføj følgende direktiv:
AllowUsers user1 user2 user3
du kan Også tillade, at grupper i stedet for at lade brugerne kun bruger AllowGroups direktiv:
AllowGroups group1 group2 group3
Disse direktiver, der definerer, hvem der kan få adgang til den tjeneste. Glem ikke at genstarte SSH-tjenesten.
Liste af brugere, der har tilladelser på en fil eller mappe
Vi kan give mere end én bruger tilladelse til at få adgang til eller ændre filer & mapper på to måder.,
den første metode er at tilføje brugere til gruppen af filen eller mappen.
På denne måde kan vi liste gruppemedlemmerne ved hjælp af medlemsværktøjet som vist ovenfor.
Okay, men hvad nu hvis vi bare ønsker, at denne bruger kun skal have adgang til denne specifikke fil (ikke alle gruppetilladelser)?
Her kan vi indstille ACL for denne fil ved hjælp af setfacl kommando som denne:
$ setfacl -m u:newuser:rwx myfile
Her giver vi en bruger, som bliver kaldet newser tilladelse til fil kaldet minfil tilladelser for at læse & skriv & udfør.,
nu filen kan tilgås eller ændres af ejeren, og brugeren hedder ne .user. Så hvordan man lister dem?
Vi kan liste dem ved hjælp af getfacl-kommandoen som denne:
$ getfacl myfile
denne kommando viser alle brugere, der har tilladelser til filen, med deres tilsvarende tilladelser.
liste låste (deaktiverede) brugere
i Linu.kan vi som en sikkerhedsforanstaltning låse brugere. Dette som en forholdsregel, hvis det er mistanke om, at brugeren gør ting forkert, og du ikke ønsker at fjerne brugeren helt og bare låse ham til undersøgelse.,
for at låse en bruger kan du bruge følgende kommando:
$ usermod -L myuser
nu kan den bruger, der hedder myuser, ikke længere logge ind eller bruge systemet.
for at liste alle låste brugere af systemet skal du blot bruge følgende kommando:
$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
dette udskriver alle låste brugere, inklusive systembrugere. Hvad med kun at notere almindelige brugere?
Som vi så ovenfor, ved hjælp af A !k, kan vi få låste almindelige brugere som denne:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
meget let!,
liste over fjernbrugere (LDAP)
Okay, nu Kan du liste alle systembrugere (lokale brugere), men hvad med fjernbrugere eller LDAP-brugere? Nå, vi kan bruge et værktøj som ldapsearch, men er der nogen anden måde?
heldigvis Ja! Du kan liste lokale & fjernbrugere med en kommando kaldet getent
$ getent passwd
denne kommando viser både lokale systembrugere og LDAP-eller NIS-brugere eller andre netværksbrugere.
Du kan pipe resultaterne af denne kommando til en af de ovennævnte kommandoer på samme måde.,
getent-kommandoen kan også angive gruppekonti som denne:
$ getent group
Du kan kontrollere kommandoens man-side for at kende de andre databaser, som kommandoen kan søge i.
konklusion
det var sjovt at liste brugere i Linu! – systemet! Udover dette har vi lært nogle tips om brugere og hvordan man styrer dem på forskellige måder.
endelig vil denne viden muliggøre en bedre administration af brugerne af systemet.
Jeg håber du finder vejledningen nyttig. Bliv ved med at komme tilbage.,
Grundlægger af LikeGeeks. Jeg arbejder som Linu.systemadministrator siden 2010. Jeg er ansvarlig for vedligeholdelse, sikring og fejlfinding af Linu. – servere til flere klienter over hele verden. Jeg elsker at skrive shell og Python scripts til at automatisere mit arbejde.