Почему-то раздел на usb-flash в ext4 монтируется пользователем,
но не так, как указано в /etc/fstab и на запись только для root.
Вот строка из /etc/fstab:
[console]/dev/sdc1 /media/usb-ext ext4 rw,noauto,async,suid,dev,exec,users 0 0[/console]
А вот из /etc/mtab:
[console]/dev/sdc1 /media/usb-ext ext4 rw,nosuid,nodev,noexec,relatime 0 0[/console]
Вот вывод "ls -l /dev/sdc*
[console]
brw-rw---- 1 root floppy 8, 32 Feb 2 16:15 /dev/sdc
brw-rw---- 1 root floppy 8, 33 Feb 2 16:15 /dev/sdc1
brw-rw---- 1 root floppy 8, 34 Feb 2 16:15 /dev/sdc2
[/console]
Пользователь есть в группах floppy и disk.
В чём причина такого поведения и что надо сделать, чтобы опльзователь
имел право на запись?
После монтирования каталог /media/usb-ext становится root:root 755.
Потому что это не раздел Windows, монтируется с теми правами, с которыми вы и записывали на этот раздел.
как вариант можно после монтирования изменить права:
Потому что это не раздел Windows, монтируется с теми правами, с которыми вы и записывали на этот раздел.
как вариант можно после монтирования изменить права:
text
# chown -R user_name /media/usb-ext
Я это подумал, насчёт прав создания, но ведь права имеет файл или каталог,
а что имеет раздел? Там же только файловая система. Каталог lost+found тоже есть,
а когда я в другом подобном случае создал на ext4 каталог и сделал его владельцем
nobody:nogroup, то после монтирования он был доступен пользователю на запись,
но мне сказали, что это лишнее.
Почему для того, чтобы пользователю был доступен по записи последовательный
порт, COM или USB, достаточно включить его в группу dialout, а в данном случае
недостаточно включить его в группу floppy?
Почему для того, чтобы пользователю был доступен по записи последовательныйпорт, COM или USB, достаточно включить его в группу dialout, а в данном случаенедостаточно включить его в группу floppy?
Потому что это файловая система. Файлы там также должны принадлежать root:floppy, тогда доступ будет.
[quote="Peter"]Почему для того, чтобы пользователю был доступен по записи последовательныйпорт, COM или USB, достаточно включить его в группу dialout, а в данном случаенедостаточно включить его в группу floppy?
Потому что это файловая система. Файлы там также должны принадлежать root:floppy, тогда доступ будет.[/quote]
Так пользователь не может записать в корень раздела.
Вот как сделать, чтобы при монтировании не переключались на противоположные
опции, указанные в /etc/fstab?
Потому что это файловая система. Файлы там также должны принадлежать root:floppy, тогда доступ будет.
Ну не только, так же еще пользователю должны быть даны права на чтение запись.
Просто особенность UNIX-подобных файловых систем.
Тут могу посоветовать книгу "Linux и Unix прогамирование в shell Девид Тейнсли" там про права подробно написано.
"Peter" написал:
Так пользователь не может записать в корень раздела.
Вот как сделать, чтобы при монтировании не переключались на противоположные
опции, указанные в /etc/fstab?
А опции и не меняются, просто внимательно почитайте man mount
какая опция для чего нужна (монтировать под пользователем , или монтировать с правами пользователя).
Я смотрел и пробовал, и раньше и сейчас, но, по-видимому, недостаточно внимательно.
Сейчас воткнул эту флешку в ноутбук с Ubuntu-13.04,
разделы смонтировались автоматически,
vfat смонтировался для пользователя, а ext4 - для root:root,
т.е. пользователь прав на запись не имеет.
vfat смонтировался для пользователя, а ext4 - для root:root,
т.е. пользователь прав на запись не имеет.
Ну так все правильно, в vfat можно назначить права монтирования, за это отвечает параметр umask, а для Linux ФС, права на корень, каталоги и файлы даются командами chown, chgrp, chmod. Опциями монтирования можно выставить на только для чтения, либо для чтения/записи.
[quote="Peter"]vfat смонтировался для пользователя, а ext4 - для root:root,
т.е. пользователь прав на запись не имеет.
Ну так все правильно, в vfat можно назначить права монтирования, за это отвечает параметр umask, а для Linux ФС, права на корень, каталоги и файлы даются командами chown, chgrp, chmod. Опциями монтирования можно выставить на только для чтения, либо для чтения/записи.[/quote]
Так что, надо искать udeb rule, которым монтируется usb-flash и добавлять туда запуск скрипта?
Или можно как-то опциями монтирования?
Так что, надо искать udeb rule, которым монтируется usb-flash и добавлять туда запуск скрипта?
Или можно как-то опциями монтирования?
Не знаю что вам конкретно необходимо и что находится на флешке EXT4?
По идее должно быть достаточно выполнить после монтирования раздела EXT4 в каталог /media/usb-ext:
text
# chmod -R 777 /media/usb-ext
Далее после этого при каждом монтировании, будут разрешены все операции для пользователя (чтение. запись выполнение).
[quote="Peter"]Так что, надо искать udeb rule, которым монтируется usb-flash и добавлять туда запуск скрипта?
Или можно как-то опциями монтирования?
Не знаю что вам конкретно необходимо и что находится на флешке EXT4?
По идее должно быть достаточно выполнить после монтирования раздела EXT4 в каталог /media/usb-ext:
text
# chmod -R 777 /media/usb-ext
Далее после этого при каждом монтировании, будут разрешены все операции для пользователя (чтение. запись выполнение).
Опциями монтирования не получится.[/quote]
Плохо, если не получится опциями монтирования, а я именно не хочу вводить команду как root.
А если при создании ext4 использовать опцию root_owner и задать nobody_nogoroup?
А что, опции group, owner, user, users не дают желаемого результата?
text
group
Allow an ordinary (i.e., non-root) user to mount the filesystem if one of his groups matches the group of the device. This option implies the options nosuid and nodev (unless overridden by subsequent options, as in the option line group,dev,suid).
...
owner
Allow an ordinary (i.e., non-root) user to mount the filesystem if he is the owner of the device. This option implies the options nosuid and nodev (unless overridden by subsequent options, as in the option line owner,dev,suid).
...
user
Allow an ordinary user to mount the filesystem. The name of the mounting user is written to mtab so that he can unmount the filesystem again. This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line user,exec,dev,suid).
...
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).
Я попробовал создать fs с параметром
-E root_owner=0:25
25 - это floppy-gid, а при подключении флешки владельцем раздела становится
root:floppy, права 660,
а также установил права на каталог монтирования /media/usb-ext
775, владелец его тоже root:floppy,
теперь после монтирования флешки пользователем он остаётся у root:floppy,
но права меняются на 755, так что пользователь по-прежнему не имеет доступа на запись.
Не легче было бы тогда, создать без root_owner, а просто присвоить группу
text
# chgrp -R wheel /media/usb-ext
А затем дать права на 775
text
# chmod 775 -R /media/usb-ext
после должно было бы и так все получится под пользователем в группе wheel.
Мне надо, чтобы раздел монтировался уже с правами на запись,
без дополнительных команд от root. Потом, какая разница, wheel или floppy?
При монтировании root:floppy сохраняется, но меняется 775 на 755.
Я изменил в /etc/login.defs UMASK на 002, но это не помогло.
Насчёт того, что при смонтированном, я сомневаюсь, но попробую.
В любом случае всё это очень неудобно и непереносимо,
т.к. на другом компьютере флешка не смонтируется.
Я обнаружил, что в Debian Wheezy mke2fs не имеет параметра root_owner,
tune2fs тоже не имеет подобного параметра. А после создания fs и монтирования раздела
возможно назначить ей владельца с помощью chown?
Ещё непонятно, почему при подключении usb-flash /dev/sdc* получают права 660.
Я посмотрел /lib/udev/rules.d/91-permissions.rules, ни там, ни вообще ни в каком
*.rules нет таких прав - 660.
И почему при монтировании пользователем раздела ext4 на каталог с правами 775
они меняются на 755? От чего это зависит или чем определяется?