Svakom korisniku Linux sistema dodeljen je jedinstven celobrojni identifikator – UID (user ID) na osnovu kog kernel identifikuje korisnike. Ovaj metod predstavljanja kernelu karakterističan je za većinu operativnih sistema, uzevši u obzir da procesor brže radi sa brojnim vrednostima. Posebna baza podataka, koja radi u korisničkom režimu rada, dodeljuje tekstualna imena ovim numeričkim vrednostima, odnosno uparuje UID sa konkretnim korisničkim imenom. Dodatno, u bazi se nalaze i informacije o korisniku, kao što su opis, lokacija ličnog direktorijuma (home) i podrazumevani komandni interpreter (shell).
Na UNIX sistemima postoje dve vrste korisnika:
Na Unix-like sistemima postoje tri primarne vrste naloga:
Skoro svi nalozi raspoređuju se po ovim kategorijama.
U administraciji korisnicima i grupama važna su sledeća tri fajla:
U fajlu /etc/passwd se nalaze podaci slični ovima:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
Za svaki nalog je vezano nekoliko atributa.
Ovaj fajl sadrži kriptovane lozinke svih korisnika (korisničkih naloga), kao i vreme posle kojeg nisu validni. Npr:
man:*:13991:0:99999:7:::
lp:*:13991:0:99999:7:::
mail:*:13991:0:99999:7:::
…
marko:tc2kk31xv1PxQ:12735::::::
Podaci o svakom nalogu imaju devet mogućih mesta za podatke.
Ovaj fajl sadrži podatke o svim grupama. Npr:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:root
...
Komande za kreiranje, menjanje i brisanje naloga i grupa je uglavnom standardizovano na svim Unix i Unix-like sistemima. Sledeće komande su dostupne na većini sistema:
useradd | Dodaje nalog. |
usermod | Menja opcije naloga. |
userdel | Briše nalog sa sistema. |
groupadd | Dodaje grupu. |
groupmod | Menja opcije grupe. |
groupdel | Briše grupu sa sistema. |
Manuelno dodavanje naloga editovanjem odgovarajućih fajlova:
Naravno ovi koraci se mogu izbeći koristeći useradd
alat, podrazumevajući da ste registrovani kao administrator tj. root.
useradd
- -c komentar
- -d home direktorijum
- -e datum isteka naloga
- -f koliko dana pre isteka roka korisnik dobija obaveštenje
- -g primarna grupa
- -G sekundarna grupa
- -m kreira home direktorijum ako ne postoji
- -s ime shella koji će korisnik koristiti
- -u ID korisnika ime naloga
Primer. Kreiranje naloga pod imenom unixnewbie, čije pravo ime je Jane Doe. Jane je potreban nalog do 4. Aprila 2018. Njena primarna grupa je users, a sekundarna authors. Ime shell-a koji koristi je Bourne Again shell (bash). Ako ako se ne prijavi na nalog u periodu od 60 dana, nalog će biti blokiran.
$ sudo useradd -c "Jane Doe" -d /home/unixnewbie -e 2018-04-04 -g users -G authors -m -s /bin/bash -u 1003 unixnewbie
Nakon ove komande treba postaviti password za ovog korisnika komandom:
$ sudo passwd unixnewbie
$ sudo adduser unixnewbie
Adding user `unixnewbie` ...
Adding new group `unixnewbie` (1002) ...
Adding new user `unixnewbie` (1002) with group `unixnewbie` ...
Creating home directory `/home/unixnewbie` ...
Copying files from `/etc/skel` ...
Changing the user information for unixnewbie
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
Komanda za menjanje korisničkog naloga. Ima iste opcije kao i useradd sa dodatnom opcijom -l koja daje mogućnost promene imena korisničkog naloga. Posle ove opcije navodi se novo ime pa ime koje se menja. Treba voditi računa o tome da li sistem vrši autentifikaciju prema imenu ili prema UID numeričkoj vrednosti. Evo primera:
$ sudo usermod -d /home/saraht -m -l saraht storvald
Brisnje naloga tj. korisnika. Ima jednu opciju -r koja nam daje mogućnost da se izbriše i home direktorijum ovog korisnika.
$ sudo userdel -r saraht
Komande za rad sa grupama su groupadd, groupmod i groupdel i iste su na skoro svim distribucijama. Primer:
Dve osnovne komande pomoću kojih se može odrediti ko je prijavljen na sistem su who i finger.
Komanda who prikazuje korisničko ime, terminal (line), vreme prijavljivanja (login-time) i host računar (from) za sve korisnike koji su prijavljeni na sistem. Ukoliko se komanda zada sa parametrom -H rezultat će biti prikazan sa zaglavljem. Ukoliko se zada sa parametrom -q prikazuju se samo imena i ukupan broj korisnika prijavljenih na sistem.
$ who -H
NAME LINE TIME COMMENT
root pts/0 Mar 24 18:50 (nicotine.internal.vets.edu.rs)
jsmith pts/1 Mar 24 19:50 (lab409.internal.vets.edu.rs)
$ who -q
root jsmith
# users=2
Korisnik se privremeno može prijaviti na sistem pod drugim imenom pomoću komande su (switch user) i na taj na in pristupiti resursima koji pripadaju drugom korisniku. Najčešće se koristi ukoliko je potrebno izvršiti promenu datoteka koje pripadaju drugom korisniku, promenu pristupnih prava ili pokretanje nekog programa. Administratori koriste ovu komandu da bi razrešili neki problem sa korisničkim nalogom ili u svrhe testiranja autorizacije i ponašanja naloga sa izvesnim aplikacijama. Sintaksa komande su je sledeća:
$ su [-] [username]
Od korisnika koji pokreće komandu su (ukoliko to nije root) zahteva se da unese i lozinku za korisnički nalog koji želi privremeno da koristi. Nakon unošenja lozinke korisnik ima sve privilegije tog naloga.
Ukoliko je potrebno da se prilikom privremenog prijavljivanja na sistem pročitaju nove inicijalizacione datoteke specifičnog korisnika, potrebno je zadati komandu sa parametrom “-“ pre korisničkog imena (npr. su – milos). Na taj način će se izvršiti postavljanje promenljivih i prelazak na home direktorijum tog korisnika. Povratak na originalni korisnički nalog vrši se komandom exit.
$ whoami
jsmith
$ pwd
/home/jsmith
$ su nmacek
Password:
$ whoami
nmacek
$ pwd
/home/jsmith
$ exit
exit
ID korisnika koji je inicijalno prijavljen na UNIX sistem predstavlja je stvarni identifikator korisnika (RUID - Real User ID). Ukoliko se korisnik privremeno prijavi na sistem pod drugim imenom komandom su, njegov ID se privremeno menja. U cilju razlikovanja inicijalno i privremeno prijavljenih korisnika uvodi se efektivni identifikator korisnika (EUID - Effective User ID).
Za RUID i EUID važi sledeće:
$ id
uid=1051(jsmith) gid=1051(jsmith) groups=1051(jsmith)
$ whoami
jsmith pts/1 Mar 25 16:09 (nicotine.internal.vets.edu.rs)
$ sudo su -
Password:
$ id
uid=0(root) gid=0(root) groups=0(root)
$ whoami
jsmith pts/1 Mar 25 16:09 (nicotine.internal.vets.edu.rs)