14.6. Τροποποιώντας Λογαριασμούς

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

ΕντολήΠεριγραφή
adduser(8)Η προτεινόμενη εφαρμογή γραμμής εντολών για την προσθήκη νέων χρηστών.
rmuser(8)Η προτεινόμενη εφαρμογή γραμμής εντολών για την διαγραφή χρηστών.
chpass(1)Ένα ευέλικτο εργαλείο για την αλλαγή πληροφοριών της βάσης δεδομένων των χρηστών.
passwd(1)Το απλό εργαλείο γραμμής εντολών για την αλλαγή των κωδικών των χρηστών.
pw(8)Ένα δυνατό και ευέλικτο εργαλείο για την αλλαγή όλων των ρυθμίσεων των λογαριασμών των χρηστών.

14.6.1. adduser

Το adduser(8) είναι ένα απλό πρόγραμμα για να προσθέτετε νέους χρήστες. Δημιουργεί εγγραφές στα αρχεία συστήματος passwd και group. Δημιουργεί επίσης έναν προσωπικό κατάλογο για τον νέο χρήστη, αντιγράφει εκεί τα εξ' ορισμού αρχεία ρυθμίσεων («dotfiles») από το /usr/share/skel, και μπορεί προαιρετικά να στείλει ένα μήνυμα καλωσορίσματος στον νέο χρήστη.

Παράδειγμα 14.1. Προσθέτοντας Ένα Χρήστη στο FreeBSD
# adduser
Username: jru
Full name: J. Random User
Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : jru
Password   : ****
Full Name  : J. Random User
Uid        : 1001
Class      :
Groups     : jru wheel
Home       : /home/jru
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!
#

Σημείωση:

Ο κωδικός που πληκτρολογείτε δεν φαίνεται, ούτε εμφανίζονται αστερίσκοι. Φροντίστε να μην γράψετε λάθος τον κωδικό.

14.6.2. rmuser

Μπορείτε να χρησιμοποιήσετε το rmuser(8) για να διαγράψετε εντελώς έναν χρήστη από το σύστημα. Η rmuser(8) εκτελεί τα παρακάτω βήματα:

  1. Διαγράφει την εγγραφή crontab(1) του χρήστη (αν υπάρχει).

  2. Διαγράφει όποια εργασία at(1) ανήκει στον χρήστη.

  3. Τερματίζει όλες τις διεργασίες που ανήκουν στον χρήστη.

  4. Διαγράφει τον χρήστη από το τοπικό αρχείο κωδικών του συστήματος.

  5. Διαγράφει τον προσωπικό κατάλογο του χρήστη (αν ανήκει στον χρήστη).

  6. Διαγράφει τα εισερχόμενα αρχεία mail που ανήκουν στον χρήστη από το /var/mail.

  7. Διαγράφει όλα τα αρχεία που ανήκουν στον χρήστη από τις προσωρινές περιοχές αποθήκευσης όπως το /tmp.

  8. Τέλος, διαγράφει το όνομα χρήστη από όλες τις ομάδες στις οποίες ανήκει στο /etc/group.

    Σημείωση:

    Αν κατά τη διαγραφή του χρήστη, υπάρχει ομάδα με το όνομα του η οποία δεν περιέχει άλλα μέλη, η ομάδα αυτή διαγράφεται, Η συμπεριφορά αυτή είναι συμπληρωματική με την αντίστοιχη της adduser(8), που δημιουργεί ομάδα με το όνομα του χρήστη κατά τη δημιουργία του λογαριασμού.

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

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

Παράδειγμα 14.2. rmuser Διαδραστική Διαγραφή Λογαριασμού
# rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Updating password file, updating databases, done.
Updating group file: trusted (removing group jru -- personal group is empty) done.
Removing user's incoming mail file /var/mail/jru: done.
Removing files belonging to jru from /tmp: done.
Removing files belonging to jru from /var/tmp: done.
Removing files belonging to jru from /var/tmp/vi.recover: done.
#

14.6.3. chpass

Το chpass(1) αλλάζει πληροφορίες της βάσης δεδομένων του χρήστη όπως κωδικούς, κελύφη, και προσωπικές πληροφορίες.

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

Όταν δεν δίνονται επιλογές, εκτός από ένα προαιρετικό όνομα χρήστη, το chpass(1) εμφανίζει έναν συντάκτη που περιέχει τις πληροφορίες του χρήστη. Όταν ο χρήστης βγει από τον συντάκτη, η βάση δεδομένων χρηστών ενημερώνεται με τις νέες πληροφορίες.

Σημείωση:

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

Παράδειγμα 14.3. Διαδραστική chpass από τον Υπερχρήστη
#Changing user database information for jru.
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

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

Παράδειγμα 14.4. Διαδραστική chpass από Κανονικό Χρήστη
#Changing user database information for jru.
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Σημείωση:

Οι chfn(1) και chsh(1) είναι απλά σύνδεσμοι στην chpass(1), όπως είναι και οι ypchpass(1), ypchfn(1), και ypchsh(1). Η υποστήριξη NIS είναι αυτόματη, έτσι δεν είναι απαραίτητο να καθορίσετε το yp πριν την εντολή. Αν αυτό σας μπερδεύει, μην ανησυχείτε, το NIS θα καλυφθεί στο Κεφάλαιο 29, Εξυπηρετητές Δικτύου.

14.6.4. passwd

Το passwd(1) είναι ο συνήθης τρόπος να αλλάξετε το δικό σας κωδικό σαν χρήστης, ή τον κωδικό άλλου χρήστη σαν υπερχρήστης.

Σημείωση:

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

Παράδειγμα 14.5. Αλλάζοντας τον Κωδικό σας
% passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done

Παράδειγμα 14.6. Αλλάζοντας τον Κωδικό άλλου Χρήστη ως Υπερχρήστης
# passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done

Σημείωση:

Όσο για τις chpass(1), yppasswd(1) είναι απλά σύνδεσμοι στην passwd(1), έτσι το NIS λειτουργεί με οποιαδήποτε εντολή.

14.6.5. pw

Η pw(8) είναι μια λειτουργία της γραμμής εντολών για δημιουργία, διαγραφή, αλλαγή, και εμφάνιση χρηστών και ομάδων. Λειτουργεί ως front end για τα αρχεία χρηστών και ομάδων του συστήματος. Η pw(8) έχει ένα πολύ δυνατό σύνολο επιλογών γραμμής εντολών που την καθιστούν κατάλληλη για χρήση σε δέσμες εντολών (scripts) κελυφών, αλλά στους νέους χρήστες ίσως φανεί περισσότερο περίπλοκη από ότι οι άλλες εντολές που παρουσιάζονται εδώ.

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.

Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.