Ядро делает доступным (почти) те же самые сведения в
/proc/mounts
,
в том же формате:
$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext3 rw 0 0
/proc /proc proc rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/hda5 /d ext3 rw 0 0
none /dev/pts devpts rw 0 0
none /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/hda1 /win vfat rw,nosuid,nodev,noexec 0 0
Обратите внимание, что в
/etc/mtab
есть некоторые сведения, которые отсутствуют в
/proc/mounts
. (Например, см. строку для точки монтирования
/win
.) С другой стороны, возможно (используя '
mount -f
') помещать в
/etc/mtab
элементы, которые не являются настоящими (эта практика имеет свое применение, см. mount(8)). Подводя итог,
/proc/mounts
всегда описывает, что смонтировано в действительности; однако,
/etc/mtab
содержит сведения об опциях
mount
, которых нет в
/proc/mounts
. Поэтому, чтобы получить полную картину, вам может понадобиться прочесть оба файла
8.2.1. Использование опций монтирования
Команда
mount
поддерживает опции, которые контролируют то, какие операции ядро будет позволять или не позволять применять к файловой системе. Их приличное количество. Лишь две из них полезны на самом деле в командной строке:
ro
Монтирует файловую систему только для чтения. Это необходимо для устройств только для чтения, таких, как CD-ROM и DVD.
loop
Использует кольцевое устройство для интерпретации обычного файла в качестве файловой системы. Пример этого мы показали ранее (см. раздел 8.1.3 «Монтирование файловых систем:
mount
»).
Опции передаются с опцией командной строки -о и могут группироваться, отделяясь запятыми. Например, вот использованная ранее командная строка:
mount -t iso9660 -о ro,loop shrike-i386-discl.iso /mnt/cdrom
Оставшиеся опции предназначены для использования в
/etc/fstab
(хотя они могут использоваться также и в командной строке). Следующий список представляет те опции, которые, как мы полагаем, наиболее важны в повседневном использовании.
auto
,
noauto
Файловые системы, помеченные
auto
, должны монтироваться при загрузке системы через '
mount -а
' (монтировать все файловые системы). Файловые системы
noauto
должны монтироваться вручную. Они по-прежнему находятся в
/etc/fstab
вместе с другими файловыми системами. (См., например, элемент
/win
для показанного ранее файла
/etc/fstab
).
defaults
Использует по умолчанию опции
rw
,
suid
,
dev
,
exec
,
auto
,
nouser
и
async
. (
async
является продвинутой опцией, повышающей производительность ввода/вывода).
dev
,
nodev
Позволяет (не позволяет) использовать в файловой системе файлы символьных или блочных устройств.
exec
,
noexec
Позволяет (не позволяет) запускать в файловой системе двоичные исполняемые файлы.
user
,
nouser
Позволяет (не позволяет) монтировать данную файловую систему любому пользователю. Это полезно для CD-ROM; даже если вы находитесь на рабочей станции с одним пользователем, удобно не переключаться на
root
просто для монтирования CD. Демонтировать файловую систему может лишь пользователь, который смонтировал ее.
user
предполагает наличие опций
noexec
,
nosuid
и
nodev
.
suid
,
nosuid
Поддерживает (не поддерживает) биты
setuid
и
setgid
исполняемых файлов в файловой системе.
rw
Монтирует файловую систему в режиме для чтения/записи.
Опции
nodev
,
noexec
и
nosuid
особенно ценны для безопасности на файловых системах гибких дисков и CD-ROM. Рассмотрите студенческую среду, в которой студентам разрешено монтировать собственные гибкие диски или CD. Тривиально смастерить для жесткого диска файловую систему с оболочкой setuid-root или с файлом устройства с разрешением записи для всех, которая позволила бы предприимчивому пользователю изменить права доступа к системным файлам.
У каждой файловой системы есть специфичные для нее опции. Важной опцией для
ext2
и
ext3
является
grpid
. Мы отложим обсуждение этой опции до раздела 11.5.1 «Группа по умолчанию для новых файлов и каталогов». Подробности для всех поддерживаемых файловых систем можно найти в справочной странице mount(8).
В качестве конкретного примера вернемся к строчке для раздела Windows в нашей системе: