Πλήρης οδηγός για τη χρήση της εντολής «usermod» - 15 πρακτικά παραδείγματα με στιγμιότυπα οθόνης


Στις διανομές Unix/Linux, η εντολή «usermod» χρησιμοποιείται για την τροποποίηση ή την αλλαγή οποιωνδήποτε χαρακτηριστικών ενός ήδη δημιουργημένου λογαριασμού χρήστη μέσω της γραμμής εντολών. Η εντολή "usermod" είναι παρόμοια με αυτήν "useradd" ή "adduser", αλλά η σύνδεση έχει εκχωρηθεί σε έναν υπάρχοντα χρήστη.

Η εντολή "useradd" ή "adduser" χρησιμοποιείται για τη δημιουργία λογαριασμών χρηστών σε συστήματα Linux. Για να μάθετε περισσότερα σχετικά με τον τρόπο δημιουργίας χρηστών συστήματος, διαβάστε τον πλήρη οδηγό μας στη διεύθυνση:

  1. Ένας πλήρης οδηγός για την εντολή "useradd" στο Linux

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

Όταν εκτελούμε την εντολή «usermod» στο τερματικό, χρησιμοποιούνται και επηρεάζονται τα ακόλουθα αρχεία.

  1. /etc/passwd – Πληροφορίες λογαριασμού χρήστη.
  2. /etc/shadow – Ασφαλείς πληροφορίες λογαριασμού.
  3. /etc/group – Πληροφορίες λογαριασμού ομάδας.
  4. /etc/gshadow – Ασφαλείς πληροφορίες λογαριασμού ομάδας.
  5. /etc/login.defs – Διαμόρφωση σκιώδης σουίτας κωδικών πρόσβασης..

Η βασική σύνταξη της εντολής είναι:

usermod [options] username

Απαιτήσεις

  1. Πρέπει να έχουμε υπάρχοντες λογαριασμούς χρήστη για να εκτελέσουμε την εντολή usermod.
  2. Μόνο ο υπερχρήστης (root) επιτρέπεται να εκτελέσει την εντολή usermod.
  3. Η εντολή usermod μπορεί να εκτελεστεί σε οποιαδήποτε διανομή Linux.
  4. Πρέπει να έχει βασικές γνώσεις της εντολής usermod με επιλογές

Επιλογές του Usermod

Η εντολή «usermod» είναι απλή στη χρήση με πολλές επιλογές για να κάνετε αλλαγές σε έναν υπάρχοντα χρήστη. Ας δούμε πώς να χρησιμοποιήσετε την εντολή usermod τροποποιώντας ορισμένους υπάρχοντες χρήστες στο πλαίσιο Linux με τη βοήθεια των παρακάτω επιλογών.

  1. -c=Μπορούμε να προσθέσουμε πεδίο σχολίων για τον λογαριασμό χρήστη.
  2. -d=Για να τροποποιήσετε τον κατάλογο για οποιονδήποτε υπάρχοντα λογαριασμό χρήστη.
  3. -e=Χρησιμοποιώντας αυτήν την επιλογή μπορούμε να κάνουμε τη λήξη του λογαριασμού σε συγκεκριμένη περίοδο.
  4. -g=Αλλαγή της κύριας ομάδας για έναν χρήστη.
  5. -G=Για να προσθέσετε μια συμπληρωματική ομάδα.
  6. -a=Για να προσθέσετε οποιονδήποτε από την ομάδα σε μια δευτερεύουσα ομάδα.
  7. -l=Για να αλλάξετε το όνομα σύνδεσης από tecmint σε tecmint_admin.
  8. -L=Για να κλειδώσετε τον λογαριασμό χρήστη. Αυτό θα κλειδώσει τον κωδικό πρόσβασης, ώστε να μην μπορούμε να χρησιμοποιήσουμε τον λογαριασμό.
  9. -m=μετακίνηση των περιεχομένων του αρχικού καταλόγου από την υπάρχουσα αρχική διεύθυνση σε νέα διεύθυνση.
  10. -p=Χρήση μη κρυπτογραφημένου κωδικού πρόσβασης για τον νέο κωδικό πρόσβασης. (ΟΧΙ Ασφαλής).
  11. -s=Δημιουργήστε ένα Καθορισμένο κέλυφος για νέους λογαριασμούς.
  12. -u=Χρησιμοποιείται για την εκχώρηση UID για τον λογαριασμό χρήστη μεταξύ 0 και 999.
  13. -U=Για να ξεκλειδώσετε τους λογαριασμούς χρηστών. Αυτό θα καταργήσει το κλείδωμα με κωδικό πρόσβασης και θα μας επιτρέψει να χρησιμοποιήσουμε τον λογαριασμό χρήστη.

Σε αυτό το άρθρο θα δούμε ‘15 εντολές usermod’ με τα πρακτικά παραδείγματα και τη χρήση τους στο Linux, που θα σας βοηθήσουν να μάθετε και να βελτιώσετε τις δεξιότητές σας στη γραμμή εντολών χρησιμοποιώντας αυτές τις επιλογές.

1. Προσθήκη πληροφοριών στο λογαριασμό χρήστη

Η επιλογή «-c» χρησιμοποιείται για να ορίσετε ένα σύντομο σχόλιο (πληροφορίες) σχετικά με τον λογαριασμό χρήστη. Για παράδειγμα, ας προσθέσουμε πληροφορίες για τον χρήστη «tecmint», χρησιμοποιώντας την ακόλουθη εντολή.

usermod -c "This is Tecmint" tecmint

Μετά την προσθήκη πληροφοριών για τον χρήστη, το ίδιο σχόλιο μπορεί να προβληθεί στο αρχείο /etc/passwd.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. Αλλαγή του καταλόγου Home User

Στο παραπάνω βήμα μπορούμε να δούμε ότι ο οικιακός μας κατάλογος βρίσκεται στην περιοχή /home/tecmint/. Αν χρειαστεί να τον αλλάξουμε σε κάποιον άλλο κατάλογο, μπορούμε να τον αλλάξουμε χρησιμοποιώντας -d επιλογή με την εντολή usermod.

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

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

Τώρα, αλλάξτε τον αρχικό κατάλογο από /home/tecmint σε /var/www/ και επιβεβαιώστε τον οικιακό διευθυντή μετά την αλλαγή.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. Ορίστε την ημερομηνία λήξης λογαριασμού χρήστη

Η επιλογή «-e» χρησιμοποιείται για τον ορισμό της ημερομηνίας λήξης σε έναν λογαριασμό χρήστη με τη μορφή ημερομηνίας ΕΕΕΕ-ΜΜ-ΗΗ. Πριν ορίσετε μια ημερομηνία λήξης σε έναν χρήστη, ας ελέγξουμε πρώτα την κατάσταση λήξης του τρέχοντος λογαριασμού χρησιμοποιώντας την εντολή «chage» (αλλαγή στοιχείων λήξης κωδικού πρόσβασης χρήστη).

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Η κατάσταση λήξης ενός χρήστη "tecmint" είναι 1 Δεκεμβρίου 2014, ας την αλλάξουμε σε 1 Νοεμβρίου 2014 χρησιμοποιώντας το "usermod -e ' και επιβεβαιώστε την ημερομηνία λήξης με την εντολή 'chage'.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. Αλλαγή της κύριας ομάδας χρηστών

Για να ορίσουμε ή να αλλάξουμε μια κύρια ομάδα χρηστών, χρησιμοποιούμε την επιλογή «-g» με την εντολή usermod. Πριν αλλάξετε την κύρια ομάδα χρηστών, βεβαιωθείτε πρώτα ότι έχετε ελέγξει την τρέχουσα ομάδα για τον χρήστη tecmint_test.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

Τώρα, ορίστε την ομάδα babin ως κύρια ομάδα στο χρήστη tecmint_test και επιβεβαιώστε τις αλλαγές.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. Προσθήκη ομάδας σε έναν υπάρχοντα χρήστη

Εάν θέλετε να προσθέσετε μια νέα ομάδα που ονομάζεται "tecmint_test0" στον χρήστη "tecmint", μπορείτε να χρησιμοποιήσετε την επιλογή "-G" με την εντολή usermod όπως φαίνεται παρακάτω.

usermod -G tecmint_test0 tecmint
id tecmint

Σημείωση: Να είστε προσεκτικοί, ενώ η προσθήκη μιας νέας ομάδας σε έναν υπάρχοντα χρήστη μόνο με την επιλογή '-G', θα καταργήσει όλες τις υπάρχουσες ομάδες που ο χρήστης ανήκει. Επομένως, πάντα να προσθέτετε την επιλογή "-a" (προσάρτηση) με την επιλογή "-G" για προσθήκη ή προσθήκη νέων ομάδων.

6. Προσθήκη συμπληρωματικής και κύριας ομάδας στον χρήστη

Εάν χρειάζεται να προσθέσετε έναν χρήστη σε οποιαδήποτε από τις συμπληρωματικές ομάδες, μπορείτε να χρησιμοποιήσετε τις επιλογές «-a“ και «-G». Για παράδειγμα, εδώ θα προσθέσουμε έναν λογαριασμό χρήστη tecmint_test0 με τον χρήστη wheel.

usermod -a -G wheel tecmint_test0
id tecmint_test0

Έτσι, ο χρήστης tecmint_test0 παραμένει στην κύρια ομάδα του και επίσης στη δευτερεύουσα ομάδα (τροχός). Αυτό θα κάνει τον κανονικό μου λογαριασμό χρήστη να εκτελεί οποιεσδήποτε εντολές με δικαιώματα root στο πλαίσιο Linux.

eg : sudo service httpd restart

7. Αλλάξτε το όνομα σύνδεσης χρήστη

Για να αλλάξετε οποιοδήποτε υπάρχον όνομα σύνδεσης χρήστη, μπορούμε να χρησιμοποιήσουμε την επιλογή "-l" (νέα σύνδεση). Στο παρακάτω παράδειγμα, αλλάζουμε το όνομα σύνδεσης tecmint σε tecmint_admin. Έτσι, το όνομα χρήστη tecmint έχει μετονομαστεί με το νέο όνομα tecmint_admin.

usermod -l tecmint_admin tecmint

Τώρα ελέγξτε για τον χρήστη tecmint, δεν θα υπάρχει επειδή τον έχουμε αλλάξει σε tecmint_admin.

id tecmint

Ελέγξτε για τον λογαριασμό tecmint_admin θα υπάρχει με το ίδιο UID και με την υπάρχουσα ομάδα που έχουμε προσθέσει στο παρελθόν.

id tecmint_admin

8. Κλείδωμα λογαριασμού χρήστη

Για να κλειδώσουμε οποιονδήποτε λογαριασμό χρήστη συστήματος, μπορούμε να χρησιμοποιήσουμε την επιλογή "-L" (κλείδωμα). Αφού κλειδωθεί ο λογαριασμός, δεν μπορούμε να συνδεθούμε χρησιμοποιώντας τον κωδικό πρόσβασης και θα δείτε ένα !< Το προστέθηκε πριν από τον κρυπτογραφημένο κωδικό πρόσβασης στο αρχείο /etc/shadow, σημαίνει ότι ο κωδικός είναι απενεργοποιημένος.

usermod -L babin

Ελέγξτε για τον κλειδωμένο λογαριασμό.

grep -E --color 'babin' cat /etc/shadow

9. Ξεκλειδώστε τον λογαριασμό χρήστη

Η επιλογή "-U" χρησιμοποιείται για το ξεκλείδωμα οποιουδήποτε κλειδωμένου χρήστη. Αυτό θα αφαιρέσει το ! πριν από τον κρυπτογραφημένο κωδικό πρόσβασης.

grep -E --color 'babin' /etc/shadow
usermod -U babin

Επαληθεύστε τον χρήστη μετά το ξεκλείδωμα.

grep -E --color 'babin' /etc/shadow

10. Μετακινήστε τον Κατάλογο Home User στη Νέα τοποθεσία

Ας υποθέσουμε ότι έχετε έναν λογαριασμό χρήστη ως "pinky" με αρχικό κατάλογο "/home/pinky", θέλετε να μετακινηθείτε σε νέα τοποθεσία πείτε "/var /ροζ». Μπορείτε να χρησιμοποιήσετε τις επιλογές "-d" και "-m" για να μετακινήσετε τα υπάρχοντα αρχεία χρήστη από τον τρέχοντα αρχικό κατάλογο σε έναν νέο αρχικό κατάλογο.

Ελέγξτε για τον λογαριασμό και είναι ο τρέχων οικιακός κατάλογος.

grep -E --color 'pinky' /etc/passwd

Στη συνέχεια, αναφέρετε τα αρχεία που ανήκουν στον χρήστη pinky.

ls -l /home/pinky/

Τώρα πρέπει να μετακινήσουμε τον αρχικό κατάλογο από /home/pinky σε /var/pinky.

usermod -d /var/pinky/ -m pinky

Στη συνέχεια, επαληθεύστε την αλλαγή του καταλόγου.

grep -E --color 'pinky' /etc/passwd

Ελέγξτε για τα αρχεία στην ενότητα "/home/pinky". Εδώ έχουμε μετακινήσει τα αρχεία χρησιμοποιώντας την επιλογή -m ώστε να μην υπάρχουν αρχεία. Τα ροζ αρχεία χρήστη θα βρίσκονται τώρα στο /var/pinky.

ls -l /home/pinky/
ls -l /var/pinky/

11. Δημιουργήστε μη κρυπτογραφημένο κωδικό πρόσβασης για το χρήστη

Για να δημιουργήσουμε έναν μη κρυπτογραφημένο κωδικό πρόσβασης, χρησιμοποιούμε την επιλογή "-p" (κωδικός πρόσβασης). Για λόγους επίδειξης, ορίζω έναν νέο κωδικό πρόσβασης πείτε "redhat" σε έναν χρήστη pinky.

usermod -p redhat pinky

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

grep -E --color 'pinky' /etc/shadow

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

12. Αλλάξτε το κέλυφος χρήστη

Το κέλυφος σύνδεσης χρήστη μπορεί να αλλάξει ή να οριστεί κατά τη δημιουργία χρήστη με την εντολή useradd ή να αλλάξει με την εντολή "usermod" χρησιμοποιώντας την επιλογή "-s" ( κέλυφος). Για παράδειγμα, ο χρήστης 'babin' έχει το κέλυφος /bin/bash από προεπιλογή, τώρα θέλω να το αλλάξω σε /bin/sh .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

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

grep -E --color 'babin' /etc/passwd

13. Αλλαγή αναγνωριστικού χρήστη (UID)

Στο παρακάτω παράδειγμα, μπορείτε να δείτε ότι ο λογαριασμός χρήστη μου "babin" διαθέτει το UID του 502, τώρα θέλω να το αλλάξω σε 888 ως UID μου. Μπορούμε να εκχωρήσουμε UID μεταξύ 0 έως 999.

grep -E --color 'babin' /etc/passwd
OR
id babin

Τώρα, ας αλλάξουμε το UID του χρήστη babin χρησιμοποιώντας την επιλογή "-u" (uid) και ας επαληθεύσουμε τις αλλαγές.

usermod -u 888 babin
id babin

14. Τροποποίηση λογαριασμού χρήστη με πολλαπλές επιλογές

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

Ο χρήστης Jack έχει τον προεπιλεγμένο οικιακό κατάλογο /home/jack, τώρα θέλω να τον αλλάξω σε /var/www/html και να του εκχωρήσω shell ως bash, ορίστε ημερομηνία λήξης ως τις 10 Δεκεμβρίου 2014, προσθέστε νέα ετικέτα ως This is jack, αλλάξτε το UID σε 555 και θα είναι μέλος της ομάδας apple.

Ας δούμε πώς να τροποποιήσετε τον λογαριασμό jack χρησιμοποιώντας τώρα την πολλαπλή επιλογή.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

Στη συνέχεια, ελέγξτε για αλλαγές στο UID και στον οικιακό κατάλογο.

grep -E --color 'jack' /etc/passwd

Έλεγχος λήξης λογαριασμού.

chage -l jack

Ελέγξτε για την ομάδα στην οποία όλοι οι γρύλοι ήταν μέλη.

grep -E --color 'jack' /etc/group

15. Αλλάξτε το UID και το GID ενός χρήστη

Μπορούμε να αλλάξουμε το UID και το GID ενός τρέχοντος χρήστη. Για αλλαγή σε νέο GID χρειαζόμαστε μια υπάρχουσα ομάδα. Εδώ υπάρχει ήδη ένας λογαριασμός με το όνομα πορτοκαλί με GID 777.

Τώρα ο λογαριασμός χρήστη του jack μου θέλει να του εκχωρηθεί UID 666 και GID Πορτοκαλί (777).

Ελέγξτε για το τρέχον UID και GID πριν από την τροποποίηση.

id jack

Τροποποιήστε το UID και το GID.

usermod -u 666 -g 777 jack

Ελέγξτε για τις αλλαγές.

id jack

συμπέρασμα

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