4664
Комментарий:
|
← Версия 18 от 2017-11-04 15:02:55 ⇥
5042
why not
|
Удаления помечены так. | Добавления помечены так. |
Строка 74: | Строка 74: |
* [[https://ru.wikipedia.org/wiki/Авторизация#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.BE.D0.BD.D0.BD.D1.8B.D1.85_.D1.82.D0.B5.D1.85.D0.BD.D0.BE.D0.BB.D0.BE.D0.B3.D0.B8.D1.8F.D1.85|Мнение русскоязычной Википедии по вопросу]] |
Процессы и права доступа
Немного про процессы
повторение: каналы, подстановка
- Действующий субъект системы — процесс
права доступа процесса к объектам файловой системы
- PID
- ps с ключами
+ 2 набора ключей (ps axw vs ps -ef)
порождение процессов (fork()+exec()), PID 1
ps -ejH --forest, pstree
сигналы, kill
… & и kill
top
+ команда k
отступление: посылка сигналов с клавиатуры в терминале, фоновые процессы
^C
& и стандартный ввод, команда fg; ^Z
stty -a
Субъект-субъектная модель прав доступа
RWX (т. н. атрибуты)
chmod
запустить незапускаемый файл, прочитать нечитаемый
ls -l (почему rwxrwxrwx — потом)
- UID процесса и файла
- множественный субъект — GID (любые UID могут быть членами любых GID)
- наследование окружения ⇒ наследование UID и GID
VAR=qqq ps -esww | grep qqq
- rwxrwxrwx — хозяин, группа, остальные
- /etc/passwd, /etc/group
- Понятие первичной группы
chmod и 755
несколько примеров
Доверенный субъект: root
чтение нечитаемого, запись в незаписываемый и запуск незапускаемого из-под root
- недостатки модели с доверенным субъектом
chown и chgrp
- Каталоги: R,W,X
пример +r -x и +x -r
- удаление чужого файла и 't'
пример
- недостатки С-С модели
- неполнота (например, атрибута три, а триплет для группы только один ⇒ нет возможность сделать одну группу только на чтение, другую только на запись)
- жёсткость ⇒ SUID/SGID
- механизм работы и потенциальная опасность
- (если будет время — effectve UID/GID)
- (кстати, SGID для каталогов)
- механизм работы и потенциальная опасность
- пример: TCB как вариант SGID directory traversal
на примере passwd и /etc/tcb
(упомянуть) расширенные атрибуты: xattr
(упомянуть) capabilities: более мелкое деление прав, setcap
на примере /bin/ping: снять suid, выставить CAP_NET_RAW
Субъект-объектная модель прав доступа
Сколько успеется, в назывном порядке
acl: идея — таблица (в более общем виде — формулы), что конкретный пользователь может делать с конкретным объектом
Приложение: что ещё почитать по теме
Действующий субъект системы — процесс
отступление: посылка сигналов с клавиатуры в терминале, фоновые процессы
Субъект-субъектная модель прав доступа
- euid, fsuid
- наследование окружения ⇒ наследование UID и GID
chown и chgrp
Субъект-объектная модель прав доступа
Д/З
- Понять как работает SGID directory traversal
- ... ?