Автор Тема: Отключение автомонтирования флэшек  (Прочитано 48442 раз)

Оффлайн ∞lan∞

  • Завсегдатай
  • *
  • Сообщений: 328
# rmmod usb_storage
rmmod: ERROR: Module usb_storage is in use by: uas
# lsmod | grep uas
uas                    12493  0
usb_storage            47494  1 uas
usbcore               186274  7 usbhid,usb_storage,ehci_hcd,uhci_hcd,usblp,uas,ehci_pci
scsi_mod              201211  5 sd_mod,usb_storage,libata,uas,sr_mod
# rmmod uas
# rmmod usb_storage
#
Блин, хотел про это сказать и не успел.

Оффлайн ∞lan∞

  • Завсегдатай
  • *
  • Сообщений: 328
Наверно нужно еще запаролить груб.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Другой вопрос, что udev, похоже, не смотрит в /etc/modprobe.d и подгружает usb_storage всё равно. Или не он, а кто-то ещё.

Да, посмотрел.
Что-то игнорит блэклист и при подключении флешки к порту модуль загружается:
# grep . /etc/modprobe.d/blacklist-usb_storage.conf
blacklist usb_storage
# lsmod | grep 'usb_storage\|uas\|usbcore\|scsi_mod'
usbcore               173010  6 btusb,uvcvideo,rtsx_usb,usbhid,xhci_hcd,xhci_pci
usb_common              3362  1 usbcore
scsi_mod              194640  3 libata,sd_mod,sr_mod
# ls -l /dev/disk/by-path/ | grep usb
lrwxrwxrwx 1 root root  9 фев 17 18:05 pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 фев 17 18:05 pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0-part1 -> ../../sdb1
# lsmod | grep 'usb_storage\|uas\|usbcore\|scsi_mod'
uas                    12279  0
usb_storage            45630  1 uas
usbcore               173010  8 uas,btusb,uvcvideo,rtsx_usb,usb_storage,usbhid,xhci_hcd,xhci_pci
usb_common              3362  1 usbcore
scsi_mod              194640  5 uas,usb_storage,libata,sd_mod,sr_mod

Оффлайн alt-klon

  • Начинающий
  • *
  • Сообщений: 23
Попробуйте посмотреть на эти правила:
Код: [Выделить]

# cat /etc/polkit-1/rules.d/55--mount-other-seat.rules
polkit.addRule(function(action)
{
    if (action.id == "org.freedesktop.udisks2.filesystem-mount")
    {
   return polkit.Result.NO;
    };

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat")
    {
   return polkit.Result.NO;
    };

});

Да, сработало. Вставляю флэшку  - пишет : " Не удалось присоеденить ...."

Спасибо огромное !
Второй вариант проверю позже
« Последнее редактирование: 18.02.2019 05:52:02 от alt-klon »

Оффлайн alt-klon

  • Начинающий
  • *
  • Сообщений: 23
Попробуйте посмотреть на эти правила:
Код: [Выделить]

polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount") == 0) {
        if (subject.isInGroup("wheel")) {
            return polkit.Result.AUTH_ADMIN;
        } else {
            return polkit.Result.NO;
        }
    }
});


polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount-other-seat") == 0) {
        if (subject.isInGroup("wheel")) {
            return polkit.Result.AUTH_ADMIN;
        } else {
            return polkit.Result.NO;
        }
    }
});



Этот вариант предлагает ввести пароль, причем пароль пользователя - и потом монтирует флэшку.

Вот если бы он просил пароль админа... )))))
« Последнее редактирование: 18.02.2019 09:10:23 от alt-klon »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Правило вы процитировали одно и то же в двух ответах.
Но в одном сообщении вы пишите  "Не удалось присоеденить ....", а в другом "предлагает ввести пароль, причем пароль пользователя - и потом монтирует флэшку".
Поэтому не понял, был отказ в монтировании  или нет?
Не забывайте также, что первый пользователь в системе, это wheel пользователь с UID=500.
И это пользовательский аккаунт администратора (следуя правилу: не сиди под root -ом!)
Никогда не пускайте пользователей в пользовательский аккаунт администратора, - первый пользователь в системе созданный при инсталляции.
Все последующие пользователи с UID>500 по-умолчанию не wheel и для них должен быть безусловный отказ.
Покажите также, что возвращает команда:
rpm -q udisks2

Оффлайн alt-klon

  • Начинающий
  • *
  • Сообщений: 23
Да, поспешил, второе правило - просит пароль пользователя )

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Да, поспешил, второе правило - просит пароль пользователя )

А не того ли пользователя который в группе wheel?

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 101
Да, поспешил, второе правило - просит пароль пользователя )
Надо либо поправить неправильное сообщение, либо удалить, чтобы не путало тех, кто по следам пойдёт. :-)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 101
А не того ли пользователя который в группе wheel?
И подробности: https://bugzilla.altlinux.org/35763

Оффлайн alt-klon

  • Начинающий
  • *
  • Сообщений: 23
Надо либо поправить неправильное сообщение, либо удалить, чтобы не путало тех, кто по следам пойдёт.

Исправил.

root - создан первым, это понятно.
Затем создана еще одна учетка - пользовательская, пусть будет user.
Так вот второе правило просит пароль обычного пользователя user.


Система с нуля, пользователь новый. Если только по умолчанию он в эту группу попадает.
Проверить смогу  чуть позже
« Последнее редактирование: 18.02.2019 09:22:16 от alt-klon »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Надо либо поправить неправильное сообщение, либо удалить, чтобы не путало тех, кто по следам пойдёт.

Исправил.

root - создан первым, это понятно.
Затем создана еще одна учетка - пользовательская, пусть будет user.
Так вот второе правило просит пароль обычного пользователя user.

Он, user, не обычный пользователь.
:-) Спорим на пиво Tactical Nuclear Penguin, что 99% современных пользователей Линукс сидят под админом?

См. User groups wheel:
https://wiki.archlinux.org/index.php/Users_and_groups#User_groups


Стартеркит mate:
Правила:
# cat /etc/polkit-1/rules.d/60-mount-other-seat.rules
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount") == 0) {
        if (subject.isInGroup("wheel")) {
            return polkit.Result.AUTH_ADMIN;
        } else {
            return polkit.Result.NO;
        }
    }
});


polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount-other-seat") == 0) {
        if (subject.isInGroup("wheel")) {
            return polkit.Result.AUTH_ADMIN;
        } else {
            return polkit.Result.NO;
        }
    }
});

Пакеты:
# rpm -q systemd udisks2
systemd-237-alt2.M80P.3
udisks2-2.6.5-alt0.M80P.1
# ls -l /proc/1/exe
lrwxrwxrwx 1 root root 0 фев 18 16:31 /proc/1/exe -> /lib/systemd/systemd

Пользователи входящие в административную группу:
$ grep wheel /etc/group
wheel:x:10:root,altlinux

Пользователь:
$ who | grep tester
tester   tty3         2019-02-18 16:56 (localhost)
$ whoami
tester
$ udisksctl mount -b /dev/sdc1
Error mounting /dev/sdc1: GDBus.Error:org.freedesktop.UDisks2.Error.NotAuthorized: Not authorized to perform operation


Эти правила разрешают по паролю монтирование usb-flash пользователям входящим в системную группу wheel, - группу администраторов.
Но запрещают монтирование usb-flash всем остальным пользователям не входящим в эту группу.

При установке дистрибутива, root (суперпользователь) создаёт один аккаунт пользователя для себя (не сиди под root -ом!) и по-умолчанию они оба, суперпользователь и первый созданный пользователь, входят в административную группу wheel. Того самого "обычного" пользователя, который на самом деле не совсем обычен. И это правило разрешает монтирование флешки только этой группе.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Теоретически, в этих правилах можно было бы в листинге заменить системную группу wheel на системную группу storage (группа должна существовать).
Тогда монтирование флешки разрешалось бы только пользователям входящим в группу storage.
Это может дать чуть большую гибкость при распределении прав доступа на монтирование флешек.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Теоретически, в этих правилах можно было бы в листинге заменить системную группу wheel на системную группу storage (группа должна существовать).
Тогда монтирование флешки разрешалось бы только пользователям входящим в группу storage.
Это может дать чуть большую гибкость при распределении прав доступа на монтирование флешек.

Эти правила разрешают монтирование флешек только пользователям состоящим в системной группе storage.
Группа должна существовать.
Запрашивается пароль монтирующего флешку пользователя для подтверждения подлинности пользователя.
# cat /etc/polkit-1/rules.d/60-mount-other-seat.rules
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount") == 0) {
        if (subject.isInGroup("storage")) {
            return polkit.Result.AUTH_SELF;
        } else {
            return polkit.Result.NO;
        }
    }
});


polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount-other-seat") == 0) {
        if (subject.isInGroup("storage")) {
            return polkit.Result.AUTH_SELF;
        } else {
            return polkit.Result.NO;
        }
    }
});

Чтобы пароль не запрашивался, в листинге заменить AUTH_SELF на YES.

Оффлайн alt-klon

  • Начинающий
  • *
  • Сообщений: 23
Он, user, не обычный пользователь.
да уж. и как же я мог это узнать )))) верю спецам на слово (нов душе скребутся кошки)

При установке дистрибутива, root (суперпользователь) создаёт один аккаунт пользователя для себя (не сиди под root -ом!) и по-умолчанию они оба, суперпользователь и первый созданный пользователь, входят в административную группу wheel. Того самого "обычного" пользователя, который на самом деле не совсем обычен.

Так  теперь что, нужно трех создавать мне пользователей для безопасности? Странно. При установке система просила придумать пароль для админа (я так полагаю, но уже с сомнением - это пароль для СУПЕРадмина root ибо имя пользователя не запрашивалось )))) ) Далее система просила создать пользователя и придумать ему пароль, ничего не говоря а его "админности". Теперь оказывается этот пользователь есть тоже админ системы - этакий подаван root-a.
И только потом  уже третьим по счету я создаю обычного пользователя???!!

я то до сих пор считал, что в Linux есть один админ - это root. и это весьма условная учетка под которой невозможно работать. Нет  она существует но ее никто никогда не видел. Просто когда-то при инсталяции придумывается для нее пароль - и все.
И есть все остальные - обычные пользователи, которые иногда в крайних случаях могут перейти в режим полубога, используя тот самый пароль root-а . )))))))) Но богом быть не получиться никогда ))))))))))))))))))

« Последнее редактирование: 19.02.2019 04:10:49 от alt-klon »