Субъекты системы
- Процессы PID
- Многнопроцессность ⇒ доступ r/w/x к объекту
- х на каталоги
- w на каталоги
- t на каталоги
- Пользователи и дискреционные права
- петя и вася не равны в правах
- зачем?
ок, UID и у процесса и у файла + o rwx / u rwx, т. е. права доступа
- васе можно, пете нельзя?
- оок, GID и у процесса, и у файла + o-g-u rwxrwxrwx
- пете можно, васе нельзя?
ооок, список GID у процесса
- пете можно только читать, васе только писать
RAGE
- петя и вася не равны в правах
- ⇒ UID/GID — часть окружения
setuid(), setgid(), пример программы
- а как же нарушать права?
- setUID и setGID биты при старте процесса из файла
пример
- setgid directory traversal
- Но всё-таки, вася и петя…
- ACL, setfacl, getfacl
- пример
root@grep:/home/george> setfacl -m u:george:- /tmp/o root@grep:/home/george> v /tmp/o 214982 -rw-r--r--+ 1 root root 33 мар 24 15:34 /tmp/o root@grep:/home/george> date > /tmp/oo root@grep:/home/george> chmod 600 /tmp/oo root@grep:/home/george> cat /tmp/oo Пт мар 24 15:36:49 MSK 2017 root@grep:/home/george> setfacl -m u:george:r /tmp/oo
- capabilities(7)
- Зачем всё root?
- setcap getcap примеры (cap_chown)