Πώς να κάνετε λίστα χρηστών στο Linux



Γρήγοροι Σύνδεσμοι

Βασικά Takeaways

  • Μπορείτε να καταχωρήσετε λογαριασμούς χρηστών στο Linux χρησιμοποιώντας εντολές όπως “cat /etc/passwd” ή “getent passwd”.
  • Οι ξένοι και αχρησιμοποίητοι λογαριασμοί απλώς προσθέτουν ακαταστασία στο σύστημά σας και ενδέχεται να παρουσιάζουν ακόμη και κίνδυνο ασφάλειας, ανάλογα με την κατάστασή σας.

Το Linux είναι ένα λειτουργικό σύστημα πολλών χρηστών, επομένως η δημιουργία πολλών λογαριασμών χρηστών είναι εύκολη. Με τον καιρό, είναι εύκολο να χάσετε την παρακολούθηση των λογαριασμών που απαιτούνται. Η καταχώριση λογαριασμών χρηστών σάς βοηθά να τους διαχειριστείτε.

Συνήθως, οι επιπλέον λογαριασμοί απλώς προσθέτουν ακαταστασία, αλλά μπορούν επίσης να ανοίξουν

.

Η πρόοδος της τεχνολογίας συχνά φέρνει τα δικά της νέα προβλήματα. Μόλις οι υπολογιστές μπόρεσαν να υποστηρίξουν πολλούς χρήστες, έγινε εμφανής η ανάγκη να περιφράσσεται και να περικλείεται η εργασία κάθε ατόμου από όλους τους άλλους. Αυτό οδήγησε στην ιδέα των λογαριασμών χρηστών. Κάθε χρήστης έχει ένα όνομα ταυτότητας και έναν κωδικό πρόσβασης. Αυτά είναι τα διαπιστευτήρια που τους επιτρέπουν να συνδεθούν στον λογαριασμό τους. Τα αρχεία τους φυλάσσονται σε χώρο που είναι ιδιωτικός για κάθε χρήστη.

Σε ένα πολυάσχολο σύστημα, είναι εύκολο να παραβλέψουμε ποιους λογαριασμούς έχετε δημιουργήσει και ποιους δεν χρειάζονται πλέον. Από την άποψη της ασφάλειας, είναι κακή πρακτική να διατηρείτε λογαριασμούς χρηστών που δεν χρειάζεται πλέον να διαμορφώνονται και να είναι προσβάσιμοι στον υπολογιστή σας. Θα πρέπει να αφαιρέσετε αυτούς τους χρήστες.

Ακόμα κι αν δεν έχετε άλλα άτομα που χρησιμοποιούν τον υπολογιστή σας, ίσως έχετε δημιουργήσει μερικούς λογαριασμούς απλώς για να μάθετε πώς να το κάνετε ή για να μάθετε και να εξασκήσετε τις διαδικασίες διαχείρισης.

Το πρώτο βήμα είναι να καταχωρίσετε τους λογαριασμούς χρηστών που έχουν ρυθμιστεί στον υπολογιστή σας. Αυτό σας επιτρέπει να τα ελέγξετε και να κάνετε μια κλήση κρίσης, η οποία μπορεί να διαγραφεί. Υπάρχουν διάφοροι τρόποι για να καταγράψετε τους χρήστες. Ανεξάρτητα από τη διανομή που χρησιμοποιείτε, αυτές οι τεχνικές θα λειτουργούν για εσάς χωρίς να χρειάζεται να εγκαταστήσετε εφαρμογές ή βοηθητικά προγράμματα.

Λίστα χρηστών με την εντολή cat

Μια λίστα με τους διαμορφωμένους χρήστες διατηρείται, μαζί με πληροφορίες για κάθε χρήστη, στο αρχείο “/etc/passwd”. Αυτό είναι ένα αρχείο κειμένου που οι τακτικοί χρήστες μπορούν να παραθέσουν στο παράθυρο του τερματικού. Δεν χρειάζεται να χρησιμοποιήσετε

sudo

για να δείτε το αρχείο “/etc/passwd”.

Μπορούμε να χρησιμοποιήσουμε το

cat

εντολή για αποστολή των περιεχομένων του αρχείου “/etc/passwd” στο παράθυρο του τερματικού. Αυτό θα εμφανίσει ολόκληρο το

του αρχείου. Αυτό σημαίνει ότι θα δείτε επίσης τις καταχωρίσεις για λογαριασμούς χρηστών που ανήκουν σε διαδικασίες και στο σύστημα και όχι σε άτομα.

cat /etc/passwd

Υπάρχει μια σειρά πυκνών πληροφοριών που αναφέρονται για κάθε λογαριασμό χρήστη.


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Οι πληροφορίες για τον λογαριασμό χρήστη που ονομάζεται “dave” περιέχουν αυτές τις πληροφορίες, με άνω και κάτω τελείες “

:

” μεταξυ τους.


  • dave

    : Το όνομα του λογαριασμού χρήστη. Συνήθως το όνομα του ατόμου που κατέχει τον λογαριασμό.

  • Χ

    : Κάποτε, αυτό κρατούσε τον κωδικό πρόσβασης για τον λογαριασμό. Σήμερα, οι κωδικοί πρόσβασης αποθηκεύονται στο αρχείο “/etc/shadow”. Το “x” σημαίνει ότι ο κωδικός πρόσβασης βρίσκεται σε αυτό το αρχείο.

  • 1000

    : Το αναγνωριστικό χρήστη για αυτόν τον λογαριασμό. Όλοι οι λογαριασμοί χρηστών έχουν ένα μοναδικό αριθμητικό αναγνωριστικό. Οι λογαριασμοί κανονικών χρηστών ξεκινούν συνήθως από 1000, με κάθε νέο λογαριασμό να παίρνει το επόμενο δωρεάν αναγνωριστικό, όπως 1001, 1002 κ.λπ.

  • 1000

    : Το αναγνωριστικό ομάδας της προεπιλεγμένης ομάδας στην οποία ανήκει ο χρήστης. Σε κανονικές συνθήκες, η προεπιλεγμένη ομάδα έχει την ίδια τιμή με το αναγνωριστικό χρήστη.

  • dave,,,

    : Μια συλλογή προαιρετικών επιπλέον πληροφοριών για τον χρήστη. Αυτό το πεδίο περιέχει δεδομένα με κόμματα “

    ,

    ” μεταξύ τους. Μπορούν να κρατήσουν πράγματα όπως το πλήρες όνομα του χρήστη, τον αριθμό του γραφείου του και τον αριθμό τηλεφώνου του. Η καταχώρηση για τον λογαριασμό χρήστη “mary” δείχνει το πλήρες όνομά της είναι Mary Quinn.

  • /

    /dave

    : Η διαδρομή προς τον αρχικό φάκελο του χρήστη.

  • /bin/bash

    : Το προεπιλεγμένο κέλυφος για αυτόν τον χρήστη.

Αν διοχετεύσουμε την έξοδο από αυτήν την εντολή μέσω του

wc

χρησιμότητα και χρήση του

-l

(γραμμές) επιλογή μπορούμε να μετρήσουμε τις γραμμές στο αρχείο. Αυτό θα μας δώσει τον αριθμό των λογαριασμών που έχουν διαμορφωθεί σε αυτόν τον υπολογιστή.

cat /etc/passwd | wc -l


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Αυτός ο αριθμός περιλαμβάνει τους λογαριασμούς συστήματος και τους χρήστες που δημιουργούνται από εφαρμογές. Υπάρχουν περίπου 400 τακτικοί χρήστες που έχουν ρυθμιστεί σε αυτόν τον υπολογιστή. Το αποτέλεσμά σας είναι πιθανό να είναι πολύ λιγότερο.

Με τόσους πολλούς λογαριασμούς, είναι πιο βολικό στη χρήση

less

για να δείτε το αρχείο “/etc/passwd”.

less /etc/passwd


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Χρησιμοποιώντας

less

σας επιτρέπει επίσης να κάνετε αναζήτηση εντός της εξόδου, εάν θέλετε να αναζητήσετε έναν συγκεκριμένο λογαριασμό χρήστη.


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Η εντολή awk

Χρησιμοποιώντας την

awk

εντολή μπορούμε να εμφανίσουμε μόνο το όνομα χρήστη. Αυτό μπορεί να είναι χρήσιμο όταν γράφετε ένα σενάριο που πρέπει να κάνει κάτι σε πολλούς λογαριασμούς χρηστών. Η καταχώριση των ονομάτων των λογαριασμών χρήστη και η ανακατεύθυνσή τους σε ένα αρχείο κειμένου μπορεί να είναι μια εξαιρετική εξοικονόμηση χρόνου. Το μόνο που χρειάζεται να κάνετε είναι να αντιγράψετε και να επικολλήσετε την υπόλοιπη εντολή σε κάθε γραμμή.

Θα πούμε στο awk να χρησιμοποιήσει την άνω και κάτω τελεία “:” ως διαχωριστικό πεδίου και να εκτυπώσει το πρώτο πεδίο. Θα χρησιμοποιήσουμε την επιλογή -F (διαχωριστής πεδίου).

awk -F: '{print $1}' /etc/passwd


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Τα ονόματα των λογαριασμών χρήστη γράφονται στο παράθυρο του τερματικού χωρίς καμία από τις άλλες πληροφορίες λογαριασμού.


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Η κομμένη εντολή

Μπορούμε να πετύχουμε το ίδιο πράγμα χρησιμοποιώντας το

cut

εντολή. Πρέπει να χρησιμοποιήσουμε το

-d

(οριοθέτη) και ζητήστε του να επιλέξει μόνο το πρώτο πεδίο, χρησιμοποιώντας το

-f

επιλογή (πεδία).

cutr -d: -f1


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Αυτό παραθέτει όλους τους λογαριασμούς χρηστών, συμπεριλαμβανομένου του συστήματος και άλλων λογαριασμών που

ανθρώπινοι.

Η εντολή compgen

ο

compgen

η εντολή μπορεί να χρησιμοποιηθεί με το

-u

(χρήστης) επιλογή για τη λίστα των λογαριασμών χρηστών. Θα διοχετεύσουμε την έξοδο μέσω του

column

εντολή για τη λίστα των λογαριασμών χρηστών σε στήλες, αντί για μια μεγάλη λίστα με ένα μόνο όνομα χρήστη ανά γραμμή.

compgen -u | column


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Και πάλι, οι πρώτοι λογαριασμοί χρηστών που αναφέρονται ανήκουν σε διαδικασίες και όχι σε ανθρώπους.

UID MIN και UID MAX

Στους λογαριασμούς χρηστών δίνεται ένα αριθμητικό αναγνωριστικό, το οποίο είδαμε νωρίτερα. Συνήθως, οι λογαριασμοί κανονικών ανθρώπινων χρηστών ξεκινούν από 1000 και οι λογαριασμοί συστήματος, μη ανθρώπινοι, χρήστες ξεκινούν από 0. Το αναγνωριστικό του ριζικού λογαριασμού είναι 0.

Εάν μπορούμε να επαληθεύσουμε τα χαμηλότερα και υψηλότερα δυνατά αναγνωριστικά χρήστη, μπορούμε να χρησιμοποιήσουμε αυτές τις πληροφορίες για να επιλέξουμε τους λογαριασμούς χρηστών που βρίσκονται μεταξύ αυτών των δύο τιμών. Αυτό θα μας επιτρέψει να επιλέξουμε μόνο τους λογαριασμούς χρηστών που ανήκουν σε πραγματικά άτομα.

Το Linux παρακολουθεί αυτές τις δύο τιμές χρησιμοποιώντας παραμέτρους διαμόρφωσης που ονομάζονται

UID_MIN

και

UID_MAX

. Αυτά διατηρούνται στο αρχείο “/etc/login.defs”. Μπορούμε εύκολα να δούμε αυτές τις τιμές χρησιμοποιώντας

grep

.

Θα χρησιμοποιήσουμε το

-E

(εκτεταμένο regex) επιλογή. Η συμβολοσειρά αναζήτησής μας αναζητά γραμμές που ξεκινούν με “UID_MIN” ή “UID_MAX” στο αρχείο “/etc/login.defs”. το καρέ”

^

” αντιπροσωπεύει την αρχή μιας γραμμής.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Το εύρος για τα αναγνωριστικά χρηστών σε αυτόν τον υπολογιστή είναι από 1000 έως 60.000.

Η εντολή getent

ο

getent

εντολή διαβάζει πληροφορίες από βάσεις δεδομένων συστήματος. Μπορούμε να του πούμε να παραθέσει τις εγγραφές στο αρχείο “/etc/passwd” χρησιμοποιώντας το “passwd” ως παράμετρο.

getent passwd


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Αυτό μας δίνει την ίδια ανάγνωση που μπορούμε να χρησιμοποιήσουμε

cat

. Αλλά πού

getent

λάμπει είναι αποδεχόμενοι τιμές γνωστές ως “κλειδιά”. Ένα κλειδί υπαγορεύει ποιες πληροφορίες

getent

εκθέσεις για. Αν θέλουμε να δούμε την καταχώρηση για έναν μεμονωμένο χρήστη, μπορούμε να περάσουμε το όνομα του λογαριασμού χρήστη του στη γραμμή εντολών.

getent passwd Sarah

Σημειώστε ότι το όνομα του λογαριασμού χρήστη κάνει διάκριση πεζών-κεφαλαίων.

getent passwd sarah


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Μπορούμε επίσης να περάσουμε στο άνω και κάτω όριο των αναγνωριστικών λογαριασμών χρήστη που θέλουμε να δούμε. Για να δούμε απολύτως όλους τους λογαριασμούς κανονικών χρηστών, μπορούμε να χρησιμοποιήσουμε τις τιμές από

UID_MIN

και

UID_MAX

.

getent passwd {1000..60000}


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Αυτό παίρνει λίγο χρόνο για να τρέξει. Τελικά, θα επιστρέψετε στη γραμμή εντολών.


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Ο λόγος για τον μεγάλο χρόνο εκτέλεσης είναι αυτός

getent

προσπαθεί να βρει αντιστοιχίσεις για όλες τις τιμές του λογαριασμού χρήστη μέχρι το 60000.

Ας δούμε ποιο είναι το υψηλότερο αναγνωριστικό λογαριασμού χρήστη. Θα χρησιμοποιήσουμε το

cut

εντολή, αλλά αυτή τη φορά θα ζητήσουμε το πεδίο τρία, το πεδίο ID χρήστη. Θα διοχετεύσουμε την έξοδο

sort

και χρησιμοποιήστε το

-g

επιλογή (γενική αριθμητική ταξινόμηση).

cut -d: -f3 /etc/passwd | sort -g


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Η υψηλότερη τιμή αναγνωριστικού ενός λογαριασμού χρήστη που ανήκει σε ανθρώπους είναι 1401.


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Το αναγνωριστικό χρήστη 65534 εκχωρείται στην έννοια του συστήματος “κανένας”.

getent passwd {65534..65534}


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Ξέρουμε λοιπόν ότι αντί να χρησιμοποιούμε το

UID_MAX

τιμή 60000, σε αυτόν τον υπολογιστή μπορούμε να χρησιμοποιήσουμε μια πιο ρεαλιστική τιμή όπως το 1500. Αυτό θα επιταχύνει όμορφα τα πράγματα. Θα διοχετεύσουμε επίσης την έξοδο

cut

για να εξαγάγετε μόνο τα ονόματα των λογαριασμών χρηστών.

getent passwd {1000..1500} | κόβω -d: -f1


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Οι χρήστες αναφέρονται στη λίστα και επιστρέφουμε αμέσως στη γραμμή εντολών.

Αντί να διοχετεύεται η έξοδος

cut

ας διοχετεύσουμε την έξοδο

wc

και μετρήστε τις γραμμές για άλλη μια φορά. Αυτό θα μας δώσει τον αριθμό των “πραγματικών” λογαριασμών χρηστών.

getent passwd {1000..1500} | wc -l


Πώς να κάνετε λίστα χρηστών στο Linux, Πώς να κάνετε λίστα χρηστών στο Linux, TechWar.gr

Μπορούμε τώρα να δούμε ότι σε αυτόν τον υπολογιστή, οριστικά, υπάρχουν 400 διαμορφωμένοι λογαριασμοί χρηστών που ανήκουν σε ανθρώπους.

Δύναμη και Απλότητα

Μία από αυτές τις τεχνικές είναι βέβαιο ότι ταιριάζει στις ανάγκες σας όταν πρέπει να ελέγξετε τους λογαριασμούς χρηστών σε έναν υπολογιστή Linux. Αυτές οι εντολές πρέπει να υπάρχουν σε όλες τις διανομές και καμία από αυτές δεν απαιτεί

sudo

πρόσβαση, ώστε να είναι όλα διαθέσιμα σε κάθε χρήστη.


VIA:

HowToGeek.com


Leave A Reply



Cancel Reply

Your email address will not be published.