LINUX.ORG.RU

Автомонтирование NTFS/FAT и права доступа

 , ,


1

2

При автоматическом монтировании внешних накопителей с файловой системой NTFS/FAT у всех файлов/директорий проставляются права 777. Особенно раздражает на всех файлах флаг выполнения. Я понимаю, что это псевдоправа, т.к. у NTFS другая система прав (а у FAT их вообще нет), но можно ли как-нибудь поставить по умолчанию что-нибудь типа 600 для файлов и 700 для директорий? Использую openSUSE Tumbleweed (KDE 5.20.5). Варианты с fstab не предлагать т.к. хочется автомонтирования.


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

( Конкретно этот дистрибутив я не смотрел, но может будут желающие именно по нему опытом поделиться )

В общем случае, есть 2 популярных варианта:

1) Сервисом autofs.service. Посмотреть, запущен ли он, и упоминается ли в его настройках ( /etc/auto* )интересующая директория.

2) Силами механизма systemd automount:

 systemctl list-unit-files | grep mount 

Искать пары сервисных объектов вида NAME.mount + NAME.automount.

Путь к файлу с настройками (в т.ч. пути к директории) берётся из вывода команды:

 systemctl status NAME.mount 

Конкретные команды вполне очевидны уже, там по ситуации.

Соответственно, найденный конфиг - это уже 3/4 решения.

NDfan ()
Последнее исправление: NDfan (всего исправлений: 1)

Через udev rule может можно. Например https://gist.github.com/juancarlospaco/7f4eab1b6899c55ea90dc0ef5eea965d#file-10-my-media-automount-rules-L24

# filesystem-specific mount options (777/666 dir/file perms for ntfs/vfat)
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},gid=100,dmask=000,fmask=111,utf8"
fulmar_lor ()
Последнее исправление: fulmar_lor (всего исправлений: 1)
Ответ на: комментарий от NDfan

autofs.service есть в списке systemctl list-unit-files, но помечен как disabled disabled. Файлы /etc/auto* присутствуют.

Вывод systemctl list-unit-files | grep mount:

proc-sys-fs-binfmt_misc.automount                                         static          -            
-.mount                                                                   generated       -            
boot-efi.mount                                                            generated       -            
dev-hugepages.mount                                                       static          -            
dev-mqueue.mount                                                          static          -            
proc-sys-fs-binfmt_misc.mount                                             disabled        disabled     
sys-fs-fuse-connections.mount                                             static          -            
sys-kernel-config.mount                                                   static          -            
sys-kernel-debug.mount                                                    static          -            
sys-kernel-tracing.mount                                                  static          -            
tmp.mount                                                                 static          -            
var-lib-nfs-rpc_pipefs.mount                                              static          -            
var-lock.mount                                                            static          -            
var-run.mount                                                             static          -            
dracut-mount.service                                                      static          -            
dracut-pre-mount.service                                                  static          -            
ostree-remount.service                                                    disabled        disabled     
systemd-remount-fs.service                                                enabled-runtime disabled     
umount.target                                                             static          -            

Тут я не совсем понял что смотреть…

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

Судя по всему за автомонтирование отвечает udisks2. По крайней мере когда я делаю systemctl stop udisks2.service автомонтирование отваливается. Правда, сервис через какое-то время сам перезапускается и все восстанавливается.

zb2 ()

Вроде как справился. Нужно в файле /etc/udisks2/mount_options.conf написать примерно следующее:

[defaults]
ntfs_defaults=nosuid,nodev,relatime,uid=$UID,gid=$GID,dmask=077,fmask=177,windows_names
exfat_defaults=nosuid,nodev,relatime,uid=$UID,gid=$GID,dmask=077,fmask=177
vfat_defaults=nosuid,nodev,relatime,uid=$UID,gid=$GID,dmask=077,fmask=177,utf8

Сейчас тестирую. Правда со всеми опциями я не уверен. У кого какие есть рекомендации?

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

Да, в случае подключаемых устройств, udisks походу вернее будет настраивать.

dmask=077,fmask=177

Вот здесь не то, это вычитаемые биты. Чтобы чисто убрать бит запуска, можно попробовать что-нибудь типа dmask=002,fmask=111.

Подробнее см. доки по umask и mount.

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

Я еще, на всякий случай, убрал доступ группе и другим. А что насчет других опций? Нужно ли ставить flush для FAT? Или еще что-нибудь?

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

Да не знаю, честно говоря. Смотря, насколько тюнинг этот оправдан вообще.

Если группе ограничивать доступ, то может зря непроверенные учётки туда добавлялись вообще? А так, не вижу смысла.

Можно сделать ручной mount, и посмотреть, что из умолчаний не нравится. Я думаю, главное это биты доступа/запуска, ну ещё в сторону noatime/relatime можно посмотреть.

NDfan ()
Последнее исправление: NDfan (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.