LINUX.ORG.RU

Автоматическое монтирование флешек / приводов дисков

 


1

1

При этом хочется отключать эти флешки / диски без рута.

В Арчевики есть разные способы, наиболее интересен для меня этот:

Mount under /media; use partition label if present; support user un-mounting

/etc/udev/rules.d/11-media-by-label-with-pmount.rules

KERNEL!=«sd[a-z]*», GOTO=«media_by_label_auto_mount_end»
ACTION==«add», PROGRAM!=«/sbin/blkid %N», GOTO=«media_by_label_auto_mount_end»

# Get label
PROGRAM==«/sbin/blkid -o value -s LABEL %N», ENV{dir_name}=«%c»
# use basename to correctly handle labels such as ../mnt/foo
PROGRAM==«/usr/bin/basename '%E{dir_name}'», ENV{dir_name}=«%c»
ENV{dir_name}=="", ENV{dir_name}=«usbhd-%k»

ACTION==«add», ENV{dir_name}!="", RUN+=«/bin/su tomk -c '/usr/bin/pmount %N %E{dir_name}'»
ACTION==«remove», ENV{dir_name}!="", RUN+=«/bin/su tomk -c '/usr/bin/pumount /media/%E{dir_name}'»
LABEL=«media_by_label_auto_mount_end»



Но категорически не нравится что:

The required username (here tomk) must be hard-coded in the RUN command



Вот как сделать так, чтобы я мог отмонтировать без рута и чтобы не хардкодить свой ник в конфиги.

Там ещё есть «Automounting UDisks Wrappers» — расскажите подробнее о них и какой выбрать, если это то, что мне нужно.

Ответ на: комментарий от JFreeM

пользователи убунты такой ерундой не страдают и не тратят время на то, что

работает из коробки
конечно, на то, что из коробки не работает итак времени не хватает

anonymous
()
Ответ на: комментарий от anonymous

ненужное поделие, в свете того, что есть udev

udisks на порядок удобнее голого удева с его неизбежным sync.

O02eg ★★★★★
()
Ответ на: комментарий от JFreeM

JFreeM

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


Скорее жалко времени на убунту с её проблемами.

blackst0ne ★★★★★
()

Вот как у меня сделано:

[ blackst0ne at home: /etc/udev/rules.d ]% cat ./10-flash-mounts.rules
#! /bin/sh

#######################################
#    USB Flash Drives automounting    #
#######################################

# start at sdb to ignore the system hard drive
KERNEL!="sd[b-z]*", GOTO="exit"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="exit"

# import some useful filesystem info as variables
IMPORT{program}="/sbin/blkid -o udev -p %N"

# get the label if present, otherwise assign one based on device/partition
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="flash_drive_%k"

# create the dir in /media and symlink it to /mnt
ACTION=="add", RUN+="/bin/mkdir -p '/mnt/%E{dir_name}'"

# global mount options
#ACTION=="add", ENV{mount_options}="relatime"

# filesystem-specific mount options (777/666 dir/file perms for ntfs/vfat)



########
# vfat #
########

# vfat specific mount options
ACTION=="add", ENV{mount_options_vfat}="gid=100,dmask=000,fmask=111,utf8,flush,rw,noatime,users"

# add device to /etc/fstab
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", RUN+="/bin/sed -i '$a\/dev/%k /mnt/%E{dir_name} vfat %E{mount_options_vfat} 0 0' /etc/fstab"

# mount device
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", RUN+="/bin/mount -t auto -o %E{mount_options_vfat} /dev/%k '/mnt/%E{dir_name}'"



########
# ntfs #
########

# ntfs specific mount options
ACTION=="add", ENV{mount_options_ntfs}="gid=100,dmask=000,fmask=111,utf8,flush,rw,noatime,users"

# add device to /etc/fstab
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/sed -i '$a\/dev/%k /mnt/%E{dir_name} ntfs-3g %E{mount_options_ntfs} 0 0' /etc/fstab"

# mount device
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mount -t ntfs-3g -o %E{mount_options_ntfs} /dev/%k '/mnt/%E{dir_name}'"



#####################
# other filesystems #
#####################

# ntfs specific mount options
ACTION=="add", ENV{mount_options_other}="gid=100,dmask=000,fmask=111,utf8,flush,rw,noatime,users"

# automount all other filesystems
ACTION=="add", ENV{ID_FS_TYPE}!="(ntfs|vfat)", RUN+="/bin/mount -t auto -o %E{mount_options_other} /dev/%k '/mnt/%E{dir_name}'"

#################################
# clean up after device removal #
#################################
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l '/mnt/%E{dir_name}'", RUN+="/bin/rmdir '/mnt/%E{dir_name}'"
ACTION=="remove", ENV{ID_FS_TYPE}!="", RUN+="/bin/sed -i '/\/dev\/%k /d' /etc/fstab"

# exit
LABEL="exit"
Любой пользователь может отмонтировать устройство.

blackst0ne ★★★★★
()
Ответ на: комментарий от blackst0ne

Хм, странно. По умолчанию ntfs-3g без опции users собирается. Может у вас какая-то особая джента?

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.