LINUX.ORG.RU

Права на исполнение на съемном носителе


0

2

Возникла проблема следующего характера:

При монтировании флэшки через Nautilus автоматически всем файлам и папкам присваиваются права на исполнение, причем сменить права не дает ни в какую. На запись, чтение менять можно, исполнение включено для всех пользователей. Подскажите решение проблемы...

Ubuntu 10.04, kernel 2.6.32-25

Пересобрать udisks. Патч поправить по вкусу

diff -ru udisks-1.0.1/src/device.c udisks-1.0.1_new/src/device.c
--- udisks-1.0.1/src/device.c	2010-04-09 19:42:46.000000000 +0400
+++ udisks-1.0.1_new/src/device.c	2010-05-29 11:26:52.155630900 +0400
@@ -5848,23 +5848,23 @@
 
 /* ---------------------- vfat -------------------- */
 
-static const char *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "dmask=0077", "utf8=1", NULL };
-static const char *vfat_allow[] = { "flush", "utf8=", "shortname=", "umask=", "dmask=", "fmask=", "codepage=", "iocharset=", "usefree", NULL };
+static const char *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "dmask=0000", "utf8=1", "showexec", "flush", "users", "quiet", NULL };
+static const char *vfat_allow[] = { "flush", "utf8=", "shortname=", "umask=", "dmask=", "fmask=", "codepage=", "iocharset=", "usefree", "showexec", "users", "quiet", NULL };
 static const char *vfat_allow_uid_self[] = { "uid=", NULL };
 static const char *vfat_allow_gid_self[] = { "gid=", NULL };
 
 /* ---------------------- ntfs -------------------- */
 /* this is assuming that ntfs-3g is used */
 
-static const char *ntfs_defaults[] = { "uid=", "gid=", "dmask=0077", NULL };
-static const char *ntfs_allow[] = { "umask=", "dmask=", "fmask=", NULL };
+static const char *ntfs_defaults[] = { "uid=", "gid=", "dmask=0000", "fmask=0111", "users", NULL };
+static const char *ntfs_allow[] = { "umask=", "dmask=", "fmask=", "users", NULL };
 static const char *ntfs_allow_uid_self[] = { "uid=", NULL };
 static const char *ntfs_allow_gid_self[] = { "gid=", NULL };
 
 /* ---------------------- iso9660 -------------------- */
 
-static const char *iso9660_defaults[] = { "uid=", "gid=", "iocharset=utf8", "mode=0400", "dmode=0500", NULL };
-static const char *iso9660_allow[] = { "norock", "nojoliet", "iocharset=", "mode=", "dmode=", NULL };
+static const char *iso9660_defaults[] = { "uid=", "gid=", "iocharset=utf8", "mode=0666", "unhide", "users", NULL };
+static const char *iso9660_allow[] = { "norock", "nojoliet", "iocharset=", "mode=", "dmode=", "unhide", "users", NULL };
 static const char *iso9660_allow_uid_self[] = { "uid=", NULL };
 static const char *iso9660_allow_gid_self[] = { "gid=", NULL };
 

anonymous ()

флешка небось в FAT32 или NTFS. На них флаг ЕМНИП показывается автоматически у всех файлов, ибо сама по себе файловая система не поддерживает такой флаг. Форматни в ext2 или любую другую юниксовую ФС если нужно.

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

Ни разу, флаг снимается.
У меня автомонтирование скриптом через udev, и в общем-то всё сводится к запуску mount.
man mount -> fmask и dmask. Ещё noexec.

arknir ()

у mount есть параметр umask, который за это отвечает. я правда FAT тоже монтирую с umask=000 =)

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

и что посмотреть? Ну не будет флага, толку то. Сменить флаг на лету все равно не получится.

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

Я хочу установить запрет на исполнение на все монтируемые устройства, поэтому прописывать в fstab - не вариант. Только если правило в udev прописать...

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