Kasutajad, gruppid, failide ja katalogide õigused

Näited on toodud Ubuntu linuxi baasil.(NB! mõningad määrungud võivad erineda teistes distributsioonides)
Loe täpsemalt: Linux Users and Sudo

Kõik objektid ja protsessid süsteemis on mingi kasutaja ja gruppi omand. Omandi tähistuseks kasutatakse numbrilisi identifikaatoteid: UID (user id) ja GID (group id). Kasutamise lihtsustamiseks kasutajate ja gruppide identifikaatoritel on vastavusse seatud nimed. Näiteks uid=0 on nimeks root, gid=0 on nimeks root.
Oletame et Ubuntu linuxi installimisel me sisestasime esimese kasutaja nimega "it" ja süsteem vaikimisi esimesele kasutajale määrab UID=1000 ja GID=1000.
Seda väidet saame kontrollida järgmise käskudega (käsu väljund võib olla üpris pikk):

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
...
it:x:1000:1000:it,,,:/home/it:/bin/bash
...

Paroole hoitakse heshitud kujul, juurdepääs on piiratud, vaadata saab käsuga:

# sudo cat /etc/shadow
root:$6$6Ms9n.RB$KLDnI3tB5bsSfiLgOLq5dcVO/pxc3HzDM7PTvcJsn/7DWweXJMjQsKt5fLOFD.Zkmt9Tb3E1F0msamcfH0O711:15270:0:99999:7:::
daemon:*:15089:0:99999:7:::
bin:*:15089:0:99999:7:::
sys:*:15089:0:99999:7:::
sync:*:15089:0:99999:7:::
...
it:$6$tG3KMajX$KuO90Bge2sgYt84EnqPV1fOz5krv24sAfqp7BnTVs27Kn/TWesgEhVwednWCf6cgdyWCopcIadTtDRXMIug3x0:15270:0:99999:7:::
...

Iga kasutaja peab kuuluma ühte peagruppi ja võib kuuluda mitmesse lisagruppi.
Gruppe ja kasutajate kuuluvust lisagruppi saab näha gruppide failis käsuga:

# cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:it
tty:x:5:
...
admin:x:120:it
saned:x:121:
it:x:1000:

Kasutajad ja gruppid

Kasutaja "isa" lisamine. Vaikimisi luuakse samanimeline grupp ja lisatakse loodud kasutaja sinna gruppi. Võti "-m" tähendab luua kodukatalog kasutajate kodukatalogide juurkatalogi (/home), võti "-s /bin/bash" määrab kasutaja shelli
$ useradd -s /bin/bash -m isa
Kontrollime kas kasutaja "isa" on loodud (filtreerime grep käsuga passwd failist rea milles on sõna isa)
$ grep isa /etc/passwd
isa:1001:1001:isa:/home/isa:/bin/bash

NB! Kui sa lisad kasutaja ilma parameetriteta siis ei looda kodukatalogi ja shelliks määratakse /bin/sh mis ei ole mugav (seda reeglit saab muuta spetsiaalses konfigureerimis failis), luuakse samanimeline grupp ja lisatakse sinna loodud kasutaja :
$ useradd sister

Kasutaja isa kustutamine
$ userdel isa
Kasutaja parooli muutmina
$ passwd isa
Lisame gruppid firma ja pere
$ groupadd pere firma
Kontrollime kas grupp "pere" on loodud
$ grep pere /etc/passwd
Kasutaja grupikuuluvuse info väljastamine
$ id isa
Muudame kasutaja ema peagruppi kuuluvuse grupp pere peale
$ usermod -g pere ema
Lisame kasutaja ema lisagruppi firma
$ usermod -a -G firma ema

Töö teise kasutaja õigustes

Kui on vaja muutuda ajutiselt mingisuguseks kasutajaks näiteks "muu" et kontrollida näiteks skriptide tööd.
Alguseks muutume jumalaks ehk "root" kasutajaks kui meil on antud vastavad õigused
peeter@server # sudo su -
[suod] password for peeter:
peale seda tulev sisestada olemasoleva (peeter) kasutaja parool. Ja süsteem muudab sinu "root" kasutajaks.
root@server #

Alles nüüd muutume soovitud kasutajaks "muu" ilma paroolita
root@server # su muuuser
muu@server #

Kui tead teise kasutaja parooli siis saab muutuda selleks kasutajaks otse
root@server # su muu
Selle peale teilt küsitakse "muu" kasutaja parooli
[suod] password for muu:
muu@server #

Failid, katalogid ja nende õigused

Luua uus fail
# touch text.txt minu.sh
Kustutada fail
# rm text.txt
Luua uus katalog
# mkdir newdir
Kustutada katalog
# rmdir newdir

Failide ja katalogide õiguste muutmine

Tähistused:
"r" on faili katalogi lugemis õigus
"w" on faili katalogi kirjutamis õigus
"x" on faili käivitamis õigus ja kataloigi sisenemis õigus

Lubame faile käivitada
# chmod +x minu.sh sinu.sh
Võtame ära muudel kasutajatel faili lugemis õiguse
# chmod o-r minu.sh
Muudame php skripti faili õigusi: kasutaja saab kirjutada ja lugeda, grupp ja muud saavad lugeda
# chmod 644 index.php
Muudame käivitatava faili õigusi
# chmod 755 install.pl

Keelame küikidel peale omaniku katalogi kasutada
$ chmod 700 /home/kaarel
Keelame muudel kasutajatel katalogi kasutada ja grupil liikuda katalogi sisse ja lugeda
$ chmod 750 /home/peeter

Muudame faili ja katalogi omaniku
$ chown peeter /home/kaarel/text.txt
$ chown peeter data
Muudame faili ja katalogi gruppikuuluvust
$ chgrp users /home/kaarel/text.txt
$ chgrp users data
Muudame faili ning katalogi omaniku ja gruppi korraga
$ chown peeter.users /home/kaarel/text.txt
$ chown peeter.users data