Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Common Edition 2.12

Постановка задачи

На компьютере под управлением Astra Linux требуется настроить разделение прав прямого доступа пользователей к оптическим дискам.
При этом должны быть разграничены права пользователей на копирование и запись оптических дисков. Права на монтирование оптических дисков управляются отдельно (см. Съемные носители в ОС Astra Linux).

Особенности применения

Приводы оптических дисков представлены устройствами /dev/srX с дискретными правами доступа на чтение и запись для владельца root и группы cdrom:

ls -l /dev/sr*

brw-rw----+ 1 root cdrom 11, 0 авг  4 08:05 /dev/sr0
brw-rw----+ 1 root cdrom 11, 1 авг  4 08:05 /dev/sr1
При этом прямой доступ на чтение и запись к таки устройствам по умолчанию предоставляется всем пользователям автоматически при входе пользователя в сессию. Это делается с помощью правила UDEV /usr/lib/udev/rules.d/70-uaccess.rules (/lib/udev/rules.d/70-uaccess.rules для Astra Linux выпущенных ранее обновления x.7). В указанном правиле перечислены различные устройства, доступ к которым должен быть общим. При подключении таких устройств правило 70-uaccess.rules присваивает устройству тэг uaccess. Тэг обрабатывается службами systemd при входе в пользовательскую сессию и таким устройствам присваивается атрибут ACL (см. Списки управления доступом к файловым объектам (ACL) в Astra Linux) разрешающий пользователю прямое чтение и запись:
getfacl /dev/sr0

getfacl: Removing leading '/' from absolute path names
# file: dev/sr0
# owner: root
# group: cdrom
user::rw-
user:<имя_пользователя>:rw-
group::rw-
mask::rw-
other::---

# file: dev/sr1
# owner: root
# group: cdrom
user::rw-
user:<имя_пользователя>:rw-
group::rw-
mask::rw-
other::---


Решение

Для отключения автоматически предоставляемого общего доступа следует отменить назначение ACL, этот доступ разрешающий, то есть удалить тэг uaccess из атрибутов утройства. Для этого:

  1. Определить атрибуты, по которым можно идентифицировать устройство (или класс устройств):

    sudo udevadm info --query=property --name=<имя_устройства>
    например:
    sudo udevadm info --query=property --name=/dev/sr0
    Далее в примере правила UDEV будет использован класс устройств ID_CDROM_DVD;

  2. Создать правило udev, которое будет выполняться после правила 70-uaccess.rules и удалять тэг uaccess. Например, создать файл 71-uaccess-astra.rules (порядок выполнения правил определяется алфавитной сортировкой имен файлов с правилами). Файл разместить в том же каталоге, в котором находится правило 70-uaccess.rules. Пример правила:

    SUBSYSTEM=="block", ENV{ID_CDROM_DVD}=="1", TAG-="uaccess", RUN+="/usr/bin/logger 'Astra UDEV: set access for device %E{DEVNAME}'"
  3. Перезагрузить компьютер.

После выполнения указанных действий прямой доступ к оптическим дискам на чтение и запись будет разрешен только суперпользователю (sudo) и пользователям, входящим в группу cdrom.
Для более точного разделения прав дополнительно можно определить права только на прямое чтение без права прямой записи. Для этого:

  1. Создать группу, которой будет разрешено чтение, например, группу cdrom_ro:

    sudo groupadd cdrom_ro

  2. В правиле 71-uaccess-astra.rules назначить устройству (устройствам) ACL, разрешающий чтение участникам группы cdrom_ro, для чего привести правило к виду:

    SUBSYSTEM=="block", ENV{ID_CDROM_DVD}=="1", TAG-="uaccess", RUN+="/usr/bin/setfacl -m g:cdrom_ro:r %E{DEVNAME}", RUN+="/usr/bin/logger 'Astra UDEV: set access for device %E{DEVNAME}'"
  3. Для применения правила сменить носитель в приводе.

После выполнения указанных действий прямой доступ к оптическим дискам на чтение и запись будет разрешен суперпользователю (sudo) и пользователям, входящим в группу cdrom, а также разрешен доступ на чтение пользователям, входящим в группу cdrom_ro.



  • Нет меток