GNU/Linux как UNIX-подобная система
Наследие старых времён: текстовый интерфейс — передача байтов
Интерфейс командной строки
- Human readable
- Human writeable
- ЧМС, обратная связь, диалог
- Совмещение/разделение потока данных и потока управления
- UNIX-like: много утилит на все случаи жизни
- системные вызовы
- подзадачи администратора
- пользовательские подзадачи
Фиксированное дерево ФС:
- каталоги по назначению файлов
- bin, lib, share, doc, man, var; /usr
- $HOME, /tmp, $TMPDIR
- Монтирование
Процессы и права доступа:
- Процессы и PID
- fork+exec, PPID
- Сигналы
- UID пользователя
- все объекты имеют UID
- все процессы имеют UID (нельзя поменять в силу fork+exec)
- ⇒ свой или чужой объект, права определяет хозяин
- права на чтение, запись и использование
- использование файла и каталога
удаление из каталога как права на каталог
- групповой ID (пользователь входит в несколько групп)
- GID объекта и права для группы
Примеры: TODO
Как нарушить права доступа?
- SUID/SGID
- SGID directory traversal