Γνωρίζω ότι υπάρχει το αρχείο /etc/group
που απαριθμεί όλες τις ομάδες χρηστών.
Θα ήθελα να μάθω αν υπάρχει μια απλή εντολή για να παραθέσω όλα τα ονόματα των ομάδων χρηστών παρά την ανάλυση του αναγνώσιμου στον κόσμο αρχείου /etc/group
. Είμαι πρόθυμος να δημιουργήσω μια ιστοσελίδα διαχειριστή που να απαριθμεί τους λογαριασμούς Linux' ονόματα ομάδων.
Για να εμφανίσετε όλες τις τοπικές ομάδες στις οποίες έχουν εκχωρηθεί χρήστες, χρησιμοποιήστε αυτήν την εντολή:
cut -d: -f1 /etc/group | sort
Για περισσότερες πληροφορίες - >, Unix groups, Εντολή αποκοπής, εντολή ταξινόμησης
Αν θέλετε όλες τις ομάδες γνωστές στο σύστημα, θα σας συνιστούσα να χρησιμοποιήσετε το getent
αντί να αναλύσετε το /etc/group
. Σε δικτυακά συστήματα, οι ομάδες μπορεί να μην διαβάζονται μόνο από το αρχείο /etc/group
αλλά να λαμβάνονται και μέσω του LDAP ή των Κίτρινων Σελίδων, δηλαδή η λίστα των γνωστών ομάδων προέρχεται από το τοπικό αρχείο ομάδων συν τις ομάδες που λαμβάνονται μέσω του LDAP ή του YP.
Το getent group
θα σας δώσει μια λίστα όλων των ομάδων στην ίδια μορφή που χρησιμοποιεί το αρχείο /etc/group
.
Αν θέλετε μόνο τα ονόματα των ομάδων, το getent group | cut -d: -f1
θα κάνει τη δουλειά (όπως και παραπάνω).
Σε Linux, macOS και Unix, για να εμφανίσετε τις ομάδες στις οποίες ανήκετε, χρησιμοποιήστε:
id -Gn
το οποίο είναι ισοδύναμο με το βοηθητικό πρόγραμμα groups
το οποίο έχει ξεπεραστεί στο Unix (σύμφωνα με το Unix manual).
Στο macOS και το Unix, η εντολή id -p
προτείνεται για κανονική διαδραστική λειτουργία.
Επεξήγηση των παραμέτρων:
-G
,--groups
- εκτύπωση όλων των αναγνωριστικών ομάδων
-n
,--name
- εκτύπωση ενός ονόματος αντί ενός αριθμού, για την-ugG
-p
- Να κάνει την έξοδο αναγνώσιμη από τον άνθρωπο.