7.6. Kontode muutmine

UNIX® keskonnas on olemas lai valik erinevaid käske kasutajate kontode muutmiseks. Levinuimad on lühidalt kirjeldatud allpool, neile järgnevad detailsemad kasutuse näited.

KäskKokkuvõte
adduser(8)Soovitatav käsurearakendus uute kasutajate lisamiseks.
rmuser(8)Soovitatav käsurearakendus kasutajate eemaldamiseks.
chpass(1)Paindlik vahend kasutajate andmebaasis oleva info muutmiseks.
passwd(1)Lihtne käsurearakendus paroolide muutmiseks.
pw(8)Võimas ja paindlik vahend kõikide kasutajakontode aspektide muutmiseks.

7.6.1. adduser

adduser(8) on lihtne programm uute kasutajate lisamiseks. See loob sissekanded süsteemi failidesse passwd ja group. Ühtlasi loob ta ka uuele kasutajale kodukataloogi, kopeerib sinna algsed seadistuste failid (``dotfiles'') kataloogist /usr/share/skel ja soovi korral saadab uuele kasutajale tervitus teate.

FreeBSD  versioonis 5.0 kirjutati adduser(8) ringi Perli skriptist shelli skriptiks, mis toimib mähkurina ümber pw(8), seetõttu on selle kasutamine FreeBSD 4.0 ja FreeBSD 5.X versioonides veidi erinev.

Algse seadistustefaili loomiseks kasuta käsku adduser -s -config_create. [1] Järgmiseks seadistame adduser(8) vaikeväärtuseid ja loome oma esimese kasutajakonto, kuna normaalseks kasutuseks on root-konto kasutamine õel ja kole.

Example 7-1. adduser-i seadistaminei ja kasutaja lisamine FreeBSD 4.X süsteemis

# adduser -v
Use option ``-silent'' if you don't want to see all warnings and questions.
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: csh date no sh tcsh zsh [sh]: zsh
Your default shell is: zsh -> /usr/local/bin/zsh
Enter your default HOME partition: [/home]:
Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: 
Send message from file: /etc/adduser.message no 
[/etc/adduser.message]: no
Do not send message
Use passwords (y/n) [y]: y

Write your changes to /etc/adduser.conf? (y/n) [n]: y

Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username [a-z0-9_-]: jru
Enter full name []: J. Random User
Enter shell csh date no sh tcsh zsh [zsh]: 
Enter home directory (full path) [/home/jru]: 
Uid [1001]: 
Enter login class: default []: 
Login group jru [jru]: 
Login group is ``jru''. Invite jru into other groups: guest no 
[no]: wheel
Enter password []: 
Enter password again []: 

Name:	  jru
Password: ****
Fullname: J. Random User
Uid:	  1001
Gid:	  1001 (jru)
Class:	  
Groups:	  jru wheel
HOME:     /home/jru
Shell:	  /usr/local/bin/zsh
OK? (y/n) [y]: y
Added user ``jru''
Copy files from /usr/share/skel to /home/jru
Add another user? (y/n) [y]: n
Goodbye!
#

Kokkuvõttes muutsime vaikeshelli zsh-ks (see on saadaval portsude kollektsioonis) ja keelasime ära lisatud kasutajatele tervitusmeili saatmise. Seejärel salvestasime seadistused, lisasime konto jru jaoks ja lisasime jru gruppi wheel (et ta saaks root-kasutaja õigustesse tõusta käsu su(1) abil.)

Note: Parooli, mille sa sisestad, ei kuvata ekraanile, samuti mitte tärne. Ürita parooli 2 korda valesti mitte kirjutada.

Note: Edaspidi kasuta käsku adduser(8) argumentideta ja sa ei pea enam läbi käima vaikeväärtuste muutmist. Kui programm küsib sinult vaikeväärtuste muutmist, välju programmist ja proovi võtit -s.

Example 7-2. Kasutaja Lisamine FreeBSD 5.X Süsteemis

# 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]:
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!
 #
# adduser
Kasutajanimi: jsk
Täielik nimi: J. Suvaline Kasutaja
Uid (Vaikeväärtuse kasutamiseks jäta tühjaks):
Sisselogimise grupp [jsk]:
Sisselogimise grupp on jsk. Kutsu jsk veel mõnda gruppi? []: wheel
Sisselogimise klass [vaikimisi]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Kodukataloog [/home/jsk]:
Kasuta paroolipõhist autentimist? [jah]:
Kasuta tühja parooli? (jah/ei) [ei]:
Kasuta suvalist parooli? (jah/ei) [ei]:
Sisesta parool:
Sisesta parool uuesti:
Lukusta konto pärast loomist? [ei]:
Kasutajanimi   : jsk
Parool   : ****
Täielik nimi: J. Suvaline Kasutaja
Uid        : 1001
Klass      :
Grupp      : jsk wheel
Kodu       : /home/jru
Shell      : /usr/local/bin/zsh
Lukustatud : no
OK? (yes/no): yes
adduser: INFO: Lisasin edukalt (jsk) kasutajate baasi.
Lisa veel mõni kasutaja? (jah/ei): ei
Hüvasti!
 #

7.6.2. rmuser

Kasutaja täielikuks eemaldamiseks süsteemist võid kasutada programmi rmuser(8). rmuser(8) viib läbi järgnevad sammud:

  1. eemaldab kasutaja crontab(1) kirjed (kui neid on);

  2. eemaldab kõik antud kasutajale kuuluvad at(1) tööd;

  3. tapab kõik antud kasutajale kuuluvad protsessid;

  4. eemaldab kasutaja süsteemi lokaalsest password-failist;

  5. eemaldab kasutaja kodukataloogi (kui selle omanik on seesama kasutaja);

  6. eemaldab kasutajale kuuluvad e-maili failid kataloogi /var/mail alt;

  7. eemaldab kõik antud kasutajale kuuluvad failid ajutistest kataloogidest nagu näiteks /tmp;

  8. viimaks eemaldab kasutajanime kõigist gruppidest, millesse see failis /etc/groupkuulub.

    Note: Kui grupp jääb tühjaks ja grupi nimi on sama, mis kasutajanimi, siis eemaldatakse ka grupp; see aspekt vastab kasutajale vastavatele ainulaadsetele gruppidele, mida adduser(8) loob.

rmuser(8) abil ei saa eemaldada administraatori kontosid, kuna see on pea alati massiivse hävingu märgiks.

Vaikimisi kasutatakse interaktiivset rezhiimi, mis üritab kindlustada, et sa ikka saad aru, mida teed.

Example 7-3. rmuser: interaktiivne konto eemaldamine

# 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.
#

7.6.3. chpass

chpass(1) muudab kasutajate andmebaasiinformatsiooni, nagu näiteks paroole, shelle ja isiklikku infot.

Teiste kasutajate informatsiooni ja paroole saab chpass(1) abil muuta ainult süsteemi administraator.

Ainult kasutajanimega ja ilma igasuguste võtmeteta käivitamise järel kuvab chpass(1) tekstiredaktori kasutaja informatsiooniga. Redaktorist väljumise järel uuendatakse kasutajainfo andmebaasi uue infoga.

Note: FreeBSD 5.X versioonis küsitakse sinult parooli redaktorist väljumisel, juhul, kui sa ei ole administraatori õigustes.

Example 7-4. Interaktiivne chpass administraatorina

#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:

Tavakasutaja saab muuta ainult väikest alamhulka sellest informatsioonist ja sedagi ainult enda kohta.

Example 7-5. Interaktiivne chpass tavakasutajana

#Changing user database information for jru.
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Note: chfn(1) ja chsh(1) on lingid chpass(1) peale nagu ka chpass(1), ypchfn(1) ja ypchsh(1). NIS tugi on automaatne, seega pole yp eesliite kasutamine vajalik. Kui see tundub segane, ei tasu muretseda, NISist räägitakse peatükis.

7.6.4. passwd

passwd(1) on tavameetod enda parooli muutmiseks tavakasutajana või teise kasutaja parooli muutmiseks administraatorina.

Note: Vältimaks kogemata või volitamata muudatusi, tuleb enne uue parooli seadmist sisestada kehtiv parool.

Example 7-6. Oma parooli muutmine

% passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done

Example 7-7. Teise kasutaja parooli muutmine administraatorina

# passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done

Note: Nagu chpass(1) puhulgi, on yppasswd(1) lihtsalt link passwd(1)-le, seega NIS töötab mõlema käsuga.

7.6.5. pw

pw(8) on käsureautiil kasutajate ja gruppide loomiseks, kustutamiseks, muutmiseks ja kuvamiseks. Ta toimib liidesena süsteemi kasutaja- ja grupifailidele. pw(8)-l on lai valik käsureavõtmeid, mis teevad ta sobivaks shelliskriptides kasutamiseks, kuid uutele kasutajatele võib ta tunduda keerukam kui teised siin käsitletud käsud.

Notes

[1]

Võti -s määrab adduser(8) vaikeolekuks vaikne. Hiljem kasutame me vaikeväärtuste muutmiseks võtit -v.