Автор Тема: запрет автоматического монтирования USB-устройств  (Прочитано 3151 раз)

Оффлайн zhe

  • Участник
  • *
  • Сообщений: 88
Для СПТ6 был реализован модуль alterator-ports-access; попробуйте поставить версию из p7 и заглянуть на https://localhost:8080/

Спасибо. Попробовал блокировку портов, работает, но это не совсем то, что нужно, так как полностью блокируется USB-устройство, а мне нужно, просто отключить автоматическое монтирование, разрешить только ручное, чтобы каждый раз, когда вставляешь флешку, она не монтировалась автоматически.
man google.com

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
нужно, чтобы флешки ..., только в ручную  командой
mount /dev/sd.. /mnt/
Также присутствует udisks

Правило polkit напишите запрещающее монтирование несистемных устройств.
Для устройств
HintSystem:  false

Что необходимо знать для системных и несистемных устройств:
Ответ #81 : Замена системы инициализации systemd на sysvinit
« Последнее редактирование: 10.10.2016 16:31:47 от Speccyfighter »

Оффлайн zhe

  • Участник
  • *
  • Сообщений: 88
блин, как сложно всё, нет, чтобы просто где-то указать false и всё .. .  ;-D ;-D ;-D
вот почему лучше использовать свой дистр с нуля, ставишь только то, что нужно :)
« Последнее редактирование: 10.10.2016 16:53:19 от zhe »
man google.com

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
блин, как сложно всё, нет, чтобы просто где-то указать false и всё .. .  ;-D ;-D ;-D
вот почему лучше использовать свой дистр с нуля, ставишь только то, что нужно :)

:-) Можно подумать что в своём дистре правило polkit появится само взмахом волшебной палочки.
Варианты правил даже в теории предсказать невозможно.

Можно отсюда
https://forum.altlinux.org/index.php?topic=36177.msg292586#msg292586
слить src.rpm или rpm в какой-то временный каталог.
Развернуть пакет:
$ rpm2cpio package.rpm | cpio -idmv

Дальше смотреть рулез
$ cat ./etc/polkit-1/rules.d/60-sysvinit-mount.rules

в котором строки выделенные жирным оставить, остальное убрать, YES сменить на NO - рулез готов
Цитировать
polkit.addRule(function(action, subject)
{

    if (action.id == "org.freedesktop.udisks2.filesystem-mount" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.eject-media"  && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    }

    if (action.id == "org.freedesktop.udisks2.power-off-drive" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    }

    if (action.id  == "org.freedesktop.udisks2.encrypted-unlock" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    }

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    };


    if (action.id == "org.freedesktop.udisks2.eject-media-other-seat" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.power-off-drive-other-seat" && subject.isInGroup("xgrp"))
    {
   return polkit.Result.YES;
    };
});

Можно поправить спэк и пересобрать свой кастомный пакет:
https://www.altlinux.org/Инструкция_по_сборке_пакетов_с_помощью_rpm

Админы локалхоста использующие UNIX System V init не дожидаются светлого будущего и ваяют для себя сами. Админы серверов на systemd ждут пока им наваяют альты.

Оффлайн zhe

  • Участник
  • *
  • Сообщений: 88
 ;-) в свою систему я не делаю автомаунта, я за минимализм, system V и командную строку, без Х, максимум mc :)

по теме, нашел ответ.
1. Вариант:
sed -i 's/<allow_active>yes<\/allow_active>/<allow_active>no<\/allow_active>/g' /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
2. вариант:
cat << EOF >> /etc/polkit-1/localauthority/50-local.d/10-org-freedesktop-udisks.pkla
[Disable Automount]
Identity=*
Action=org.freedesktop.udisks.*
ResultAny=no
ResultInactive=no
ResultActive=no
EOF

Однако, когда вставляешь флешку, в графике по-прежнему идет попытка automounta, вылезает окошко:
Unable to mount
Not Authorized
« Последнее редактирование: 11.10.2016 11:47:02 от zhe »
man google.com

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
1. Вариант:
sed -i 's/<allow_active>yes<\/allow_active>/<allow_active>no<\/allow_active>/g' /usr/share/polkit-1/actions/org.freedesktop.udisks.policy

Зачем? :-)
Чтобы при повышении версии всё гарантированно поломалось?

Однако, когда вставляешь флешку, в графике по-прежнему идет попытка automounta, вылезает окошко:
Unable to mount
Not Authorized

В TDE отключается в центре управления tde.
В xfce в настройках thunar.
В остальном смотреть по месту.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 382
  • Учиться .... Телепатами не рождаются, ими ....
В TDE отключается в центре управления tde.
В xfce в настройках thunar.
В остальном смотреть по месту.
там вторй Gnome.

Оффлайн zhe

  • Участник
  • *
  • Сообщений: 88
1. Вариант:
sed -i 's/<allow_active>yes<\/allow_active>/<allow_active>no<\/allow_active>/g' /usr/share/polkit-1/actions/org.freedesktop.udisks.policy

Зачем? :-)
Чтобы при повышении версии всё гарантированно поломалось?

Однако, когда вставляешь флешку, в графике по-прежнему идет попытка automounta, вылезает окошко:
Unable to mount
Not Authorized

В TDE отключается в центре управления tde.
В xfce в настройках thunar.
В остальном смотреть по месту.

В моем случае, сертифицированный по ФСТЭК Альт СПТ 6.0 не обновляю, смысл сертификации теряется.
Дистр Альта 6 аж 2011 года, там еще gnome2, да и настройки gnome в данном случае не отключают automount, попробовал первым делом, после того, как понял, что autofs не причем. 
man google.com

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 382
  • Учиться .... Телепатами не рождаются, ими ....
В принципе можно какой-нибудь скрипт написать, которые выгружает/загружает модуль ядра, ответственный за USB, который-бы был доступен только root.
Или попробовать установить
control mount restrictedМожет поможет.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
В принципе можно какой-нибудь скрипт написать, которые выгружает/загружает модуль ядра, ответственный за USB, который-бы был доступен только root.

Если он заблэклистит usb_storage, он целиком потеряет доступ к флешкам
# modinfo usb_storage|grep desc
description:    USB Mass Storage driver for Linux

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Дистр Альта 6 аж 2011 года, там еще gnome2, да и настройки gnome в данном случае не отключают automount,

Мы уже скоро закончим первую html-страницу, но я до сих пор так и не понял, что именно вы использовали, - Nautilus, gconf-editor или gconftool-2. И где конкретно не отключает. А догадаться мне не удалось.


Сюда куда-то:

https://www.google.ru/search?q=nautilus+automount+options+gnome2&newwindow=1&biw=1366&bih=627&source=lnt&tbs=cdr%3A1%2Ccd_min%3A%2Ccd_max%3A01.01.2011&tbm=#newwindow=1&tbs=cdr:1%2Ccd_max:01.01.2011&q=nautilus+disable+automount+options+gnome2

http://askubuntu.com/questions/18926/how-to-control-gnomes-auto-mounting-capabilities
http://www.cyberciti.biz/faq/disable-linux-unix-gnome-automounting/
https://ubuntuforums.org/showthread.php?t=1256795
http://scrolls.mafgani.net/2007/03/gnome-automount-options/


Правда у gconftool-2 ман уж очень замечательный.
Скопитырить help и обозвать это маном, это надо было догадаться

$ man ./usr/share/man/man1/gconftool-2.1.gz|col -b
GCONFTOOL-2(1)                Gnome Config System               GCONFTOOL-2(1)



NAME
       gconftool-2 - is a tool to control GConf from the command line

DESCRIPTION
   Usage:
              gconftool-2  [OPTION...] - Tool to manipulate a GConf configura‐
              tion

   Help Options:
       -h, --help
              Show help options

       --help-all
              Show all help options

       --help-client
              Show client options

       --help-key-type
              Show key type options

       --help-load
              Show load/save options

       --help-server
              Show server options

       --help-install
              Show installation options

       --help-test
              Show test options

       --help-schema
              Show schema options

   Application Options:
       -v, --version
              Print version




gconftool-2 2.32.5                 July 2011                    GCONFTOOL-2(1)

Оффлайн zhe

  • Участник
  • *
  • Сообщений: 88
Мы используем Альт Линукс СПТ 6.0 и Gnome2

Настройки gnome в данном примере не работают (там automount везде false), настройки Nautilus тоже fals. 
Как я уже писал ранее:
gconftool-2 -R /desktop/gnome/volume_manager
automount_media = false
automount_drives = false

Мне нужно отключить automount для USB-накопителей вообще в системе, не важно, использую я или наутулус или консоль, или вообще нет графики, для всех пользователей.  Железачная блокировка также не нужна.
Нужно сделать так, чтобы работало только ручное монтирование.

Автомаунт, как выяснилось, осуществляется средствами udisks+gvfs.

Отключение только так:
cat << EOF >> /etc/polkit-1/localauthority/50-local.d/10-org-freedesktop-udisks.pkla
[Disable Automount]
Identity=*
Action=org.freedesktop.udisks.*
ResultAny=no
ResultInactive=no
ResultActive=no
EOF

Однако, остается проблема всплывающего окна с ошибкой в графической среде. Осталось решить, как сделать так, чтобы оно не вылезало :)
Unable to mount
Not Authorized
« Последнее редактирование: 11.10.2016 13:18:09 от zhe »
man google.com

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 382
  • Учиться .... Телепатами не рождаются, ими ....
Напомните пожалуйста (негде посмотреть), что у вас выдаёт от root
control | grep udisks

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 382
  • Учиться .... Телепатами не рождаются, ими ....
Что-бы не вылезало - надо ему наверное какую-нибудь "пустышку" подсунуть, что-бы "оно успокоилось"

Оффлайн zhe

  • Участник
  • *
  • Сообщений: 88
Напомните пожалуйста (негде посмотреть), что у вас выдаёт от root
control | grep udisks

control |grep udisks
find: `/usr/sbin/smbmnt': Нет такого файла или каталога
find: `/usr/bin/smbumount': Нет такого файла или каталога

control без грепа: udisks-a в списке нет
остальное потому, что я ставил минимум пакетов.
« Последнее редактирование: 11.10.2016 14:12:14 от zhe »
man google.com