Чтение онлайн

на главную - закладки

Жанры

Linux программирование в примерах
Шрифт:

Обратите внимание, что в

/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 в нашей системе:

# device mount-point type options freq passno

/dev/hda1 /win vfat noauto,defaults,user,uid=2076,gid=10 0 0

Опция

noauto
предотвращает монтирование раздела Windows при загрузке. Опция
defaults
та же самая, что
rw
,
suid
,
dev
,
exec
,
async
. Опция
user
позволяет нам монтировать файловую систему, не будучи
root
. Опции
uid=
и
gid=
делает файлы в
/win
принадлежащими нам, так что нам не нужно иметь права
root
при работе с этим разделом.

8.2.2. Работа со смонтированными файловыми системами:

getmntent

Любой из файлов

/etc/fstab
,
/etc/mtab
и
/proc/mounts
может быть прочитан программное использованием набора процедур
getmntent
:

#include <stdio.h> /* GLIBC */

#include <mntent.h>

FILE *setmntent(const char *filename, const char *type);

struct mntent *getmntent(FILE *filep);

int addmntent(FILE *filep, const struct mntent *mnt);

int endmntent(FILE *filep);

char *hasmntopt(const struct mntent *mnt, const char *opt);

setmntent
открывает файл, содержащий элементы точек монтирования. Аргумент
filename
является файлом, который должен быть открыт. Аргумент
type
похож на второй аргумент
fopen
, указывая доступ для чтения, записи или чтения/записи. (Рассмотрите команду
mount
, которой приходится добавлять элемент к
/etc/mtab
для каждой файловой системы, которую она монтирует, и
umount
, которая должна удалять этот элемент.) Затем возвращаемое значение типа
FILE*
используется с оставшимися процедурами.

Поделиться:
Популярные книги

Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Сердце Дракона. Том 11

Клеванский Кирилл Сергеевич
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Сердце Дракона. Том 11

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Шесть принцев для мисс Недотроги

Суббота Светлана
3. Мисс Недотрога
Фантастика:
фэнтези
7.92
рейтинг книги
Шесть принцев для мисс Недотроги

Хочу тебя любить

Тодорова Елена
Любовные романы:
современные любовные романы
5.67
рейтинг книги
Хочу тебя любить

Огни Аль-Тура. Желанная

Макушева Магда
3. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.25
рейтинг книги
Огни Аль-Тура. Желанная

Начальник милиции 2

Дамиров Рафаэль
2. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции 2

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Сумеречный стрелок 8

Карелин Сергей Витальевич
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Сумеречный стрелок 8

Я до сих пор не князь. Книга XVI

Дрейк Сириус
16. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я до сих пор не князь. Книга XVI

Обыкновенные ведьмы средней полосы

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Обыкновенные ведьмы средней полосы

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Идеальный мир для Социопата

Сапфир Олег
1. Социопат
Фантастика:
боевая фантастика
рпг
постапокалипсис
6.17
рейтинг книги
Идеальный мир для Социопата