15 Χρήσιμες εντολές προσθήκης χρήστη με παραδείγματα στο Linux


Όλοι γνωρίζουμε τις πιο δημοφιλείς εντολές που ονομάζονται "useradd" ή "adduser" στο Linux. Υπάρχουν φορές που ζητείται από έναν διαχειριστή συστήματος Linux να δημιουργήσει λογαριασμούς χρηστών στο Linux με συγκεκριμένες ιδιότητες, περιορισμούς ή σχόλια.

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

Σε ορισμένες διανομές Linux, η εντολή «useradd» μπορεί να έχει ελαφρώς διαφορετική έκδοση. Προτείνω να διαβάσετε την τεκμηρίωσή σας πριν χρησιμοποιήσετε τις οδηγίες μας για τη δημιουργία νέων λογαριασμών χρηστών στο Linux.

Όταν εκτελούμε την εντολή «useradd» στο τερματικό Linux, εκτελεί τις ακόλουθες κύριες εργασίες:

  • Επεξεργάζεται τα /etc/passwd, /etc/shadow, /etc/group, και /etc/gshadow αρχεία για τους νέους λογαριασμούς χρηστών.
  • Δημιουργεί και συμπληρώνει έναν οικιακό κατάλογο για τον νέο χρήστη.
  • Ορίζει δικαιώματα και ιδιοκτησίες στον αρχικό κατάλογο.

Useradd Σύνταξη εντολής

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

useradd [options] username

Σε αυτό το άρθρο, θα παρουσιάσουμε τις 15 πιο συχνά χρησιμοποιούμενες εντολές «useradd» με πρακτικά παραδείγματα στο Linux.

1. Πώς να προσθέσετε έναν νέο χρήστη στο Linux

Για να προσθέσετε ή να δημιουργήσετε έναν νέο χρήστη, πρέπει να χρησιμοποιήσετε την εντολή "useradd" ή "adduser" ακολουθούμενη από το "όνομα χρήστη". Το «όνομα χρήστη» είναι το όνομα σύνδεσης που χρησιμοποιεί ένας χρήστης για να συνδεθεί στο σύστημα.

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

Για παράδειγμα, για να προσθέσετε έναν νέο χρήστη με το όνομα ‘tecmint’ χρησιμοποιήστε την ακόλουθη εντολή:

useradd tecmint

Όταν προσθέτουμε έναν νέο χρήστη στο Linux με την εντολή «useradd», δημιουργείται σε κλειδωμένη κατάσταση. Για να ξεκλειδώσετε αυτόν τον λογαριασμό χρήστη, πρέπει να ορίσουμε έναν κωδικό πρόσβασης για αυτόν τον λογαριασμό χρησιμοποιώντας την εντολή "passwd".

passwd tecmint

Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Μόλις δημιουργηθεί ένας νέος χρήστης, η καταχώρισή του προστίθεται αυτόματα στο αρχείο «/etc/passwd». Αυτό το αρχείο χρησιμοποιείται για την αποθήκευση των πληροφοριών του χρήστη και η καταχώρηση θα πρέπει να είναι.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

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

Ας δούμε ποια είναι αυτά τα πεδία:

  • Όνομα χρήστη – Το όνομα σύνδεσης χρήστη χρησιμοποιείται για τη σύνδεση στο σύστημα. Θα πρέπει να είναι από 1 έως 32 χαρακτήρες.
  • Κωδικός πρόσβασης – Ο κωδικός πρόσβασης χρήστη (ή ο χαρακτήρας 'x') αποθηκεύεται στο αρχείο "/etc/shadow" σε κρυπτογραφημένη μορφή.
  • User ID (UID) – Κάθε χρήστης πρέπει να έχει ένα User ID (UID), το οποίο σημαίνει User Identification Number. Από προεπιλογή, το UID 0 είναι δεσμευμένο για τον ριζικό χρήστη και τα UID που κυμαίνονται από 1 έως 99 δεσμεύονται για άλλους προκαθορισμένους λογαριασμούς. Επιπλέον, τα UID που κυμαίνονται από 100 έως 999 δεσμεύονται για λογαριασμούς συστήματος και ομάδες.
  • Αναγνωριστικό ομάδας (GID) – Το κύριο αναγνωριστικό ομάδας (GID), που σημαίνει Αριθμός αναγνώρισης ομάδας, αποθηκεύεται στο " /etc/group' αρχείο.
  • Πληροφορίες χρήστη – Αυτό το πεδίο είναι προαιρετικό και σας επιτρέπει να ορίσετε επιπλέον πληροφορίες για τον χρήστη, όπως το πλήρες όνομα του χρήστη. Αυτές οι πληροφορίες μπορούν να συμπληρωθούν χρησιμοποιώντας την εντολή δάχτυλο.
  • Αρχικός κατάλογος – Η απόλυτη τοποθεσία του αρχικού καταλόγου του χρήστη.
  • Shell – Η απόλυτη τοποθεσία του κελύφους ενός χρήστη, δηλαδή /bin/bash.

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

Από προεπιλογή, η εντολή "useradd" δημιουργεί τον αρχικό κατάλογο ενός χρήστη κάτω από τον κατάλογο "/home" με το όνομα χρήστη. Για παράδειγμα, όπως φαίνεται παραπάνω, ο προεπιλεγμένος οικιακός κατάλογος για τον χρήστη "tecmint" είναι "/home/tecmint".

Ωστόσο, αυτή η συμπεριφορά μπορεί να αλλάξει χρησιμοποιώντας την επιλογή '-d' μαζί με τη θέση του νέου οικιακού καταλόγου (π.χ. "/data/projects"). Για παράδειγμα, η ακόλουθη εντολή θα δημιουργήσει έναν χρήστη "anusha" με έναν αρχικό κατάλογο που έχει οριστεί σε "/data/projects".

useradd -d /data/projects anusha
passwd anusha

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

cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash

3. Πώς να δημιουργήσετε έναν χρήστη με ένα συγκεκριμένο αναγνωριστικό χρήστη

Στο Linux, κάθε χρήστης έχει το δικό του UID (Unique Identification Number). Από προεπιλογή, όταν δημιουργούμε έναν νέο λογαριασμό χρήστη στο Linux, εκχωρεί αναγνωριστικά χρήστη 500, 501, 502 και ούτω καθεξής.

Ωστόσο, μπορούμε να δημιουργήσουμε χρήστες με προσαρμοσμένα αναγνωριστικά χρήστη χρησιμοποιώντας την επιλογή '-u'. Για παράδειγμα, η ακόλουθη εντολή θα δημιουργήσει ένα χρήστη "navin" με προσαρμοσμένο αναγνωριστικό χρήστη "1002".

useradd -u 1002 navin

Τώρα, ας επαληθεύσουμε ότι ο χρήστης δημιούργησε με ένα καθορισμένο userid (1002) χρησιμοποιώντας την ακόλουθη εντολή.

cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

ΣΗΜΕΙΩΣΗ: Βεβαιωθείτε ότι η τιμή ενός αναγνωριστικού χρήστη πρέπει να είναι μοναδική από οποιονδήποτε άλλο χρήστη που έχει ήδη δημιουργηθεί στο σύστημα.

4. Πώς να δημιουργήσετε έναν χρήστη με ένα συγκεκριμένο αναγνωριστικό ομάδας

Ομοίως, κάθε χρήστης έχει το δικό του GID (Αναγνωριστικό ομάδας). Μπορούμε επίσης να δημιουργήσουμε χρήστες με συγκεκριμένα αναγνωριστικά ομάδας χρησιμοποιώντας την επιλογή '-g'.

Σε αυτό το παράδειγμα, θα προσθέσουμε έναν χρήστη 'tarunika' με συγκεκριμένο UID και GID ταυτόχρονα με τη βοήθεια του '- u' και '-g' επιλογές.

useradd -u 1005 -g tecmint tarunika

Τώρα, ελέγξτε το αναγνωριστικό χρήστη και το αναγνωριστικό ομάδας που έχει εκχωρηθεί στο αρχείο «/etc/passwd».

cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Για να επαληθεύσετε το GID του χρήστη, χρησιμοποιήστε την εντολή id:

id -gn tarunika

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

Η επιλογή '-G' χρησιμοποιείται για την προσθήκη ενός χρήστη σε πρόσθετες ομάδες. Κάθε όνομα ομάδας χωρίζεται με κόμμα, χωρίς ενδιάμεσα κενά.

Σε αυτό το παράδειγμα, προσθέτουμε έναν χρήστη "tecmint" σε πολλές ομάδες, όπως διαχειριστές, webadmin και προγραμματιστές δυνατός>.

groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy

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

id tecmint

uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. Πώς να προσθέσετε έναν χρήστη χωρίς κατάλογο αρχικής σελίδας

Σε ορισμένες περιπτώσεις, όπου δεν θέλουμε να εκχωρήσουμε οικιακούς καταλόγους για έναν χρήστη για λόγους ασφαλείας, ο οικιακός κατάλογος του χρήστη θα είναι root όταν συνδεθεί σε ένα σύστημα που έχει μόλις επανεκκινηθεί. Όταν ένας τέτοιος χρήστης χρησιμοποιεί την εντολή «su», ο κατάλογος σύνδεσής του θα είναι ο αρχικός κατάλογος του προηγούμενου χρήστη.

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

useradd -M shilpi

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

ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

7. Πώς να δημιουργήσετε έναν χρήστη με ημερομηνία λήξης στο Linux

Από προεπιλογή, όταν προσθέτουμε χρήστες με την εντολή «useradd», ο λογαριασμός χρήστη δεν λήγει ποτέ, δηλαδή η ημερομηνία λήξης τους ορίζεται σε 0 (που σημαίνει ότι δεν έληξε ποτέ).

Ωστόσο, μπορούμε να ορίσουμε την ημερομηνία λήξης χρησιμοποιώντας την επιλογή '-e', η οποία θα πρέπει να είναι σε μορφή ΕΕΕΕ-ΜΜ-ΗΗ. Αυτό είναι χρήσιμο για τη δημιουργία προσωρινών λογαριασμών για μια συγκεκριμένη χρονική περίοδο.

Σε αυτό το παράδειγμα, δημιουργούμε έναν χρήστη "aparna" με ημερομηνία λήξης λογαριασμού, η οποία είναι 27 Αυγούστου 2021, στις ΕΕΕΕ-ΜΜ-ΗΗ μορφή.

useradd -e 2021-08-27 aparna

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

chage -l aparna

Last password change					: Jun 25, 2021
Password expires					: never
Password inactive					: never
Account expires						: Aug 27, 2021
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

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

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

Σε αυτό το παράδειγμα, θα ορίσουμε μια ημερομηνία λήξης κωδικού πρόσβασης λογαριασμού, η οποία είναι 45 ημέρες, για έναν χρήστη 'mansi' χρησιμοποιώντας το '-e' και επιλογές '-f'.

useradd -e 2014-04-27 -f 45 mansi

9. Πώς να προσθέσετε έναν χρήστη με σχόλια στο Linux

Η επιλογή '-c' σάς επιτρέπει να προσθέτετε προσαρμοσμένα σχόλια, όπως το πλήρες όνομα, τον αριθμό τηλεφώνου του χρήστη, κ.λπ., στο αρχείο «/etc/passwd». Το σχόλιο μπορεί να προστεθεί ως μία γραμμή χωρίς κενά.

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

useradd -c "Manis Khurana" mansi

Μπορείτε να προβάλετε το εισαγόμενο σχόλιο στο αρχείο ‘/etc/passwd’ στην ενότητα σχολίων χρησιμοποιώντας την εντολή tail.

tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. Πώς να δημιουργήσετε ένα κέλυφος σύνδεσης χρήστη στο Linux

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

Εδώ σε αυτό το παράδειγμα, θα προσθέσει έναν χρήστη "tecmint" χωρίς κέλυφος σύνδεσης, π.χ. "/sbin/nologin".

useradd -s /sbin/nologin tecmint

Μπορείτε να ελέγξετε το κέλυφος που έχει εκχωρηθεί στον χρήστη στο αρχείο «/etc/passwd».

tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

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

Η ακόλουθη εντολή θα δημιουργήσει έναν χρήστη "ravi" με έναν αρχικό κατάλογο "/var/www/tecmint", ένα προεπιλεγμένο κέλυφος του /bin/bash και πρόσθετες πληροφορίες για τον χρήστη.

useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

Στην παραπάνω εντολή, οι επιλογές '-m' και '-d' δημιουργούν έναν χρήστη με καθορισμένο αρχικό κατάλογο και το '-s' Η επιλογή ορίζει το προεπιλεγμένο κέλυφος του χρήστη σε /bin/bash. Η επιλογή '-c' προσθέτει επιπλέον πληροφορίες για τον χρήστη και το όρισμα '-U' δημιουργεί/προσθέτει μια ομάδα με το ίδιο όνομα με τον χρήστη.

12. Πώς να δημιουργήσετε έναν χρήστη με καθορισμένη αρχική σελίδα, κέλυφος, σχόλιο, UID/GID

Η εντολή είναι πολύ παρόμοια με την παραπάνω, αλλά εδώ ορίζουμε το κέλυφος ως '/bin/zsh' και ορίζουμε προσαρμοσμένα UID και GID για έναν χρήστη 'tarunika'. Η επιλογή '-u' ορίζει το UID του νέου χρήστη (δηλαδή, 100) και η επιλογή '-g' ορίζει το GID (δηλ. , 1000).

useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. Πώς να δημιουργήσετε έναν χρήστη με Home, No Shell, Comment και UID

Η ακόλουθη εντολή μοιάζει πολύ με τις δύο παραπάνω εντολές. Η μόνη διαφορά είναι ότι εδώ, απενεργοποιήσαμε το κέλυφος σύνδεσης για έναν χρήστη που ονομάζεται "avishek" με προσαρμοσμένο αναγνωριστικό χρήστη (δηλαδή, 1019).

Η επιλογή '-s' ορίζει το προεπιλεγμένο κέλυφος σε /bin/bash, αλλά σε αυτήν την περίπτωση, ορίζουμε το κέλυφος σύνδεσης σε '/usr/sbin/ nologin». Αυτό σημαίνει ότι ο χρήστης «avishek» δεν θα μπορεί να συνδεθεί στο σύστημα.

useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

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

Η μόνη αλλαγή σε αυτήν την εντολή είναι ότι χρησιμοποιήσαμε την επιλογή '-k' για να ορίσουμε τον προσαρμοσμένο κατάλογο σκελετού σε /etc/custom.skell αντί για τον προεπιλεγμένο, /etc/skel. Χρησιμοποιήσαμε επίσης την επιλογή '-s' για να ορίσουμε ένα διαφορετικό κέλυφος, /bin/tcsh, για τον χρήστη «navin».

useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

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

Η ακόλουθη εντολή είναι πολύ διαφορετική από τις άλλες εντολές που εξηγήθηκαν παραπάνω. Εδώ, χρησιμοποιήσαμε την επιλογή '-M' για να δημιουργήσουμε έναν χρήστη χωρίς τον αρχικό κατάλογο του χρήστη και η επιλογή '-N' χρησιμοποιείται για να δώσει εντολή στο σύστημα να δημιουργήσει μόνο ένα όνομα χρήστη (χωρίς ομάδα). Η επιλογή '-r' προορίζεται για τη δημιουργία ενός χρήστη συστήματος.

useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

Για περισσότερες πληροφορίες και επιλογές σχετικά με το "useradd", εκτελέστε την εντολή "useradd" στο τερματικό για να δείτε τις διαθέσιμες επιλογές

useradd

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