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

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

Жанры

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*
используется с оставшимися процедурами.

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

Идеальный мир для Лекаря 13

Сапфир Олег
13. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 13

Кай из рода красных драконов 4

Бэд Кристиан
4. Красная кость
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Кай из рода красных драконов 4

Эволюционер из трущоб. Том 3

Панарин Антон
3. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
6.00
рейтинг книги
Эволюционер из трущоб. Том 3

Корсар

Русич Антон
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
6.29
рейтинг книги
Корсар

Моров. Том 5

Кощеев Владимир
4. Моров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Моров. Том 5

Деревенщина в Пекине

Афанасьев Семён
1. Пекин
Фантастика:
попаданцы
дорама
фантастика: прочее
5.00
рейтинг книги
Деревенщина в Пекине

Алекс и Алекс

Афанасьев Семен
1. Алекс и Алекс
Фантастика:
боевая фантастика
6.83
рейтинг книги
Алекс и Алекс

Студиозус

Шмаков Алексей Семенович
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус

На границе империй. Том 2

INDIGO
2. Фортуна дама переменчивая
Фантастика:
космическая фантастика
7.35
рейтинг книги
На границе империй. Том 2

Двойник короля 11

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

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Звездная Кровь. Изгой VII

Елисеев Алексей Станиславович
7. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
технофэнтези
рпг
фантастика: прочее
попаданцы
5.00
рейтинг книги
Звездная Кровь. Изгой VII

Двойник Короля 10

Скабер Артемий
10. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Двойник Короля 10