Монтирование разделов в debian. Автоматическое монтирование дисков и разделов в Linux или что такое fstab

Здравствуйте, уважаемые читатели сайта " ". Сегодня мы продолжим приобщать вас к прекрасному внутреннему миру Linux-систем и познакомим (как Вы уже наверняка поняли из названия статьи) с монтированием в операционных системах «под управлением» Linux.

И, само собой, постараемся преподнести информацию в облегченном варианте, т.е. мало будем упоминать и больше внимания уделять работе в графическом режиме. Ну, а там уж как получится. Ну что ж, нечего тянуть, поехали.
Давайте на секундочку представим такую ситуацию. Вы решились на установку Linux второй операционной системой вместе с Windows . Установили, - запустили её, - а потом захотели посмотреть на разделы Windows глазами линуксоидов:). И, - Опа!, - тут вас может поджидать небольшое разочарование, ибо Вы этого (раздела) не видите (рассматривается простой случай, когда у вас установлен ntfs-config для работы с ntfs -разделами, и система видит Ваши разделы, но не примонтировала их по каким-либо причинам).

Далее, чтобы начать его использовать, нам потребуется подключить или, по-другому, смонтировать эту невидимку. Для начала вспомним одну из предыдущих статей, - " , где мы немного завуалировано говорили, что файловая система (ФС) Linux очень тесно связана с монтированием, а конкретнее - упоминалось, что ФС это одно большое дерево с корневой директорией / (слеш). И монтирование корневой ФС является частью процесса инициализации ядра. В процессе загрузки операционной системы происходит последовательное (а не абы какое) присоединение всех видимых (да и невидимых тоже:)) системой устройств.

В современных дистрибутивах Вы не увидите самого процесса загрузки ядра, ибо всё это происходит за красивым фоном. Но иногда эта информация бывает очень полезна, потому как помимо данных о примонтированных устройствах выводятся различные полезные сообщения ядра - об имеющемся оборудовании; о и технологиях, которые поддерживаются; а самое главное и ценное - об ошибках, если таковые имеются. Чтобы увидеть все сообщения загружаемой системы, наберите команду:

Загрузка ядра - отдельный разговор, сейчас мы не будем останавливаться на этом, просто введите вышеуказанную команду и внимательно изучите все, что выведется на экран монитора. Уверяю, вы найдете там много чего «вкусненького».

Давайте разбираться дальше. Вот ядро Linux опознало все ваши устройства, на которых находятся данные. И что же потом? А потом оно просто обязано предоставить нам с Вами какое-то внешнее связующее звено для дальнейшей работы с этими устройствами. И как не парадоксально, но в роли таких звеньев будут выступать файлы-устройств , которые создаются в каталоге /dev . Только так мы с вами сможем получить доступ к файлам и каталогам, которые располагаются на нашем, скрытом от взора, диске или дисках – это у кого как. У многих может возникнуть резонный вопрос - а зачем так заморачиваться и делать это руками, если современные системы Linux справляются с этим автоматически? Поверьте, иногда это нужно, встречаются отдельные случаи, когда система Linux не может автоматически подсоединить диск в силу каких-то причин, связанных со сбоем диска, вирусами, которыми заражены NTFS/FAT -разделы или из-за чего-то еще противоестественного. И тогда настоящие (или очень умные пользователи;)) делают это руками с помощью команды:

Что дает примерно такой результат:

Давайте немного внесём ясности в то, что видим на рисунке. Мы наблюдаем самый настоящий процесс монтирования на начальной стадии загрузки системы. Первой присоединилась псевдофайловая система (напомним, что она используется для предоставления информации о процессах) , потом примкнула виртуальная файловая система /sysfs , которая экспортирует в пространство пользователя информацию ядра Linux об устройствах и драйверах, присутствующих в системе. Далее в каталог /dev монтируется tmpfs . Это временное файловое хранилище, предназначенное для монтирования ФС , с той лишь разницей, что размещается она в ОЗУ вместо физического диска, т.е., по-другому, это . Здесь создаются файлы тех устройств, которые присутствуют в системе и которые могли бы создаваться «на лету» – к таким можно отнести подключения по USB (или когда подгружается динамический модуль с драйвером устройства).

И так далее, и тому подобное, т.е всё присоединяется последовательно, по порядку. Чтобы не пугать вас заумной терминологией, давайте спустимся с небес на землю и продолжим наш разговор о монтировании. Последним замыкающим звеном выступают: диск (/dev/sdа ) и сменное USB -устройство ( /dev/sdb ). Я думаю, не надо подсказывать Вам, что если на диске (или каком-либо другом сменном устройстве) не один раздел, а несколько, то прицепятся все имеющиеся разделы и отличие будет только в имени файла-устройств . Например, если на диске 5 разделов, то файлы-устройств будут называться /dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4, /dev/sda5 .

Вывод:
Сколько разделов на съемном диске, столько и будет подключено файлов-устройств.

Этот же вывод команды можно получить, если откроем содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab )

# cat /etc/mtab

Давайте перейдем к практике. Посмотрите, какие из устройств подключены в данный момент к компьютеру, с помощью команды:

# sudo fdisk -l

У Вас вывод может оказаться совсем другой, нежели в приведенном ниже рисунке:

Просим не забывать, что процесс монтирования/размонтирования выполняется с привилегиями root , о чем говорит значок # и sudo

Далее. Из рисунка видно, что в наличии имеется только один , где есть три точки монтирования - это файл подкачки swap, каталоги и home (при установке системы мне было удобнее разбить диск именно так).

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

С вероятностью на 90 процентов уверен, что на Вашем компьютере есть не только один диск, а их может быть несколько и они могут быть поделены на разделы. Чтобы получить доступ к этим разделам, нам нужно подмонтировать их к корневой файловой системе и только после этого мы можем обращаться к содержимому этих разделов через точку монтирования.

А теперь перейдем непосредственно к тренировкам. Допустим, что под рукой есть только CD/DVD-ROM. Давайте вот на нём и попробуем.

1. Вставьте диск в привод.
2. Он у вас автоматически определится системой, т.е. примонтируется (см.картинку ниже):


3.
Отмонтируйте его командой:

sudo umount /dev/cdrom

Взгляните на картинку - CD/DVD-ROM размонтирован (о чем свидетельствует отсутствие треугольника рядом), но..

Он виден в системе (т.е определен системой, но не примонтирован), а посему, дабы убедиться в достоверности этого, наберите команду:

mount | column -t

Как видите, команда показала что CD/DVD-ROM отсутствует.

А теперь самое интересное, а именно, мы начинаем шаманить с присоединением нашего, так сказать, сидюка обратно. Для этого понадобится шаманский бубен и прямые руки:)

1. Чтобы особо не мучиться с правами суперпользователя, мы примонтируем его обратно в ту же директорию, откуда его и извлекли, а именно в /run/media/имя_пользователя . Почему именно сюда? Всё просто. Каталог /run был задуман как временное хранилище в целях «безопасности», и эта папка (/run/media/имя_пользователя ) специально остаётся пустой после загрузки системы, так что ничего кроме смонтированных дисков (или других сменных устройств) Вы там не обнаружите (при условии, конечно, что сами что-нибудь не натворите). Но вообще, прежде чем его туда прикрепить, мы должны

2 . Создать директорию - /CDROM

sudo mkdir /run/media/имя_пользователя/CDROM

3. Примонтировать командой

sudo mount -t iso9660 /dev/sr0 /run/media/имя_пользователя/CDROM

-t iso9660 - параметр монтирования, который обычно определяется автоматически, но в некоторых особых случаях этот параметр нужно указать, чтобы система не говорила: «Ой.. Вот ведь какая незадача, что Вы не определили тип файловой системы». В нашем случае тип файловой системы - iso9660 - этим типом определяются все CD- , DVD- диски;

/dev/sr0 - это наш сидюк, откуда взялось это название, легко определить из команды, да хотя бы mount | column -t (или используйте дисковые утилиты, которые есть в любой linux -системе);

/run/media/имя_пользователя/CDROM – обязательно указываемый параметр, а то система не поймет, куда Вы хотите все это присоединить.

В командной строке все уложилось в три строчки:)

Аналогичным образом давайте примонтируем флешку:

1. Вставляем флешку в USB

Наша флешка определилась как файл-устройство /dev/sdb1 с именем 3C9B-F329 и с файловой системой FAT32 .

sudo umount /dev/sdb1

И видим примерно следующее:

3. Теперь создаем папку в каталоге /run/media/имя_пользователя/

sudo mkdir /run/media/имя_пользователя/3C9B-F329

4. Монтируем

sudo mount /dev/sdb1 /run/media/имя_пользователя/3C9B-F329

Получаем на выходе примерно следующее:

Так вот. На протяжении всей статьи Вас подводили к наиважнейшему выводу: монтированием разделов мы "мягко" объясняем системе, как можно добраться до данных и сделать их доступными для использования в наших целях. Главное здесь, чтобы директория или поддиректория существовала, иначе, если её не будет, то весь наш процесс завершится ошибкой монтирования.

Обращаю внимание:
В процессе монтирования фактически монтируется ФС какого-либо устройства (или другого ресурса). Принято говорить о "монтировании устройства", хотя на самом деле подразумевается, что речь идет именно о "монтировании файловой системы устройства".

Впрочем, хватит терминала, переходим к более простым способам с использованием графических инструментов.

Существует множество утилит и программ для работы с дисками, разделами (самая простая утилита, - это автоматическое монтирование, которое выполняет сама система), но есть одно «но».. В каждой Linux -системе эти утилиты свои. Поэтому все мы их просто физически не охватим. Например, в Ubuntu есть встроенная утилита для работы с дисками "Инструмент конфигурации записи на NTFS ", а также можно установить утилиту "Mount Manager ". В "Fedora" же - "palimpsest ", что входит в состав "gnome-disk-utility ".

Ко всему прочему.. Есть общая программа для работы с разделами и дисками в любой Linux -системе - это . Эта программа полностью бесплатна и умеет не только монтировать, но еще и очень, очень многое, но мы не будем рассматривать всё на что она способна, а разберем только две операции. Давайте только кратко, в виде наставительной инструкции:

Как размонтировать раздел с помощью Gparted:

  1. Запустить саму программу (с правами root )
  2. Выбрать смонтированный раздел (справа вверху есть выбор разделов - выделен красным прямоугольником).
  3. Далее выбрать в меню "Раздел - Размонтировать" . Ну или воспользоваться щелчком правой кнопкой мыши по выделенному разделу и пунктом "Размонтировать" . После сего программа отсоединит раздел (в данном случае флешку)

Если операция отсоединения не выполнилась, то скорее всего раздел в данный момент используется другими процессами и поэтому не может быть размонтирован. В этом случае необходимо воспользоваться Live CD Gparted :

Теперь ко второй операции.

Как смонтировать раздел в GParted:

  1. Запустить программу (с правами root)
  2. Выбрать ещё не смонтированный раздел (главное, чтобы он у вас был определен системой).
  3. Далее перейти в "Раздел - Монтировать" и выбрать точку монтирования из списка. Или щелкнуть правой кнопкой мыши по выделенному разделу - "Монтировать" , после чего смонтирует раздел к указанной точке монтирования.

Если пункт меню "Раздел - Монтировать " не виден (т.е. не активный), значит не знает, к какой точке монтировать раздел. В этом случае необходимо воспользоваться Live CD Gparted .

Но больше всего мне, в общем-то, нравиться утилита в openSUSE (немецкий дистрибутив) и/или её замечательный "Центр управления " ("Параметры системы ") YaST , с помощью которого можно без особых проблем смонтировать/размонтировать все, что только пожелаете.

Процесс таков:

  1. Запустите YaST (можно воспользоваться командной строкой с правами root - /usr/bin/xdg-su -c /sbin/yast2 или через графический интерфейс - "Системные параметры - YaST ").
  2. Зайдите в "Система - Разделы "

Скорее всего, Вас предупредят о том, что эта операция не такая уж безобидная, и Вы понимаете степень вреда, который можно нанести системе, если что-то сделаете не совсем корректно. Но Вы все равно соглашайтесь и нажимайте " Да" .

Теперь откроется окно редактора раздела дисков, где выберите раздел (слева) – "Жесткие диски" , а справа будет выведен список всех дисков, которые подключены в данный момент к Вашему компьютеру. Ищите тот, который Вы хотите присоединить (в нашем случае мы выберем самую последнюю строчку - это флешка) .

Напоминание - не забудьте отсоединить тот диск, с которым будете экспериментировать.

Сделайте это штатными средствами, а именно просто нажмите на значок треугольника в проводнике:

Обратите внимание, что один диск занимает, как минимум, две строчки. Первая - это физическое его наименование и маркировка, а вторая – логический диск (разделы) с файловой системой.
Посмотрите на выделенную строчку - там указан тип файловой системы. У нас это FAT32 .
Выделите свой диск и нажмите на кнопку "Редактировать" , которая располагается внизу окна.
Откроется окно настроек. Проверьте, чтобы стояла галка около пункта "Не форматировать" .

Обычно все диски в Linux монтируют в папку /run/media/имя_пользователя , о чем мы и упоминали выше.

Поэтому в строке " Точка монтирования" впишите такой путь для монтирования Вашего диска: /run/media/имя_пользователя/имя вашего диска (в нашем случае это будет выглядеть так: /run/media/имя_пользователя/3C9B-F329 ).

Как только Вы впишите эту строчку, то сразу станет доступна кнопка " . Нажмите на неё, а в открывшемся окне отметьте точкой пункт " ID устройства" и поставьте галочку на " Монтируемый пользователем" . Это нужно для того, чтобы Вы могли пользоваться диском в режиме обычного пользователя, а не только администратора.

Теперь посмотрите на пункт " Значения произвольных опций" . Там найдите текст umask=0002 , и замените 0002 на 0000 (это права доступа к разделу) и согласитесь со всеми изменениями, нажав два раза ОК и Вас вернёт обратно к списку дисков. И, последнее, собственно, - в этом окне нажмите ОК . Программа снова выдаст вам предупреждение, что все изменения сейчас запишутся в файл. Если вы уверены в том что делаете, подтвердите изменения, нажав кнопку " Применить" .

В итоге, если всё было сделано корректно, то зайдя в папку /run/media/имя_пользователя (кстати посмотреть можно и через файловый менеджер, а именно, можете войти в терминал и набрать команду ) Вы увидите:

Ура, а вот и наша примонтированная флешка. Можно возрадоваться. Бедная флешка.. Что она только не пережила на момент написания этой статьи.

Послесловие.

Ладно. На этом заканчиваем наше повествование. Оставайтесь с проектом, здесь Вам рады.

Традиционно говорю, что все вопросы, а так же дополнения, мнения, отзывы, критику, благодарности и прочее, Вы можете оставлять в комментариях к этой самой статье.

P.S. За существование данной статьи спасибо члену команды Pantera

Рано или поздно пользователи Debian сталкиваются с таким понятием как монтирование разделов и дисков. Многие, особенно бывшие пользователи Windows, испытывают трудности с монтированием разделов, хотя если задуматься, то всё очень просто и логично. Ниже приводятся описание процесса монтирования в UNIX системах и разбор наиболее типичных случаев. И даже если вы окружены графическим интерфейсом, знание консольных команд может очень пригодиться. Кроме того, узнав пару-тройку полезных команд UNIX, вы приобщитесь к этой чёрной магии и, может быть, начнёте её использовать.

Монтирование разделов в Linux - общие слова

Если ядро Linux опознало ваше устройство-носитель данных, то оно должно предоставить какой-то внешний интерфейс пользователю для работы с устройством. Этим интерфейсом является создание файлов-устройств в каталоге /dev

Устройствам, подключённым к IDE , будут соответствовать файлы-устройства /dev/hda , /dev/hdb и так далее.

Устройствам типа SCSI , а также близкие им по духу SATA -устройства и USB -флешки, будут иметь файлы-устройства/dev/sda , /dev/sdb и тому подобное.

Если на диске есть разделы, то цифра в имени файла-устройства будет соответствовать номеру раздела.

Если на USB-флешке есть два раздела, то первый будет называться /dev/sda1 , а второй/dev/sda2

Монтирование разделов - это объяснение системе, как добраться до ваших данных и сделать их доступными для использования. Системе нужно объяснить три простые вещи:

  1. какая файловая система на разделе;
  2. какой файл-устройство вам нужно;
  3. куда его подключить для просмотра = точка монтирования;

Каталог, в котором вы будете просматривать содержимое ваших разделов, называется точкой монтирования (mount point). Поэтому нужно объяснить системе - командой или через графический интерфейс - что вы хотите смонтировать, куда и что за файловая система на этом разделе.

В переводе на язык UNIX, это звучит так:

mount -t vfat /dev/hda3 /mnt/harddisk

Если нужно часто монтировать одни и те же разделы, занесите их в /etc/fstab - это системный конфиг, в котором указаны все необходимые разделы для монтирования. Редактировать этот файл может не абы кто, а только root . Так что лбзаведитесь рутовыми полномочиями и редактируйте /etc/fstab

Файл /etc/fstab состоит из колонок, разделителями между которыми являются символы табуляции (клавиша TAB). Вот пример содержимого файла /etc/fstab :

# /etc/fstab: static file system information.
#
#
/dev/hda2 / reiserfs notail,noatime 0 1
/dev/hdb /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/sda1 /mnt/flash vfat iocharset=koi8-r,codepage=866,rw,user,auto 0 0

Формат колонок такой:

  • Монтируемое устройство (файл-устройство, он же раздел, который вы хотите примонтировать)
  • Точка монтирования (в какую директорию в файловой системе монтировать)
  • Тип монтируемой файловой системы
  • Опции монтирования (кодировка языка, необходимость монтирования при старте)
  • Dump (обычно 0)
  • Pass (обычно 0)

Важно, чтобы вы вставляли Тab после каждой колонки при редактировании /etc/fstab (После каждой смены цвета текста в данном примере)

Ниже приводятся примеры монтирования для каждой файловой системы.

Однократное монтирование FAT

Временное, однократное монтирование, например, флешки, выглядит в командной строке так (ещё раз напомню, что все операции проводятся из под root’а):

mount -t vfat /dev/sda1 /mnt/usb

Постоянное монтирование FAT

/etc/fstab добавляя строку:

/dev/sda1 /mnt/usb vfat iocharset=utf8,codepage=866,user,rw 0 0

Однократное монтирование NTFS

Временное, однократное монтирование, например, раздела с данными Windows, выглядит так (ещё раз напомню, что все операции проводятся из под root’а):

mount -t ntfs-3g /dev/sda1 /mnt/win

Постоянное монтирование NTFS

Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/sda1 /mnt/win ntfs-3g umask=0,nls=utf8,exec,user,auto,rw 0 0

Монтирование CD/DVD дисковода в Debian

Скорее всего, это уже сделано в вашем дистрибутиве. Тем не менее, привожу это здесь для примера.

Однократное монтирование CD/DVD

mount -t iso9660 /dev/cdrom /mnt/dvd

Постоянное монтирование CD/DVD

Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку (ещё раз напомню, что все операции проводятся из под root’а):

/dev/cdrom /mnt/cdrom iso9660 user,ro 0 0

Монтирование ISO-файла в Debian

Вы откуда-то скачали ISO-файл и хотите просмотреть его содержимое. Для этого в Windows есть немало софтины. В Linux и вообще в UNIX такие софтины не требуются, так как монтирование ISO-образа ничем для системы не отличается от монтирования CD/DVD-диска. Нужно только передать один параметр -o loop чтобы сообщить системе, что монтировать мы собираемся на петлевое устройство (loopback ). Если делать это надо много и часто, можно воспользоваться программой GmountISO

mount -t iso9660 file.iso /mnt/dvd -o loop

То есть монтируем файл file.iso типа iso9660 в точку монтирования /mnt/dvd на петлевое устройство loop

Отмонтирование по команде.

А теперь о проблемы, которая присуща всем Debian дистрибутивам (Ubuntu в том числе).

Если ресурсы примонтированы вышеуказанным методом, то при перезагрузке или выключении системы, можно будет увидеть такое сообщение:

1.CIFS VFS: No Response for Cmd mid

Это связано с тем, что сначало отключаются все службы(S20sendsigs), а затем делается попытка отмонтировать сетевые ресурсы(S31umountnfs.sh). Но службы то уже отключены. С данной проблемой столкнулся еще с Ubuntu 8.04. В Ubuntu 9.04 она осталась.

Для ее устранения необходимо отредактировать уровни запуска, а именно rc0 и rc6. Для этого выполняем команды:

cd /etc/rc0.d

Те же действия необходмо проделать и в каталоге rc6.d

cd /etc/rc6.d
sudo mv S31umountnfs.sh S19umountnfs.sh

Теперь при выключении или перезагрузке системы, сначало отмонтируются сетевые ресурсы, а затем отключаются службы.

mount

Материал из Википедии — свободной энциклопедии

Использование

mount /dev/cdrom /mnt/cdrom Устройство /dev/cdrom монтируется в каталог /mnt/cdrom , если он существует. Начиная от момента монтирования и пока пользователь не отмонтирует файловую систему (или туда не будет смонтировано что-то иное) в каталоге /mnt/cdrom будет содержаться дерево каталогов устройства /dev/cdrom ; те файлы, и подкаталоги, которые раньше находились в /mnt/cdrom , сохранятся, но будут недоступны до размонтирования устройства /dev/cdrom .

Размонтирование командой umount

Для размонтирования достаточно указать точку монтирования или имя устройства.
umount /dev/cdrom

Монтирование USB-дисков

Для распространённого случая, когда USB-диск имеет файловую систему FAT32 , команда монтирования выглядит так:
mount -t vfat -o codepage=866,iocharset=utf8 /dev/sda1 /mnt Параметр codepage необходим, чтобы имена созданных файлов корректно отображались в старых ОС (например, DOS). Если дистрибутив использует в качестве кодировки системной локали не UTF-8, то её необходимо указать в параметре iocharset так:
mount -t vfat -o codepage=866,iocharset=koi8-r /dev/sda1 /mnt Реально используемую кодировку можно определить выполнив команду locale .
Полезными опциями при монтировании Flash-дисков являются sync и flush . Первая приводит к постоянному сбросу на диск буфера записи, так что данные не теряются при отсоединении flash-диска без размонтирования. Побочный эффект такого монтирования — значительное уменьшение в скорости записи. Вторая опция (доступна только в новых ядрах Linux) ведёт к сбросу буфера на диск после записи последнего файла. Это также способствует сохранению данных в случае удаления диска без размонтирования, но не приводит к падению скорости записи.

Монтирование NTFS дисков/разделов

mount -t ntfs -o noatime,users,rw,fmask=111,dmask=000,locale=ru_RU.UTF-8 /dev/sda1 /mnt/win_xp

Монтирование образов дисков

Если имеется образ диска в виде iso-файла, то для его монтирования нужно указать параметр -o loop и, обычно, тип файловой системы -t iso9660 (необязательно) (file.iso — это имя файла образа, а /mnt/iso — точка монтирования):
mount -o loop -t iso9660 file.iso /mnt/iso Монтирование образов в форматах, отличных от iso потребует преобразования в iso-образ или использования эмулятора. Для преобразования можно использовать утилиты командой строки (см. ниже) или утилиту kiso с графическим интерфейсом. Монтирование образов дисков в Linux

Образы bin/cue

Для преобразования образа bin/cue в iso-образ можно воспользоваться конвертером bchunk:
bchunk image.bin image.cue image.iso

Монтирование сетевых дисков NFS

mount 172.22.2.1:/mnt/iso/ /mnt/iso/

Монтирование сетевых дисков SMB

Пример монтирования сетевых SMB-ресурсов:
mount -t smbfs -o username=user,password=pass //server/dir /mnt/localdir/ mount -t cifs -o username=user,password=pass //server/dir /mnt/localdir/ (Утилита smbfs заменилась в ядре linux на совместимую с ней cifs.) примечания:
  • "-t cifs" можно иногда не указывать, если имя монтируемого устойства вида "//server/dir"
mount //server/dir /mnt/localdir/ -o username=user,password=pass
  • если для авторизации необходимо указать доменное имя пользователя, то в параметрах команды mount оно указывается как "-o username=domain\\user", однако при указании монтируемого ресурса в /etc/fstab имя пользователя указывается как "domain/user":
//server/dir /mnt/localdir/ cifs user=domain/user,password=pass 0 0

Монтирование FTP серверов

curlftpfs -v -o iocharset=UTF-8 ftp://user:[email protected]/ /mnt/ftp

Монтирование каталога файловой системы с другого компьютера через ssh

Модуль ядра Fuse (был принят в официальную ветку ядра начиная с 2.6) позволяет непривилегированным пользователям монтировать различные файловые системы.
Для работы необходимо добавить пользователя в группу fuse, сделать это можно вот так:
usermod -G -a fuse user или
adduser user fuse или вручную отредактировав файл /etc/group. Ещё необходимо, чтобы загружен был модуль ядра fuse:
modprobe fuse После этого, можно смонтировать каталог другого компьютера с помощью sshfs :
sshfs user@udalenniy_server:/tmp ~/udalennaya_papka Для отмонтирования нужно ввести команду:
fusermount -u ~/udalennaya_papka

Параметры монтирования

В случае необходимости при выполнении команды mount можно указать дополнительные параметры монтирования.

-t Тип файловой системы

Обычно при монтировании определяется автоматически или берётся из файла конфигурации (см. ниже). Но в отдельных случаях нужно указывать тип файловой системы явно. Например при монтировании DVD диска с файловой системой UDF .
mount /dev/cdrom /mnt/dvd -t udf Если неправильно указать тип файловой системы, то команда mount выдаст сообщение об ошибке
mount: wrong fs type, bad option, bad superblock on /dev/cdrom, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so и посоветует посмотреть в конец файла системных сообщений.
Unable to identify CD-ROM format. В случае успешного монтирования обычно сообщается что компакт диск монтируется (по умолчанию) в режиме «только для чтения».
mount: block device /dev/cdrom is write-protected, mounting read-only

-o Атрибуты доступа

  • Доступ «только для чтения» (ro) или на «чтение и запись» (rw)
  • Разрешение или запрещение запуска программ (noexec)
Пример 1 (для образца, взято монтирование USB диска):
mount -t vfat -o rw,noexec,iocharset=utf8,codepage=866 /dev/sda1 /mnt/usb Пример 2 (для образца, взято монтирование ntfs раздела с установленной Windows XP):
mount -t ntfs -o noatime,users,rw,fmask=111,dmask=000,locale=ru_RU.UTF-8 /dev/sda1 /mnt/win_xp Пример 3 (перемонтировать устройство с доступом на «чтение и запись» (rw))
mount -o remount,rw /dev/sda2

mount --bind

Команда mount с ключом --bind или с коротким ключом -B применяется в системах на ядре Linux (начиная с 2.4.0) для создания синонима каталога в дереве файловой системы. К примеру, команда:
mount --bind /mnt/cdrom/Files /var/ftp/cdrom позволит обращаться к файлам из /mnt/cdrom/Files через путь /var/ftp/cdrom, где /var/ftp/cdrom — некий уже существующий (возможно, пустой) каталог (его настоящее содержимое будет недоступно до момента размонтирования). Можно также вместо отдельной опции --bind написать -o bind , что будет иметь аналогичное действие. Также это позволяет добавить правило в файл /etc/fstab для монтирования при старте системы:
/olddir /newdir none bind Преимуществом данного способа создания ссылок на каталоги над символьными ссылками является возможность обходить ограничения доступа к файловой системе, возникающие перед процессами, запущенными в среде chroot или серверами, применяющими принцип chroot. Например, FTP -сервер proftpd делает недоступными символьные ссылки, указывающие на файлы и каталоги вне определённого каталога. Действие команды mount --bind напоминает DOS-овский subst .

Список смонтированных файловых систем

При запуске команды mount без параметров выводится список смонтированных файловых систем:
/dev/md/5 on / type reiserfs (rw,noatime) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec) udev on /dev type tmpfs (rw,nosuid) devpts on /dev/pts type devpts (rw,nosuid,noexec) /dev/md/4 on /files type xfs (rw,noatime) /dev/sda3 on /mnt/a type ext3 (rw,noatime) /dev/sdd2 on /mnt/docs type reiserfs (rw,noatime) shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev) usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) nfsd on /proc/fs/nfs type nfsd (rw,noexec,nosuid,nodev) //ax2/i on /mnt/smb type smbfs (0) 172.22.2.1:/files on /mnt/files type nfs (rw,addr=172.22.2.1) В этом примере показывается много смонтированных файловых систем (ФС).
  • в первой строке сообщается, что в качестве корневой ФС выступает соответствующие строки. Примерное содержимое для этого файла:
    # # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. #/dev/BOOT /boot ext2 noauto,noatime 1 2 /dev/sda5 / reiserfs noatime 0 1 /dev/sda1 none swap sw 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0 # NOTE: The next line is critical for boot! proc /proc proc defaults 0 0 # glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for # POSIX shared memory (shm_open, shm_unlink). # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will # use almost no memory if not populated with files) shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 В дальнейшем можно будет указывать в команде mount только имя устройства или точку монтирования — все дополнительные параметры будут браться из файла конфигурации. Например, применительно к данной конфигурации, команда mount /mnt/cdrom будет эквивалентна выполнению команды
    mount /dev/cdrom /mnt/cdrom -t iso9660 -o noauto,ro Другое назначения файла конфигурации — автоматическое монтирование файловых систем при загрузке системы. Если не требуется монтировать определенные файловые системы, то для них в файле конфигурации нужно указать параметр noauto .

Рассмотрим как примонтировать жесткий диск в Ubuntu. Для этого необходимо выполнить три действия:

  1. Создать раздел на жестком диске.
  2. Форматирование диска.
  3. Монтирование диска в системе.

Используем утилиту fdisk. Посмотреть список дисков подключенных к компьютеру можно командой:

Команда выводит текст приблизительно следующего содержания:

Диск /dev/sda: 21.5 ГБ, 21474836480 байт
255 heads, 63 sectors/track, 2610 cylinders



Disk identifier: 0x000bedde

Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 2497 20051968 83 Linux
/dev/sda2 2497 2611 916481 5 Расширенный
/dev/sda5 2497 2611 916480 82 Linux своп / Solaris

Диск /dev/sdb: 2147 МБ, 2147483648 байт
255 heads, 63 sectors/track, 261 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

На диске /dev/sdb отсутствует верная таблица разделов

У нас имеется два диска, sda и sdb. На sda уже имеются три раздела а sdb не размечен. Для создания разделов на sdb, выполним команду:

Будет предложено ввести `m` для справки, вводим и смотрим какие есть возможности по работе с диском

Действие команды
a переключение флага загрузки
b редактирование метки диска bsd
c переключение флага dos-совместимости
d удаление раздела
l список известных типов файловых систем
m вывод этого меню
n добавление нового раздела
o создание новой пустой таблицы разделов DOS
p вывод таблицы разделов
q выход без сохранения изменений
s создание новой чистой метки диска Sun
t изменение id системы раздела
u изменение единиц измерения экрана/содержимого
v проверка таблицы разделов
w запись таблицы разделов на диск и выход
x дополнительная функциональность (только для экспертов)

Вводим `n` то есть добавим новый раздел

Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)

Выбираем основной нажав `p`

Номер раздела (1-4):

Ставим номер раздела, без разницы какой, но для порядка лучше 1 (если он не занят конечно). Эта цифра означает как будет называться ваш диск sdb1 или sdb2 ну и т.д.

Первый цилиндр (1-261, по умолчанию 1):
Используется значение по умолчанию 1
Last цилиндр, +цилиндры or +size{K,M,G} (1-261, по умолчанию 261):
Используется значение по умолчанию 261

Команда (m для справки): w
Таблица разделов была изменена!

Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.

Раздел мы создали, теперь необходимо отформатировать его. Воспользуемся командой mkfs

Формат ее простой mkfs.файловая система устройство

Например нам необходимо отформатировать наш /dev/sdb1 в ext4 , для этого выполним следующую команду:

mkfs.ext4 /dev/sdb1

и ждем когда наш диск отформатируется.

Теперь собственно примонтируем наш диск. Выполним это с помощью команды mount

mount -t ext4 /dev/sdb1 /usr/data

-t ext4 - указываем файловую систему подключаемого диска

/dev/sdb1 - Собственно, сам раздел который мы подключаем

/usr/data - Точка монтирования место куда подключается наш раздел

Размонтировать диск можно командой umount указав диск

umount /dev/sdb1

Чтобы диск монтировался в системе автоматически после перезагрузки необходимо прописать его в файле /etc/fstab. Переходим на новую строчку и добавляем строку такого вида:
раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа. Например чтобы описать наш раздел /dev/sdb1 с файловой системой ext4 добавляем следующую строчку:

/dev/sdb1 /usr/data ext4 defaults 1 2

где, /dev/sdb1 - наш раздел, диск, устройство называйте его как хотите

/usr/data - точка монтирования, где будут файлы с нашего диска

ext4 - файловая система, на примонтированном диске

defaults - все опции по умолчанию. Читайте ниже их описание

1 2 - Вспомогательные числа, также читайте описание ниже

Таблица опций:

Опция Описание
defaults Использовать настройки по умолчанию. То есть такие: rw,suid,dev,exec,auto,nouser,async .
rw / ro Разрешено чтение и запись / Разрешено только чтение
suid / nosuid Разрешение / Блокировка работы suid, и sgid бит
dev / nodev Интерпретировать / не интерпретировать блок специальных устройств на файловой системе.
exec / noexec Разрешить выполнять двоичные файлы находящиеся на этом диске / Запретить
auto / noauto Устройство будет устанавливаться автоматически при загрузке / Не будет
nouser / user Запрещение монтирование от всех кроме root (nouser) / Разрешение монтировать от лица любого пользователя
async / sync Запись и чтение на диске будут производиться асинхронно / Синхронно

Вспомогательные числа.

С возвращением, мои хакеры!
Одной «непоняток» Linux , с которыми постоянно сталкиваются пользователи Windows , является концепция «монтирования» устройств и дисков. В мире Windows диски и устройства автоматически «монтируются» без каких-либо усилий со стороны пользователя и даже без осознания того, что это происходит. Ну, может быть, подозрения об этом закрадываются. Большинство пользователей Windows знают, как отсоединить флешку, прежде чем вынуть ее из компьютера, но обычно думают об этом процессе как об «извлечении».
Команда mount ведет свою историю с доисторической эпохи вычислительной техники (с 1970-х годов), когда компьютерные операторы физически монтировали ленточные накопители на бегемотоподобные компьютеры-гиганты, размером со спортзал. На этих накопителях хранили данные (поскольку жесткие диски пока еще не изобрели), и оператор должен был сказать машине, что он монтируют ленту, прежде чем ее можно было бы прочитать.

Windows обычно автоматически монтирует диски и устройства с поддержкой Plug and Play, поэтому пользователям не нужно задумываться об их монтировании. Каждому диску или устройству система присваивает буквенное обозначение его точки монтирования, например, C:, D:, E:, и т.д.
В более поздних дистрибутивах Linux часто поддерживается автоматическое монтирование, но настоящему администратору необходимо понимать процесс и знать команду mount , так как им когда-нибудь понадобится примонтировать устройство или диск, который не монтируется автоматически. Такая ситуация ежедневно встречается в работе любого рядового системного администратора Linux и особенно в работе следователей по киберпреступлениям или хакеров.

Шаг 1. Файловая структура

Помните, что у Linux единая древовидная структура для всей файловой системы (в отличие от Windows ) с корнем для каждого диска и устройства. Это означает, что все диски и устройства являются частью единого дерева файловой системы с «/» в самом верху. Любые другие диски должны быть примонтированы к этому дереву. Мы можем сделать это с помощью команды mount .


Когда мы монтируем устройство, мы помещаем его в какую-нибудь директорию, и оно становится частью дерева. Мы можем подключить любое устройство к ЛЮБОЙ директории, но когда мы это сделаем, каталог, в который примонтировано устройство, станет «закрыт» и недоступен для нас. Это означает, что мы не сможем получить доступ ни к одному из файлов в этой директории. Конечно, это не очень хорошо. Вот почему у нас есть специальные пустые директории для монтирования устройств. Их названия отличаются от одного дистрибутива Linux к другому, но обычно это или /mnt или /media.

Шаг 2. Команда mount

Давайте взглянем на команду mount . Введите в консоли:

Mount -h

Это выведет на экран справку по команде, как показано ниже:


На скриншоте выделена самая важная часть синтаксиса команды. В основном это:
mount -t <тип файловой системы> <расположение>
Команда mount в таком виде будет «монтировать» файловую систему определенного типа (-t) в указанном месте. Так, например, мы могли бы примонтировать cdrom в директорию /media, набрав:

Mount -t /dev/cdrom /media

Эта команда примонтирует cdrom в директорию /media в дереве файловой системы.
У нас также есть множество опций, которые можно использовать при монтировании устройств, включая:

rw - монтировать для чтения/записи

ro - монтировать только для чтения

user - разрешить любому пользователю монтировать устройства/диски

auto/noauto – будет ли файловая система автоматически монтировать устройство/диск

exec/noexec - разрешить или запретить выполнение бинарных (исполняемых) файлов на примонтированном устройстве

Можно посмотреть встроенное руководство (man) для команды mount , чтобы узнать все ее опции:

Man mount

Шаг 3. Настройка автомонтирования при помощи Fstab

Fstab - это «F ile s ystem tab le» (таблица файловой системы). В системе Linux это просто конфигурационный файл. Команда mount считывает fstab , чтобы определить, какие опции нужно использовать при монтировании какой-нибудь файловой системы. Таким образом, она автоматически определяет параметры подключения, когда мы монтируем устройство. Она просто читает запись в таблице fstab для данного устройства и применяет те параметры монтирования, которые там указаны.


Как видно на скриншоте выше, мы просто вывели на экран содержимое файла fstab при помощи команды cat:

Cat fstab

Таблица fstab состоит из шести (6) столбцов. Вот они:

Device (устройство) - UUID (Универсальный уникальный индентификатор)

Mount point (Точка монтирования) - директория, в которую мы хотим подключить устройство

Type (Тип) - тип файловой системы, например: ext2, ext3, swap, ISO9660 и т.д.

Options (Параметры) - это: rw (чтение/запись), auto, nouser, async, suid и т.l.

Dump (Дамп) - указывает, как часто делать резервное копирование этого диска

Pass - определяет параметр «pass», когда fsck должен проверять файловую систему.

Шаг 4. Размонтирование

Когда нам нужно размонтировать (отключить) диск или устройство, то команда, которую мы должны использовать - это umount . Обратите внимание на ее написание. Она называется umount , а не unmount .
Чтобы размонтировать наше устройство cdrom, которое мы примонтировали выше, вводим:

Umount /dev/cdrom

Вы не сможете отключить диск или устройство, которое в настоящее время используется системой.
Приходите еще за дополнительными уроками по хакерскому делу и по тем основам Linux , которые вам необходимо знать, чтобы взламывать как настоящий PRO.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то