Помогите с правилом UDEV

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Ответить
dduh
Сообщения: 386

Помогите с правилом UDEV

Сообщение dduh »

Как в правилах UDEV присвоить значение переменной $HOME.? Возможно ли?
Значение ="$HOME" воспринимается буквально.
Задача подключить usb диск в домашний каталог пользователя, для чего и нужно вычислить значение $HOME. Может есть у кого готовое решение?
Или надо написать скрипт и вызывать его правилом UDEV?
Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Помогите с правилом UDEV

Сообщение eddy »

Вы сами подумайте: udev вызывается от рута или спец. пользователя. Он понятия не имеет, кто сейчас занимает клавиатуру. Тем паче, что если на компьютере одновременно несколько человек работают, как определить, кто непосредственно воткнул флешку?
Единственный вариант — если физически компьютер имеет лишь один терминал, тогда втыкальщика можно узнать как хозяина баша на реальном терминале или как хозяина иксов

и да, для чего в хомяк монтировать?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

eddy писал(а):
07.06.2013 19:22
Вы сами подумайте: udev вызывается от рута или спец. пользователя. Он понятия не имеет, кто сейчас занимает клавиатуру. Тем паче, что если на компьютере одновременно несколько человек работают, как определить, кто непосредственно воткнул флешку?
Единственный вариант — если физически компьютер имеет лишь один терминал, тогда втыкальщика можно узнать как хозяина баша на реальном терминале или как хозяина иксов

и да, для чего в хомяк монтировать?


Столкнулся с тем, что у клиентов LTSP (Wheezy) не работает ltspfsd. Клиент флешку определяет, а не монтирует. От рута вручную монтируется. На терминале подключен HOME каталог работающего пользователя, вот и пытаюсь в домашний каталог подключить обходным путем.
Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Помогите с правилом UDEV

Сообщение eddy »

dduh, да сделайте вы нормальное полуавтоматическое монтирование (т.е. при втыкании флешек в /media создается нужная директория + в fstab заносится нужная запись, но монтирует пользователь сам): это и делается элементарно, и никакого нарушения логики нет!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

eddy писал(а):
07.06.2013 22:34
dduh, да сделайте вы нормальное полуавтоматическое монтирование (т.е. при втыкании флешек в /media создается нужная директория + в fstab заносится нужная запись, но монтирует пользователь сам): это и делается элементарно, и никакого нарушения логики нет!

Флешка втыкается в терминал. Её надо пробросить на сервер, чем ltspfs и занимается. Но это не работает. Единственый каталог видимый ОС терминала с сервера- это домашняя папка юзера. Примонтированные вручную флешки в /mnt или /media ни как не видятся из сессии юзера, юзер видит /mnt и /media сервера. Если кто направит на мысль, как починить ltspfs, то это будет самым правильным решением.
Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Помогите с правилом UDEV

Сообщение eddy »

dduh писал(а):
07.06.2013 23:02
Флешка втыкается в терминал. Её надо пробросить на сервер

Всплывают все более и более новые подробности…

Что за терминал? Почему не работает ssh-fuse? Почему вообще так криво все?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

eddy писал(а):
07.06.2013 23:17
dduh писал(а):
07.06.2013 23:02
Флешка втыкается в терминал. Её надо пробросить на сервер

Всплывают все более и более новые подробности…

Что за терминал? Почему не работает ssh-fuse? Почему вообще так криво все?


Вообще я выше всё писал. Используется сервер LTSP на базе Debian Wheezy. Стандартные программы для монтирования флешек у клиентов отказываются работать, в отличии от Squeze. Пытаюсь обойти проблему стороной.
Изображение
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Помогите с правилом UDEV

Сообщение Bluetooth »

dduh писал(а):
07.06.2013 23:40
eddy писал(а):
07.06.2013 23:17
dduh писал(а):
07.06.2013 23:02
Флешка втыкается в терминал. Её надо пробросить на сервер

Всплывают все более и более новые подробности…

Что за терминал? Почему не работает ssh-fuse? Почему вообще так криво все?


Вообще я выше всё писал. Используется сервер LTSP на базе Debian Wheezy. Стандартные программы для монтирования флешек у клиентов отказываются работать, в отличии от Squeze. Пытаюсь обойти проблему стороной.

А как работало в squeeze?
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

Bluetooth писал(а):
08.06.2013 12:10
dduh писал(а):
07.06.2013 23:40
eddy писал(а):
07.06.2013 23:17
dduh писал(а):
07.06.2013 23:02
Флешка втыкается в терминал. Её надо пробросить на сервер

Всплывают все более и более новые подробности…

Что за терминал? Почему не работает ssh-fuse? Почему вообще так криво все?


Вообще я выше всё писал. Используется сервер LTSP на базе Debian Wheezy. Стандартные программы для монтирования флешек у клиентов отказываются работать, в отличии от Squeze. Пытаюсь обойти проблему стороной.

А как работало в squeeze?

Стандартные настройки. Как расписано везде. LOCALDEV, FUSE. В Wheezy это не работает.
Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Помогите с правилом UDEV

Сообщение eddy »

dduh писал(а):
08.06.2013 15:54
Стандартные настройки. Как расписано везде. LOCALDEV, FUSE. В Wheezy это не работает.

Это же не черная магия! Поподробней, please!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

Наверное надо новую тему открывать. Хотя я её открывал ещё раньше в терминальных решениях. Начнем сначала.
Раньше я использовал (оно и сейчас работает) сервер LTSP (5 клиентов) на Ubuntu 10.04. Там автомонтирование флешек работает "из коробки". Во втором офисе я это сделал на Squeeze, просто ради эксперимента. Пришлось править ручками но всё работало. Основные настройки можно почитать здесь

В Wheezy это не работает. Я ради эксперимента поставил в виртуалке Ubuntu 12.04, думал что там всё заработает из коробки и хотел посмотреть конфиги. Но в убунте флешки тоже не монтировались. Кстати, если у кого есть информация о автомонтировании флешек у терминальных клиентов на Убунте 12.04, просьба отписаться.

Я пытался понять причину, насколько позволяет мой мозг. Есть статья здесь, где расписан алгоритм поиска ошибки, по пунктам
1. - есть
2 - ltspfs на сервере установлено
3 - проверка FUSE, здесь интереснее. В логе видим: kernel: fuse init (API version 7,17). Вроде как бы FUSE стартует. Но если сделать
lsmod | grep fuse, то будет пустая строка. Не понятно стартет FUSE или нет, просьба прокомментировать. Хотя /dev/fuse есть.
4 - пользователь в гркппу FUSE включён.
Теперь что касается клиента
1- пароль рута установлен
2 - флешка на терминале определяеся
3 - пункт проверки правил UDEV, и если правила установлены правильно то должен появиться файл /var/run/ltspfs_fstab.
Так он не появляется. Если посмотреть в /etc/udev/rules.d/ , то там нет правил для монтирование устройств усб. На ноутбуке на котором пишу сейчас тоже нет правил, значит флешки монтируются каким-то другим методом.
Единственно что нашел, есть правила для монтирования усб устройств на терминале в /usr/share/ltspfs/udev/ltspfsd.rules, текст не могу скопировать, но там при втыкании что либо в усб, должен запуститься скрипт
ltspfs_entry add %k auto - для монтирования
ltspfs_entry remove %k - для размонтирования.
Может это устаревшее, но сама система об этом скрипте не знает, если её набрать в терминале. Находится скрипт в /lib/udev/. Прописывая полный путь к срипту и запуская его, то же ни чего не происходит. Самое противное, что влоге терминала тишина полная по этому случаю.
Я скопировал ltspfsd.rules в /etc/udev/rules.d/ - ни какой реакции. При самодельном правиле в /etc/udev/rules.d/ флешка монтируется. Но она монтируется на терминале в корневой (или /mnt или /media), а эти папки юзер не видит. Единственным общей папкой для ОС терминала и юзера я вляется /home/user (она как бы подключается через NFS к терминалу). Поэтому надо написать правило UDEV по такому алгоритмуЖ
1. определить подключение к usb
2. определить имя папки юзера в HOME.
3. окрыть папку /home/user/Desktop/usb-storage
4. примонтировать диск
ну и т.д.
Много букв... устал:)
Изображение
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

Аааа.., я убьюсь. Вроде заработало со стандартными настройками. Исправил правила в ltspfs.rules, сделал на этот файл ссылку в /etc/udev/rules.d/.
Сам файл:
# udev rules for ltspfs, usually installed into:
# /etc/udev/rules.d/ or /lib/udev/rules.d (for newer versions of udev)

# legacy floppy drives:
ACTION=="add", KERNEL=="fd[0-9]", RUN+="/lib/udev/ltspfs_entry add %k auto"

# USB floppy drives:
ACTION=="add", SUBSYSTEM=="block", KERNEL!="fd[0-9]", ENV{ID_TYPE}=="floppy", ATTRS{removable}=="1", RUN+="/lib/udev/ltspfs_entry add %k auto"

# other drives:
ACTION=="add", SUBSYSTEM=="block", ENV{ID_TYPE}!="floppy", RUN+="/lib/udev/ltspfs_entry add %k"

# device removals:
ACTION=="remove", SUBSYSTEM=="block", RUN+="/lib/udev/ltspfs_entry remove %k"

НО, пока работают только флешки. Жёсткий диск внешний, и CF определяются но не подключаются.

Поехал на рыбалку!!!
Изображение
Спасибо сказали:
dduh
Сообщения: 386

Re: Помогите с правилом UDEV

Сообщение dduh »

Вопрос не решён полностью, к сожалению. Монтируются только флешки. Внешние жёсткие диски, SD карты - не монтируются.

Монтирует эта строка

# other drives:
ACTION=="add", SUBSYSTEM=="block", ENV{ID_TYPE}!="floppy", RUN+="/lib/udev/ltspfs_entry add %k"

Монтирует в таком варианте
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z][0-9], RUN+="/lib/udev/ltspfs_entry add %k"

Но, опять, только флешки. Надо идти по цепочке скриптов. Но я тут не разберусь.
В прицепе файл ltspfs_entry, может будут идеи?
Вложения
ltspfs_entry.zip
(3 КБ) 3 скачивания
Изображение
Спасибо сказали:
Ответить