Πώς να προσθέσετε, να τροποποιήσετε και να αφαιρέσετε χρήστη στο Linux;

Η διαχείριση χρηστών σε οποιοδήποτε λειτουργικό σύστημα είναι μία από τις βασικές εργασίες ρουτίνας ενός διαχειριστή συστήματος.

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

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

Τύποι χρηστών

Χρήστης ρίζας

Ο χρήστης root είναι ο διαχειριστής του λειτουργικού συστήματος με όλα τα δικαιώματα για την εκτέλεση λειτουργιών. Συνήθως, μόνο το root μπορεί να εγκαταστήσει/απεγκαταστήσει ή να ενημερώσει βασικά προγράμματα και βιβλιοθήκες συστήματος. Είναι ο μόνος λογαριασμός χρήστη με προνόμια σε όλο το σύστημα.

Έτσι, ο χρήστης root είναι ο πιο ισχυρός χρήστης του συστήματος.

Ειδικός χρήστης

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

Αυτά δημιουργούνται αυτόματα κατά την εγκατάσταση οποιασδήποτε εφαρμογής. bin, sync, lp, mail, operator, squid είναι μερικά από τα παραδείγματα ειδικών χρηστών.

Κοινοί Χρήστες

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

Προσθήκη χρήστη

Debian/Ubuntu

Σε ένα σύστημα που βασίζεται στο Debian ή στο Ubuntu, υπάρχουν μερικές επιλογές για την προσθήκη χρηστών από το CLI. Η πρώτη εντολή είναι το adduser, το οποίο είναι ένα σενάριο Perl και χρησιμοποιεί την εντολή useradd στο backend του οποίου τη χρήση θα δούμε αργότερα.

Δεδομένου ότι η προσθήκη ενός χρήστη είναι μια προνομιακή εργασία, θα πρέπει να χρησιμοποιήσετε το sudo ως πρόθεμα και το όνομα χρήστη ως όρισμα. Άλλες λεπτομέρειες μπορούν να καθοριστούν όπως σας ζητηθεί. Εκτός από το όνομα χρήστη και τον κωδικό πρόσβασης, τα υπόλοιπα στοιχεία είναι προαιρετικά. Μπορούμε να επαληθεύσουμε ότι ο χρήστης έχει δημιουργηθεί χρησιμοποιώντας την εντολή id.

$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$

CentOS/RHEL/Fedora (συμπεριλαμβανομένου του Debian/Ubuntu)

Η επόμενη εντολή, useradd θα λειτουργεί σε διανομές λειτουργικού συστήματος που βασίζονται στο RHEL, καθώς και σε κεντρικούς υπολογιστές Ubuntu/Debian. Η απλούστερη σύνταξη (χωρίς επιπλέον επιλογές) για τη δημιουργία νέου χρήστη είναι:

$ sudo useradd <username>

Παράδειγμα:

$ sudo useradd janedoe

Η εντολή useradd υποστηρίζει πολλαπλές επιλογές που μπορούν να καθοριστούν κατά τη δημιουργία του χρήστη, οι πιο συνηθισμένες είναι το User ID (UID), το Group ID (GID), το προεπιλεγμένο κέλυφος και ο αρχικός κατάλογος κ.λπ. Ένα τέτοιο παράδειγμα δίνεται παρακάτω:

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Μπορείτε να επαληθεύσετε τον νέο χρήστη χρησιμοποιώντας την εντολή id:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Τροποποίηση χρήστη

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

  Πώς να χρησιμοποιήσετε τη Μουσική YouTube στον επιτραπέζιο υπολογιστή Linux

Προεπιλεγμένο κέλυφος

Το προεπιλεγμένο κέλυφος είναι το κέλυφος CLI που δημιουργείται όταν ένας χρήστης εκκινεί μια νέα περίοδο λειτουργίας CLI είτε τοπικά είτε μέσω SSH. Τα περισσότερα σύγχρονα συστήματα έχουν ένα προεπιλεγμένο Bash χρήστη, αν και μπορεί να διαφέρει ανάλογα με τη διανομή Linux ή το περιβάλλον του χρήστη. Για να τροποποιήσετε το προεπιλεγμένο κέλυφος ενός χρήστη, χρησιμοποιήστε:

$ sudo usermod -s <shell> <username>

Παράδειγμα:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$

Όπως μπορείτε να δείτε στην παραπάνω έξοδο, το κέλυφος έχει αλλάξει από /bin/sh σε /bin/bash για τον χρήστη janedoe.

  Πώς να προσαρμόσετε την επιφάνεια εργασίας Deepin Linux

Αρχική Κατάλογος

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

$ sudo usermod -d <new_directory_path> <username>

Στο παρακάτω παράδειγμα, ο αρχικός κατάλογος χρήστη του χρήστη janedoe έχει αλλάξει σε /data/janedoe:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$

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

ταυτότητα χρήστη

Μπορείτε να αλλάξετε το αναγνωριστικό χρήστη ενός υπάρχοντος χρήστη χρησιμοποιώντας:

$ sudo usermod -u <new_uid> <username>

Παράδειγμα:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$

Και πάλι, η αλλαγή του UID αλλάζει τον τρόπο με τον οποίο το σύστημα αρχείων Linux αντιστοιχίζει την ιδιοκτησία και τα δικαιώματα σε ένα αρχείο ή κατάλογο. Βεβαιωθείτε ότι ο αρχικός κατάλογος του χρήστη και τα περιεχόμενά του και όλα τα άλλα αρχεία οπουδήποτε στο σύστημα, που ανήκουν αρχικά στον χρήστη (με παλιό UID), έχουν αλλάξει σε αντιστοιχισμένο UID. Εάν δεν το κάνετε αυτό, μπορεί να προκληθούν προβλήματα στη συνεδρία CLI και στην πρόσβαση στα αρχεία από τον χρήστη.

Προεπιλεγμένη ομάδα

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

$ sudo usermod -g <new_gid or group_name> <username>

Ιδού ένα παράδειγμα:

$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$

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

Προσθήκη/Αφαίρεση Ομάδων

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

$ sudo usermod -a -G <group_id or group_name> <username>

Παράδειγμα:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$

Ομοίως, για να αφαιρέσετε έναν χρήστη από μία από τις δευτερεύουσες ομάδες, χρησιμοποιήστε την εντολή gpasswd όπως φαίνεται παρακάτω:

$ sudo gpasswd -d <username> <groupname>

Παράδειγμα:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Σχόλιο GECOS

Το πεδίο GECOS στο /etc/passwd περιέχει πληροφορίες χρήστη ή σχόλιο. Μπορούμε να τροποποιήσουμε αυτές τις πληροφορίες για έναν υπάρχοντα χρήστη ως εξής:

$ sudo usermod -c <comment> <username>

Παράδειγμα:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$

Λάβετε υπόψη ότι εάν το σχόλιό σας ή τα στοιχεία χρήστη σας περιέχουν κενά, περικλείστε αυτό το πεδίο σε εισαγωγικά όπως στο παραπάνω παράδειγμα.

  Πώς να εγκαταστήσετε τις εφαρμογές Adobe Creative Cloud σε Linux

Ονομα σύνδεσης

Το όνομα σύνδεσης του χρήστη μπορεί επίσης να αλλάξει χρησιμοποιώντας την εντολή usermod χρησιμοποιώντας τη σημαία -l:

$ sudo usermod -l <new_username> <old_username>

Παράδειγμα:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$

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

Αφαίρεση χρήστη

Ένας χρήστης μπορεί να αφαιρεθεί από το Linux χρησιμοποιώντας την εντολή userdel.

$ sudo userdel <username>

Παράδειγμα:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$

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

$ sudo userdel -r <username>

Ειδικά για συστήματα που βασίζονται στο Ubuntu, μπορείτε επίσης να κάνετε εντολή deluser χρήστη για να αφαιρέσετε έναν χρήστη:

$ sudo deluser <username>

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

$ sudo deluser --remove-home <username>

Για λεπτομερείς πληροφορίες και άλλες υποστηριζόμενες επιλογές, ανατρέξτε στην κύρια σελίδα των διαφόρων εντολών χρησιμοποιώντας:

$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel

συμπέρασμα

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

Μπορεί επίσης να σας ενδιαφέρει να διαβάσετε: Πώς να αφαιρέσετε αρχεία και καταλόγους στο Linux;