Каковы настройки монтирования по умолчанию для монтирования / fstab?

Каковы варианты монтажа по умолчанию для не корневого раздела?

Запись человека для монтирования говорит...

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, измененной от того, чем они были несколько версий назад?

18
задан 31 August 2012 в 19:38

1 ответ

Руководство корректно. Ваша проблема - то, что, возможно, Вы не объясняли 3 важных детали:

  • usersuser) подразумевает опции 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 ~ $

Значение любого пользователя, корня или некорневой, может смонтировать и размонтировать его, независимо от того, кто ранее смонтировал или размонтировал его. И исполняемые файлы работают также :)

18
ответ дан 21 October 2019 в 11:44

Другие вопросы по тегам:

Похожие вопросы: