Как автосмонтировать все USB-устройства в том же гнезде USB к той же точке монтирования

Несколько различных путей появляются в ум:

1)

Используйте файловую систему ACLs для удаления выполнить разрешения от пользователя на этих определенных двоичных файлах. Затем потребуйте использования sudo выполнять их.

Так, например, чтобы препятствовать тому, чтобы Ваш пользователь выполнил chmod

setfacl -m u:trideceth12:- `which chmod`

Теперь любая попытка работать chmod приведет к 'разрешению, отклоненному' ошибка.

(Оборотная сторона к этому подходу - то, что, если двоичные файлы обновляются, ACL будет сброшен. Но Вы могли поместить простую проверку на ACL в Вашем сценарии запуска оболочки и предупредить Вас, если это отсутствует.)

2)

Как был упомянут в комментарии, исказите команды к чему-то еще (такой как да, /bin/true заставить его походить на команду работало).

3)

Немного менее легче решить (но все еще легкий) должен вставить специальный каталог $PATH перед нормальными поисковыми местоположениями и копией /bin/true в тот каталог как chmod. Тем путем это не появится как псевдоним.


Очевидно, № 1 является лучшим решением, поскольку это на самом деле больше, чем неверно направляет пользователя, это реализует реальную безопасность.

2
05.01.2014, 12:46
1 ответ

Смотрите на вывод udevadm (8). Для меня используемый диск I был/dev/sdd, таким образом, я использовал:

udevadm info --attribute-walk --name=/dev/sdd

Это дает мне информацию о самом устройстве и родительских устройствах. Одно из родительских устройств по-видимому соответствует USB-порту, с которым оно подключено и варьируется в зависимости от того, где я соединил диск. Для меня это - эта запись, которую я использовал бы для mathing в udev (7) правило:

looking at parent device '/devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0':
  KERNELS=="1-4:1.0"
  SUBSYSTEMS=="usb"
  DRIVERS=="usb-storage"
  [...]

Обратите внимание, что именем являются ЯДРА, ПОДСИСТЕМЫ и ДРАЙВЕРЫ и не ЯДРО, ПОДСИСТЕМА и ДРАЙВЕР здесь. Согласно странице по http://www.reactivated.net/writing_udev_rules.html и странице справочника для udev (7) они соответствуют не только самому устройству (как варианты, не заканчивающиеся в S, делают), но также и родительские устройства.

Таким образом должно быть возможно дать устройство хранения данных USB на данном USB-порте фиксированное имя при помощи этих данных для соответствия в правиле udev. Фактическое монтирование может затем также быть сделано с "ВЫПОЛНЕНИЕМ" в правиле udev насколько я понимаю страницу справочника для udev (7). Могло бы быть необходимо использовать отдельное правило для монтирования, все же.

2
27.01.2020, 22:14

Теги

Похожие вопросы