Каковы варианты монтажа по умолчанию для не корневого раздела?
Запись человека для монтирования говорит...
defaults - use default options: rw, suid, dev, exec, auto, nouser, and async.
... так, чтобы мог бы быть тем, что мы ожидаем видеть. Но, если я не пропускаю что-то, это не то, что происходит.
У меня есть ext3 раздел, маркировал "NewHome20G", который рассматривается как/dev/sdc6 системой. Это мы видим от...
root@john-pc1204:~# blkid | grep NewHome20G
/dev/sdc6: LABEL="NewHome20G" UUID="d024bad5-906c-46c0-b7d4-812daf2c9628" TYPE="ext3"
У меня есть запись в fstab следующим образом...
root@john-pc1204:~# cat /etc/fstab | grep NewHome
LABEL=NewHome20G /media/NewHome20G ext3 rw,nosuid,nodev,exec,users 0 2
Отметьте настройки опции, которые указаны в этом fstab строка.
Теперь я смотрю на то, как раздел на самом деле смонтирован, после загружаются...
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]
... таким образом, когда файловая система смонтирована должностное лицо и пользовательские опции, я указал, кажется, были проигнорированы.
Только, чтобы быть уверенным, я размонтировал sdc6, повторно монтирую его и смотрю на опции монтирования снова...
root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]
.... тот же результат
Теперь я размонтировал раздел снова, повторно монтирую его указывающий исполнительную опцию и смотрю на результат...
root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o exec
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,nosuid,nodev) [NewHome20G]
... и здесь исполнительная опция наконец вступила в силу, и установка noexec исчезла.
Только для интереса, я повторно монтирую раздел с опцией значений по умолчанию
root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o defaults
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]
noexec вернулся, таким образом, это смотрит в точности как rw, noexec, nosuid, nodev являются опциями по умолчанию, который НЕ является тем, что говорит человек.
Почему это имеет значение?
У меня есть папка, полная полезных сценариев, сохраненных на диске данных. Поскольку тот диск смонтирован noexec, те сценарии не будут работать, даже при том, что они были все установлены с chmod 777. Я могу работать вокруг этого несколькими способами, но неутешительно, что запись человека, кажется, является неправильной.
Я пропустил что-то очевидное здесь или имею опции по умолчанию в Ubuntu, измененной от того, чем они были несколько версий назад?
Руководство корректно. Ваша проблема - то, что, возможно, Вы не объясняли 3 важных детали:
users
(и user
) подразумевает опции noexec
, nosuid
, и nodev
Если не переопределено последующими опциями
Опции заказывают вопросы ;)
Таким образом, когда Вы используете rw,nosuid,nodev,exec,users
в Вашем fstab, последней опции, users
, наборы noexec,nosuid,nodev
, таким образом отключение Ваш exec
(и также создание Вашего nosuid,nodev
избыточный).
Результат, как ожидалось, rw,noexec,nosuid,nodev
.
И не, users
не был проигнорирован, это просто обычно не показывает в mount
список вывода. Но любой пользователь может размонтировать его и смонтировать его назад снова.Попробуйте!
rodrigo@desktop ~ $ mount /dev/sda6 # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works # noexec will deny this
bash: /mnt/mint10/bin/echo: Permission denied
mount
только покажет что-то связанное пользователю если user
(нет users
) используется, и обычный, некорневой пользователь монтирует его, как это:
rodrigo@desktop ~ $ mount /dev/sda6 # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6 # it will list current "owner"
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev,user=rodrigo)
rodrigo@desktop ~ $ umount /dev/sda6
rodrigo@desktop ~ $ sudo mount /dev/sda6
rodrigo@desktop ~ $ mount | grep /dev/sda6 # since owner=root, it won't show
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6 # only mounter can unmount
umount: only root can unmount LABEL=MINT10 from /mnt/mint10
Также заметьте это при использовании user
без noauto
, раздел будет автосмонтирован (корнем) на начальной загрузке. Таким образом, пока корень не размонтировал его, никто не сможет размонтироваться, или (пере-) монтируются.
Тем не менее я предполагаю, что Вы уже выяснили свое решение: просто измените порядок своих опций, и все будет хорошо работать:
LABEL=NewHome20G /media/NewHome20G ext3 users,exec 0 2
Заметьте как exec
после users
. И также rw,nosuid,nodev
не необходимо. rw
уже значение по умолчанию, и другие автоматически включены users
И результат:
rodrigo@desktop ~ $ mount /dev/sda6 # user mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works # exec works
it works
rodrigo@desktop ~ $ sudo umount /dev/sda6 # root unmount
rodrigo@desktop ~ $ sudo mount /dev/sda6 # root mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6 # user unmount
rodrigo@desktop ~ $
Значение любого пользователя, корня или некорневой, может смонтировать и размонтировать его, независимо от того, кто ранее смонтировал или размонтировал его. И исполняемые файлы работают также :)