we are sorry, we are open

7.4.2009

Монтирование и работа с устройствами от имени пользователя

СисАдминство — Тэги: — Zed @ 13:54:18.

Как-то вдруг надоело монтировать флешку и работать с файлами на ней от имени рута.
Я использую sudo. Кроме того, я вхожу в группу wheel, на случай если надо сделать su.

Поменял переменную ядра:
~> sudo sysctl vfs.usermount=1

Прописал то же самое в /etc/sysctl.conf:
vfs.usermount=1

В файле /etc/rc.conf дописал:
devfs_system_ruleset="localrules"

Создал файл /etc/devfs.rules:
[localrules=10]
add path 'da*' mode 0660 group wheel

Таким образом поменял для всех устройств, начинающихся с «da», группу на wheel и дал права на чтение и запись для владельца и группы. По-умолчанию указана группа operator, в которую я не вхожу.

Посмотрел какие права на устройстве в данный момент:
~> ls -l /dev/da0*
crw-r----- 1 root operator 0, 138 Mar 31 16:15 /dev/da0
crw-r----- 1 root operator 0, 139 Mar 31 16:15 /dev/da0s1

Переконфигурировал устройства:
~> sudo /etc/rc.d/devfs restart

Убедился, что права и группа изменились в нужную сторону:
~> ls -l /dev/da0*
crw-rw---- 1 root wheel 0, 138 Mar 31 16:15 /dev/da0
crw-rw---- 1 root wheel 0, 139 Mar 31 16:15 /dev/da0s1

Теперь надо назначить себя владельцем точки монтирования:
~> sudo chown malik:wheel /mnt/flash
Ну или, если угодно, создать свою точку монтирования:
~> mkdir ~/flash

Кстати, для монтирования CD-ROM от имени пользователя достаточно чтобы точка монтирования принадлежала этому самому пользователю, т.к. писать на CD-ROM стандартным средствами системы мы не собираемся )

И, наконец, монтирую флешку:
~> mount_msdosfs /dev/da0s1 /mnt/flash

Всё нормально — флешка подмонтирована и можно нормально работать с файлам и папками от имени пользователя, не прибегаю к правам рута.

Замечание:
Монтирование флешки с указание локальной кодировки от имени обычного пользователя возможно только после хотя бы одного монтирования из-под суперпользователя:
~> mount_msdosfs -L ru_RU.KOI8-R /dev/da0s1 /mnt/flash
mount_msdosfs: cannot find or load "msdosfs_iconv" kernel module
mount_msdosfs: msdosfs_iconv: Operation not permitted
~> sudo mount_msdosfs -L ru_RU.KOI8-R /dev/da0s1 /mnt/flash
Password:
~> sudo umount /mnt/flash
~> mount_msdosfs -L ru_RU.KOI8-R /dev/da0s1 /mnt/flash
~>

   

Нет комментариев »

Комментариев пока нет.

Написать комментарий

Blue Captcha Image
Новый проверочный код

*

Последние комментарии:

Powered by WordPress (34 queries. 0,303 seconds)