Bug 22929 - Не монтируются флешки на клиенте терминала.
: Не монтируются флешки на клиенте терминала.
Status: CLOSED WORKSFORME
: Школьный
(All bugs in Школьный/bugs)
: 5.0
: all Linux
: P3 normal
Assigned To:
:
:
:
: 21738
: 22919
  Show dependency tree
 
Reported: 2010-02-10 13:57 by
Modified: 2010-03-02 22:45 (History)


Attachments
BROKEN fusermount.control (1.65 KB, text/plain)
2010-03-02 22:41, Michael Shigorin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-02-10 13:57:09
При подключении флешки, на рабочем столе появляется иконка подключённого
устройства - но устройство пустое.
В системе видно создаётся директория /tmp/drives/usbdisk-sdb1, но в неё не
монтируется устройство.
------- Comment #1 From 2010-02-10 13:57:36 -------
Altlinux Terminal
------- Comment #2 From 2010-02-16 11:16:38 -------
uname -r на _сервере_ покажи -- там часом не tmc-tc установилось?
------- Comment #3 From 2010-02-16 13:35:33 -------
std-def-alt15
------- Comment #4 From 2010-02-21 16:40:10 -------
Всё, дошло.  В текущем tmc-tc опять отключен CONFIG_KALLSYMS=y, см. bug #21738
-- придётся либо дочинить там, либо пока(tm) откатить тут.
------- Comment #5 From 2010-02-21 16:43:04 -------
Заметил по отсутствию загруженных модулей nls_cp866, nls_utf8, vfat после
засовывания флэшки:
http://lists.altlinux.org/pipermail/ltsp-server/2009-August/001858.html
------- Comment #6 From 2010-02-21 18:15:57 -------
Мимо :(

Загрузил руками vfat, nls_utf8, nls_cp866, вытащил/вставил флэшку -- на
десктопе появляется, но в /tmp/drives/usbdisk-sda1/ на терминале не
монтируется.

2 led: не напомнишь, кто кого дёргал?  Читаю /etc/udev/rules.d/88-ltsp.rules и
/lib/udev/add_fstab_entry, пока не соображу, что именно должно монтировать.
------- Comment #7 From 2010-02-21 19:39:14 -------
sed -i 's|\$ENV{|$env{|g' /etc/udev/rules.d/88-ltsp.rules
sed -i 's|\(udev\)\(info\)|\1adm \2|g' /lib/udev/add_fstab_entry
------- Comment #8 From 2010-02-21 20:35:40 -------
(In reply to comment #7)
> sed -i 's|\$ENV{|$env{|g' /etc/udev/rules.d/88-ltsp.rules
> sed -i 's|\(udev\)\(info\)|\1adm \2|g' /lib/udev/add_fstab_entry
Спасибо. (btw ясней было бы 's|udevinfo|udevadm info|g')

Пока на глаз разницы не вижу -- при этом после успешно проходящего
mount /dev/sda1 /tmp/drives/sda1
изначально незагруженные модули nls_* и vfat автоматически загружены.
------- Comment #9 From 2010-02-22 00:01:25 -------
# killall ltspfsd
# ltspfsd -d -a
Program started
# суём флэшку
Packet length: 12
Packet buffer: 000c0001800031
Packet type: LTSPFS_XAUTH
status_return STATUS_OK
Packet length: 36
Packet buffer: 0002400019000182f746d702f6472697665732f7573626469736b2d73646131
Packet type: LTSPFS_MOUNT
mount: /tmp/drives/usbdisk-sda1
status_return STATUS_OK

Дебуга am_mount() _не_ наблюдаю.
------- Comment #10 From 2010-02-23 00:36:47 -------
t@comp-Pentium-M-80f8c4 ~ $ /usr/sbin/ltspfs -u ws250:/tmp/drives Documents
fuse: failed to open /dev/fuse: Permission denied
t@comp-Pentium-M-80f8c4 ~ $ LC_ALL=C ls -l /dev/fuse
crw-rw----+ 1 root fuse 10, 229 Jun  1  2009 /dev/fuse

При `control fusermount` == "public" сломалось монтирование ltspfs.  Если
добавить прав на устройство, то по крайней мере вручную удалённое монтирование
отрабатывает.

Кто у нас теперь занимается правами на /dev/fuse и что надо сделать, чтоб любой
пользователь системы мог воспользоваться файловыми системами, реализованными
через FUSE?
------- Comment #11 From 2010-02-23 10:58:53 -------
добавить пользователя в группу fuse
------- Comment #12 From 2010-02-23 11:02:19 -------
изменения в /etc/udev/rules.d/60-fuse.rules делались для сизифа, в 5.1 класть я
это не планировал, т.к. работать должным образом в 5.1 это не будет
------- Comment #13 From 2010-02-23 11:40:42 -------
Спасибо; а что посоветуешь делать на терминальном сервере, когда пользователей
может быть множество и возможность доступа к носителям обычно регулируется не
столько per-user, сколько per-terminal (и для этого средства реализованы)?

Возможно ли прикрутить какой control к рулесам (если да и примешь, могу
сделать) либо же (костыль) добиться добавления дополнительной группы
посредством /etc/default/useradd?
------- Comment #14 From 2010-02-23 11:46:47 -------
там нужен старый 60-fuse.rules, выглядел он так
KERNEL=="fuse", MODE="0666", GROUP="fuse"
------- Comment #15 From 2010-02-24 00:11:53 -------
Да, так работает (вместе с правками, предложенными в #c7 led@); спасибо.

Похоже, для терминального чрута придётся на скору руку влепить грязный хак по
пакетному файлу -- как думаешь, возможно ли это одистрибутивить?  Идеально бы
синхронно с control fusermount, ну или хотя бы отдельным control udev-fuse
каким.  Вопрос в том, чтоб не только в бранче такое прикрутить, а и в сизифе.
------- Comment #16 From 2010-02-24 10:43:25 -------
(В ответ на комментарий №15)
> Да, так работает (вместе с правками, предложенными в #c7 led@); спасибо.
> 
> Похоже, для терминального чрута придётся на скору руку влепить грязный хак по
> пакетному файлу -- как думаешь, возможно ли это одистрибутивить?

нужно пересобрать fuse с этим rules. того rules, что сейчас есть там быть не
должно

>  Идеально бы
> синхронно с control fusermount, ну или хотя бы отдельным control udev-fuse
> каким.  Вопрос в том, чтоб не только в бранче такое прикрутить, а и в сизифе.

не понял что ты хочешь прикручивать, но в сизифе и так уже накручено и раздачей
прав занимается ConsoleKit
------- Comment #17 From 2010-02-25 12:37:12 -------
lbuscd-0.6-alt9 добрался, fuse-2.8.2-alt1.M51.1 готов, обсуждаем с mithraen@
приемлемость общедоступности /dev/fuse.

2 led: не подскажешь, без привилегий на fusermount это чем-то чревато?

PS: запасной вариант -- chmod a+rw /dev/fuse в дополнительном инитскрипте на
терминал-сервере (видимо, в пакете ltspfs).
------- Comment #18 From 2010-03-02 22:41:29 -------
Created an attachment (id=4286) [details]
BROKEN fusermount.control

Добить control-файл двойного (точнее, аж тройного) действия не успевал на той
неделе -- бухаю прям как есть недобитый на всякий случай.
------- Comment #19 From 2010-03-02 22:45:00 -------
В incoming отправлен ltspfs-0.3-alt4.20070117 с инитскриптом, который
обеспечивает загрузку fuse.ko (на всякий) и при `control fusermount` ==
"public" -- публичные права на /dev/fuse.

Ставлю WORKSFORME, вдруг когда получится нормальный контрол выточить...