USERS

/etc/passwd

root:x:0:0:root:/root:/bin/bash
username:password:uid:gid:user info:home directory:login shell>p> root - username. Moze zawierac -/_, nie powinny zaczynac sie od [0-9] albo zawierać [A-Z]
x/*/ciag znakow - x wskazuje na /etc/passwd; * konto wylaczone; ciag znakow to zaszyfrowane haslo
0 - UID
0 - GID
root - user info
/root - home directory
/bin/bash - shell

Zazwyczaj konta usług maja shell /sbin/nologin. Konta userow zawsze maja /bin/bash

/etc/group
groupname:password:gid:group members

mail:x:12:mail,postfix
mail - nazwa grupy
x/ciag znakow - x wskazuje na /etc/gshadow; ciag znakow to zaszyfrowane haslo
12 - GID
mail,postfix - przypisani do grupy userzy

Kazdy user jest przypisany do grupy. Defaultowo, kazdy user dostaje swoja grupe. Niektore konta uslug maja po kilku userow

/etc/shadow
username:password:password history:mindays:maxdays:warndays:inactive:disabled

root:$6$xLjK9YDYnUHkEMBf$A.2S3NO1lyxTDkwE9td2NjlZ/VN.L6Xe5P5g5rMq10rH1PW5k8soHn5GnRnPZAPZcwCRoFTCnd9.m0775QGZ10:16119:0:99999:7::: root - username
$6$xLjK9YD... - haslo; kodowanie: $1 - MD5, $6 SHA-512
16119- data ostaniej zmiany hasla od 01.01.1970
0 - minimalna ilosc dni dla uzywania hasla
99999 - maksymalna ilosc dni, po ktorych haslo musi byc zmienione
7 - ilosc dni, ostrzezenie o password expiration
- ilosc dni po password expiration, kiedy konto staje sie nieaktywne
- ilosc dni, po expirowaniu hasla, kiedy konto wygada (disabled)

/etc/gshadow
groupname:password:gid:group members
mail - nazwa grupy
password - ! to brak hasla, MD5/SHA-512
- GID
- group members

/etc/login.defs automatyczne parametry przy tworzeniu nowego usera

dodanie nowego usera:
vipw, vigr z parametrami albo edytorem tekstu

/etc/skel/* - defaultowo kopiowane do folderu home nowego usera

expire user

[root@localhost default]# usermod -e 2014-01-01 toto
[root@localhost default]# su marek
[marek@localhost default]$ su toto
Password:
Your account has expired; please contact your system administrator
su: incorrect password
[marek@localhost default]$

inactive acount

[root@localhost default]# usermod -e 2014-01-01 toto
[root@localhost default]# su marek
[marek@localhost default]$ su toto
Password:
Your account has expired; please contact your system administrator
su: incorrect password
[marek@localhost default]$

Lock/unlock password

[root@localhost ~]# passwd -l toto
Locking password for user toto.
passwd: Success
[root@localhost ~]# su marek
[marek@localhost root]$ su toto
Password:
su: incorrect password
[marek@localhost root]$ exit
exit
[root@localhost ~]# passwd -u toto
Unlocking password for user toto.
passwd: Success
[root@localhost ~]# su marek
[marek@localhost root]$ su toto
Password:
[toto@localhost root]$ exit

[root@localhost eth0]# usermod -L toto
[root@localhost eth0]# su marek
[marek@localhost eth0]$ su toto
Password:
su: incorrect password
[marek@localhost eth0]$


expire password

[root@localhost ~]# passwd -e toto
Expiring password for user toto.
passwd: Success
[root@localhost ~]# su marek
[marek@localhost root]$ su toto
Password:
You are required to change your password immediately (root enforced)
Changing password for toto.
(current) UNIX password:
[marek@localhost root]$ exit

SGID

userzy sa przypisani do grupy
w jej katalogu domowym, user1 tworzy plik
user2, bedac w tej samej grupie - nie moze go otworzyc

jako root modyfikuje folder, dodajac sticky bit dla grupy na folderze

jako user1, w folderze grupy tworze nowy plik. tym razem owner grupa jest ustawiona na grupe dla wszystkich, nie tylko
dla okreslonego usera

uprawnienia do pliku moze zmieniac tylko wlasciciel pliku, nie grupa


sticky bit dla grupy powoduje, ze
- tworzac plik, gid jest od razu dla grupy. inni userzy moga go zgodnie z permissions uzywac
- modyfikowac permissions moze tylko owner
[root@centosb ~]# mkdir /home/testshared
[root@centosb ~]# chown nobody:tg1 /home/testshared/
[test2@centosb testshared]$ tail -1 /etc/group
tg1:x:506:test1,test2
[root@centosb home]# chmod g+s testshared/
[test1@centosb testshared]$ touch bcde
[test1@centosb testshared]$ ll bcde
-rw-rw-r--. 1 test1 tg1 0 Feb 25 23:49 bcde
[test1@centosb testshared]$ su test2
Password:
[test2@centosb testshared]$ pwd
/home/testshared
[test2@centosb testshared]$ date >> bcde
[test2@centosb testshared]$ cat bcde
[test2@centosb testshared]$ chmod o-r bcde
chmod: changing permissions of `bcde': Operation not permitted