Страница 1 из 2

Вечная тема про монтирование под юзером

Добавлено: 21.01.2006 16:36
heryvim
Я понимаю, что тема не раз пережеванная, и вроде все сделал как рекомендовано "гуру" форума, но не работает и все. Понимаю что где-то ошибка, но я ее не вижу, потому и прошу помощи...

Есть проблема с монтированием дисков.
Предварительно сделал следующие настройки:

/etc/devfs.conf
perm /dev/acd0 0666
perm /dev/ad0s1 0666
perm /dev/ad0s2 0666
perm /dev/da0s1 0666

/ect/sysctl.conf
vfs.usermount=1

/etc/fstab
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
/dev/ad0s1 /mnt/diskC ntfs ro,-CKOI8-R,noauto 0 0
/dev/ad0s2 /mnt/diskF ntfs ro,-CKOI8-R,noauto 0 0
/dev/da0s1 /mnt/flash msdosfs rw,-Lru_RU.KOI8-R,-DCP866,noauto 0 0

Изменил права доступа для соответствующих точек монтирования, но при попытке под пользователем смонтировать диски получаю Operation not permitted.

Тогда немного изменил файл /etc/devfs.conf
own /dev/acd0 root:operator
perm /dev/acd0 0666
own /dev/ad0s1 root:operator
perm /dev/ad0s1 0666
own /dev/ad0s2 root:operator
perm /dev/ad0s2 0666
own /dev/da0s1 root:operator
perm /dev/da0s1 0666

Теперь при попытке пользователя смонтировать диск выскакивает сообщение
Called: mount /dev/ad0s2
mount_ntfs: cannot find or load "ntfs_iconv" kernel module
mount_ntfs: ntfs_iconv: Operation not permitted

Тогда в /boot/loader.conf добавил
cd9660_load="YES" # ISO 9660 filesystem
msdosfs_load="YES" # FAT-12/16/32
ntfs_load="YES" # NTFS

Но опять при попытке пользователя смонтировать диск выскакивает сообщение
Called: mount /dev/ad0s2
mount_ntfs: cannot find or load "ntfs_iconv" kernel module
mount_ntfs: ntfs_iconv: Operation not permitted

Че делать? У меня стоит FreeBSD 6.0

Re: Вечная тема про монтирование под юзером

Добавлено: 22.01.2006 14:38
Shura
та же фигня после обновления до 6-й версии. как сказал -error тут http://linuxforum.ru/index.php?showtopic=13059 пользователь должен быть хозяином точки монтирования, тогда все нормально работает. Правда не понятно как быть если в системе несколько пользователей.

Re: Вечная тема про монтирование под юзером

Добавлено: 22.01.2006 19:17
heryvim
Shura писал(а):
22.01.2006 14:38
та же фигня после обновления до 6-й версии. как сказал -error тут http://linuxforum.ru/index.php?showtopic=13059 пользователь должен быть хозяином точки монтирования, тогда все нормально работает. Правда не понятно как быть если в системе несколько пользователей.


Это можно сделать например так:
в /home/user делаешь папки с именами устройств, например /cdrom /flash /diskC (и объявляешь себя хозяином для них), а в файле fstab путь указываешь так ~/cdrom ~/flash ~/diskC, но обязательно отключи автомонтирование, иначе система при загрузке выдаст сообщение об ошибке с остановкой загрузки. Но весь прикол в том, что при таком подходе я получил забавную вешь, окончательно меня запутавшую - перед монтированием устройства проверяю права папки - хозяин user, группа wheel, но вот после монтирования устройства к моей папке, в моей директории и с моими правами доступа вдруг хозяином становится root и привет, я отдыхаю, доступ Permited.

Re: Вечная тема про монтирование под юзером

Добавлено: 23.01.2006 16:31
gruz0
heryvim писал(а):
21.01.2006 16:36
mount_ntfs: cannot find or load "ntfs_iconv" kernel module
mount_ntfs: ntfs_iconv: Operation not permitted

Добавь в ядро
options NTFS
options CDROM
options MSDOSFS
options NTFS_ICONV
options CDROM_ICONV
options MSDOSFS_ICONV
;)
---
mkdir -p ~/mnt/dickC
mkdir -p ~/mnt/dickF
mkdir -p ~/mnt/flash
---
/etc/fstab:
/dev/acd0 /home/user/mnt/cdrom cd9660 ro,noauto 0 0
/dev/ad0s1 /home/user/mnt/diskC ntfs ro,-CKOI8-R,noauto 0 0
/dev/ad0s2 /home/user/mnt/diskF ntfs ro,-CKOI8-R,noauto 0 0
/dev/da0s1 /home/user/mnt/flash msdosfs rw,-Lru_RU.KOI8-R,-DCP866,noauto 0 0
---
проверено - работает ;)

Re: Вечная тема про монтирование под юзером

Добавлено: 06.02.2006 06:51
WarlorD
я как заметил с чарсетом от юзера монтировать нельзя, а може проще решить вопрос? настроить sudo и alias mount = 'sudo mount'
alias umount = 'sudo umount'
вроде бы не очень изящьно, но работает и просто, без чарсета монтирует нормально, но кодировку-то видеть хочется нормально на дисках ведь.

Re: Вечная тема про монтирование под юзером

Добавлено: 06.02.2006 12:45
Shura
Сейчас пришло в голову - поставить suid бит на mount и umount.

Re: Вечная тема про монтирование под юзером

Добавлено: 07.02.2006 08:55
Holy Joly Sergik
С suid работает...

Re: Вечная тема про монтирование под юзером

Добавлено: 06.10.2014 23:47
yoshakar
Я нашёл эту тему, когда искал способы решения этой вечной проблемы. Проблема и в самом деле похоже вечная, ибо в десятой FreeBSD (которая для меня первая :-) она всё ещё присутствует. К счастью, я случайно натнулся на просторах интернета на простое и приемлимое решение, и, думаю, будет нелишним запостить его сюда, в эту вечную тему о вечной проблеме.
Итак, суть сводится к тому, что достаточно заюзать модуль iconv один раз из-под рута, а после этого он будет нормально работать и при обращении к нему от имени обычного пользователя. Поэтому я написал простенький скрипт для "прокачки" iconv:

/usr/local/bin/iconv_fix

#!/bin/sh dev=$(/usr/bin/mktemp /tmp/iconv_fix.XXXXXX) /bin/dd if=/dev/zero of=$dev bs=1M count=1 2>/dev/null /sbin/mdconfig -a -t vnode -f $dev -u 31 /sbin/newfs_msdos -F 32 /dev/md31 >/dev/null 2>&1 point=$(/usr/bin/mktemp -d /tmp/icon_fix_d.XXXXXX) /sbin/mount_msdosfs -L ru_RU.KOI8-R -D CP866 /dev/md31 $point /sbin/umount /dev/md31 /bin/rmdir $point /sbin/mdconfig -d -u 31 /bin/rm -f $dev

Достаточно сделать, чтобы он выполнялся при старте системы (как это наиболее правильно делается в BSD я пока ещё не разобрался, так что подробностей не пишу), и никакого suid не нужно!

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

Re: Вечная тема про монтирование под юзером

Добавлено: 07.10.2014 00:45
eddy
А у меня udev создает в /media директории и делает в fstab записи. Все ОК. Правда, без sudo ntfs, к сожалению, монтировать не выходит, а все остальное - ОК.

Re: Вечная тема про монтирование под юзером

Добавлено: 07.10.2014 01:02
yoshakar
eddy писал(а):
07.10.2014 00:45
А у меня udev создает в /media директории и делает в fstab записи. Все ОК. Правда, без sudo ntfs, к сожалению, монтировать не выходит, а все остальное - ОК.
Точно всё? Я в линуксе именно так делал, и даже ntfs поборол, но велосипед знатный был. Что будет, если вы выключите сиситему с примонтированной флешкой, а затем отключите её и загрузите систему? Не будет ли лишних записей в fstab? И наоброт, если загружаться с воткнутой флешкой, нормально всё отработает?

FreeBSD'шная из-коробочная система мне нравится гораздо больше, чем udev. А когда (если) мне надоест монтировать флешки руками, я собираюсь пойти вот по этому пути http://networking.ringofsaturn.com/Unix/freebsdautomount.php

Re: Вечная тема про монтирование под юзером

Добавлено: 07.10.2014 01:03
eddy
yoshakar писал(а):
07.10.2014 01:02
Не будет ли лишних записей в fstab?

Будут. И директории в /media останутся. Как это обойти, я еще не придумал.

Re: Вечная тема про монтирование под юзером

Добавлено: 07.10.2014 01:13
yoshakar
eddy писал(а):
07.10.2014 01:03
yoshakar писал(а):
07.10.2014 01:02
Не будет ли лишних записей в fstab?

Будут. И директории в /media останутся. Как это обойти, я еще не придумал.
Чистить инит-скриптом либо при включении компа, либо при выключении. Правильнее при включении (тогда система будет работать корректно даже после аварийного ребута).

Re: Вечная тема про монтирование под юзером

Добавлено: 07.10.2014 08:54
arachnid
поставить automount и не мучиться :)

Re: Вечная тема про монтирование под юзером

Добавлено: 07.10.2014 09:16
eddy
yoshakar писал(а):
07.10.2014 01:13
Чистить инит-скриптом

Для этого сначала надо будет придумать, что есть мусор!
Но да, можно так.

arachnid писал(а):
07.10.2014 08:54
поставить automount и не мучиться

Это как раз и будет мучением, т.к. кое-какие средства "автомонтирования" не позволяют делать umount без рута; кое-какие — не позволяют менять параметры монтирования. Ну и все они — ненужная приблуда, только ухудшающая жизнь.

Re: Вечная тема про монтирование под юзером

Добавлено: 08.10.2014 12:30
arachnid
eddy писал(а):
07.10.2014 09:16
yoshakar писал(а):
07.10.2014 01:13
Чистить инит-скриптом

Для этого сначала надо будет придумать, что есть мусор!
Но да, можно так.

arachnid писал(а):
07.10.2014 08:54
поставить automount и не мучиться

Это как раз и будет мучением, т.к. кое-какие средства "автомонтирования" не позволяют делать umount без рута; кое-какие — не позволяют менять параметры монтирования. Ну и все они — ненужная приблуда, только ухудшающая жизнь.


Эдди, я очень нежно люблю людей, который не знаю, но утверждают :) так что рекомендую ознакомиться с этой программой, а потом говорить о том, что знаешь. а не показывать свою неосведомленность

Re: Вечная тема про монтирование под юзером

Добавлено: 08.10.2014 14:05
eddy
arachnid, а мне нравится так: "не читал, но осуждаю".

Re: Вечная тема про монтирование под юзером

Добавлено: 11.10.2014 03:53
drBatty
yoshakar писал(а):
06.10.2014 23:47
Проблема и в самом деле похоже вечная, ибо в десятой FreeBSD (которая для меня первая :-) она всё ещё присутствует.

у меня в Slackware Linux есть опция users в fstab

Код: Выделить всё

       users  Allow every user to mount and unmount the filesystem.  This option implies the  options
              noexec,  nosuid,  and  nodev (unless overridden by subsequent options, as in the option
              line users,exec,dev,suid).


Re: Вечная тема про монтирование под юзером

Добавлено: 11.10.2014 09:22
eddy
drBatty писал(а):
11.10.2014 03:53
есть опция users в fstab

В ntfs-3g ее по умолчанию отключили. Поэтому либо собственноручно пересобирать, либо мучиться с sudo.
А с нормальными ФС — да, все ОК.

Re: Вечная тема про монтирование под юзером

Добавлено: 11.10.2014 12:49
yoshakar
drBatty писал(а):
11.10.2014 03:53
у меня в Slackware Linux есть опция users в fstab
В FreeBSD всё совсем по-другому, без всяких костылей. Прежде всего - флэшки вообще не требуется прописывать в fstab, чтобы позволить юзеру (а точнее operator'у) их монтировать.

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 05:05
drBatty
yoshakar писал(а):
11.10.2014 12:49
В FreeBSD всё совсем по-другому, без всяких костылей. Прежде всего - флэшки вообще не требуется прописывать в fstab, чтобы позволить юзеру (а точнее operator'у) их монтировать.

вы ничего не поняли. В Linux уже лет 15 ненужно в fstab прописывать. И всяких костылей на bash тоже не нужно, всё и так работает.

А этот старинный метод для меня удобнее. Я подумал, может вам тоже пригодиться, раз вы так мучаетесь с обычным.

eddy писал(а):
11.10.2014 09:22
В ntfs-3g

windows must die. Скажи пожалуйста, на кой ляд мне NTFS?

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 10:26
eddy
drBatty писал(а):
21.10.2014 05:05
Скажи пожалуйста, на кой ляд мне NTFS?

Если тебе юзверь притащит флешку в NTFS, ты что с ней будешь делать?

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 10:42
yoshakar
drBatty писал(а):
21.10.2014 05:05
вы ничего не поняли. В Linux уже лет 15 ненужно в fstab прописывать. И всяких костылей на bash тоже не нужно, всё и так работает.

А этот старинный метод для меня удобнее. Я подумал, может вам тоже пригодиться, раз вы так мучаетесь с обычным.
Не, на bash - не костыль, на bash - велосипед. Костыль - это то как оно "из коробки" в Линуксе сделано. (Хотя это безусловно вопрос вкуса.) А во FreeBSD (после выставления vfs.usermount) всё логично: чей диск - тот его и монтирует. Это правильно - всё равно я ведь теоретически могу и не монтируя диск, напрямую через файл устройства что угодно на него записать и прочитать.

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 10:47
eddy
yoshakar писал(а):
21.10.2014 10:42
чей диск - тот его и монтирует

Как определить, кому принадлежит диск? Пример: кто-то залогинен в иксах, оставил заблокированным компьютер. Кто-то залогинен в консоли, тоже залочил. Подошел, разлочил консоль, воткнул флешку. Как определить, что флешку воткнул тот, кто только что разлочил консоль? Это ж придется какого-то хитрого демона заводить!

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 10:59
yoshakar
eddy писал(а):
21.10.2014 10:47
Как определить, кому принадлежит диск?
Я имел в виду owner'а файла устройства. А что касается описанного вами сценария, то доступ к флешке должен иметь любой, поскольку он уже имеет к ней полный физический доступ. Решается это просто: устройства флешек принадлежат групе operator, и все пользователи входят в эту группу. Таким образом любой может примонтировать и отмонтировать флешку (если она при этом не используется процессом, запущенным другим пользователем - в противном случае потребуется помощь системного администратора, что вполне логично и не обременительно (учитывая, что в случае персоналки каждый юзер одновременно администратор)).

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 12:26
eddy
yoshakar писал(а):
21.10.2014 10:59
Я имел в виду owner'а файла устройства

root, ясен пень.
yoshakar писал(а):
21.10.2014 10:59
доступ к флешке должен иметь любой, поскольку он уже имеет к ней полный физический доступ.

чушь.
На реальной многопользовательской системе это приведет черт-те к чему.

Re: Вечная тема про монтирование под юзером

Добавлено: 21.10.2014 21:07
yoshakar
eddy писал(а):
21.10.2014 12:26
На реальной многопользовательской системе это приведет черт-те к чему.
Реальная многопользовательская система - это типа такой большой компьютер с кучей терминалов? Да, я слышал такие были в 70-е - 80-е прошлого века.

Re: Вечная тема про монтирование под юзером

Добавлено: 23.10.2014 05:08
drBatty
eddy писал(а):
21.10.2014 10:26
Если тебе юзверь притащит флешку в NTFS, ты что с ней будешь делать?

1. поставлю ntfs3-g
2. поработаю с флешкой
3. пересоздам ФС в EXT3 (если хорошее настроение, если плохое, то в f2fs)
4. залью данные и верну.
yoshakar писал(а):
21.10.2014 10:42
Костыль - это то как оно "из коробки" в Линуксе сделано.

в моём Linux можно и так как вам нравится настроить. А как оно по дефолту было, я не помню. Какое имеет значение дефолт?
eddy писал(а):
21.10.2014 12:26
чушь.
На реальной многопользовательской системе это приведет черт-те к чему.

нет. Вы оба правы. Это за периметром. Если данные ценны, то только шифрование и/или подпись помогут. А система не может и не должна это обеспечивать.

Re: Вечная тема про монтирование под юзером

Добавлено: 23.10.2014 12:48
yoshakar
drBatty писал(а):
23.10.2014 05:08
в моём Linux можно и так как вам нравится настроить. А как оно по дефолту было, я не помню. Какое имеет значение дефолт?
Можно. Если знать, что хочешь. Пока я не поработал с FreeBSD я, оказывается, этого не знал. Вот собственно такое значение имеет дефолт.

Re: Вечная тема про монтирование под юзером

Добавлено: 23.10.2014 13:04
Bizdelnick
yoshakar писал(а):
23.10.2014 12:48
Пока я не поработал с FreeBSD я, оказывается, этого не знал. Вот собственно такое значение имеет дефолт.

В FreeBSD такой ужасный дефолт?

Re: Вечная тема про монтирование под юзером

Добавлено: 23.10.2014 22:14
yoshakar
Bizdelnick писал(а):
23.10.2014 13:04
В FreeBSD такой ужасный дефолт?
Наоборот. То есть я даже и подумать не мог, что может быть так здорово. Поэтому я не мог настроить слакварь таким образом.