Различия между версиями 17 и 18
Версия 17 от 2017-10-25 16:34:53
Размер: 4664
Редактор: ArsenyMaslennikov
Комментарий:
Версия 18 от 2017-11-04 15:02:55
Размер: 5042
Редактор: ArsenyMaslennikov
Комментарий: 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: идея — таблица (в более общем виде — формулы), что конкретный пользователь может делать с конкретным объектом

  • LSM: yama, SELinux, AppArmor, SMACK, ...

  • keyrings

Приложение: что ещё почитать по теме

Действующий субъект системы — процесс

Субъект-субъектная модель прав доступа

Субъект-объектная модель прав доступа

Д/З

  • Понять как работает SGID directory traversal
  • ... ?

LecturesCMC/LinuxSoftware2017/04_Permissions (последним исправлял пользователь ArsenyMaslennikov 2017-11-04 15:02:55)