Процессы и права доступа
Немного про процессы
- повторение: каналы, подстановка 
- Действующий субъект системы — процесс - права доступа процесса к объектам файловой системы 
- PID
- ps с ключами  + 2 набора ключей (ps axw vs ps -ef) + 2 набора ключей (ps axw vs ps -ef)
 
- порождение процессов (fork()+exec()), PID 1  ps -ejH --forest, pstree ps -ejH --forest, pstree
 
- сигналы, kill  … & и kill … & и kill
 
- top  + команда k + команда k
 
- отступление: посылка сигналов с клавиатуры в терминале, фоновые процессы  ^C ^C
 & и стандартный ввод, команда fg; ^Z & и стандартный ввод, команда fg; ^Z
- stty -a 
 
 
Субъект-субъектная модель прав доступа
- RWX (т. н. атрибуты)  chmod chmod
 запустить незапускаемый файл, прочитать нечитаемый запустить незапускаемый файл, прочитать нечитаемый
 
 ls -l (почему rwxrwxrwx — потом) ls -l (почему rwxrwxrwx — потом)
- UID процесса и файла
- множественный субъект — GID (любые UID могут быть членами любых GID)
- наследование окружения ⇒ наследование UID и GID  VAR=qqq ps -esww | grep qqq VAR=qqq ps -esww | grep qqq
 
- rwxrwxrwx — хозяин, группа, остальные - /etc/passwd, /etc/group
- Понятие первичной группы
 
- chmod и 755  несколько примеров несколько примеров
 
- Доверенный субъект: root  чтение нечитаемого, запись в незаписываемый и запуск незапускаемого   из-под root чтение нечитаемого, запись в незаписываемый и запуск незапускаемого   из-под root
- недостатки модели с доверенным субъектом
 
- chown и chgrp 
- Каталоги: R,W,X  пример +r -x и +x -r пример +r -x и +x -r
 
- удаление чужого файла и 't'  пример пример
 
- недостатки С-С модели - неполнота (например, атрибута три, а триплет для группы только один ⇒ нет возможность сделать одну группу только на чтение, другую только на запись)
- жёсткость ⇒ SUID/SGID - механизм работы и потенциальная опасность - (если будет время — effectve UID/GID)
 
- (кстати, SGID для каталогов)
 
- механизм работы и потенциальная опасность 
 
- пример: TCB как вариант SGID directory traversal  на примере passwd и /etc/tcb на примере passwd и /etc/tcb
 
- (упомянуть) расширенные атрибуты: xattr 
- (упомянуть) capabilities: более мелкое деление прав, setcap  на примере /bin/ping: снять suid, выставить CAP_NET_RAW на примере /bin/ping: снять suid, выставить CAP_NET_RAW
 
Субъект-объектная модель прав доступа
Сколько успеется, в назывном порядке
- acl: идея — таблица (в более общем виде — формулы), что конкретный пользователь может делать с конкретным объектом 
Приложение: что ещё почитать по теме
Действующий субъект системы — процесс
- отступление: посылка сигналов с клавиатуры в терминале, фоновые процессы 
Субъект-субъектная модель прав доступа
- euid, fsuid
- наследование окружения ⇒ наследование UID и GID
- chown и chgrp 
Субъект-объектная модель прав доступа
Д/З
- Понять как работает SGID directory traversal
- ... ?
