- Как в Linux монтировать шару CIFS
- Подготовка
- Установка пакетов
- Сетевые порты
- Синтаксис
- Ручное монтирование
- Автоматическое монтирование CIFS через fstab
- Примеры использования опций
- Версии SMB
- Монтирование от гостевой учетной записи
- Права на примонтированные каталоги
- Как смонтировать общий ресурс Windows в Linux с помощью CIFS
- Установка пакетов утилит CIFS
- Монтирование общего ресурса CIFS Windows
- Автоматический монтаж
- Отключение общего ресурса Windows
- Выводы
- Как монтировать общие папки Windows в системах Linux
- How to Mount Windows Share on Linux using CIFS
- В этом руководстве мы расскажем, как вручную и автоматически монтировать общие папки Windows в системах Linux.
- Установка пакетов утилит CIFS
- Монтирование CIFS Windows Share
- Авто монтаж
- Размонтирование Windows Share
- Вывод
- Как добавлять записи в /etc/fstab. Как использовать /etc/fstab для хранения опций монтирования
- Для чего нужен файл /etc/fstab
- Из чего состоят записи в /etc/fstab
- Пример файла /etc/fstab с объяснением значений записей
- Как управлять опциями монтирования с помощью /etc/fstab
Как в Linux монтировать шару CIFS
Что такое Linux и CIFS простыми словами.
Работа с общими папками Windows происходит с использованием протокола CIFS (SMB). Все примеры в данном руководстве выполняются на Linux Ubuntu и CentOS.
Подготовка
Установка пакетов
Для монтирования общей папки необходимо установить набор утилит для работы с CIFS.
yum install cifs-utils
apt-get install cifs-utils
Сетевые порты
Если мы будем монтировать сетевую папку, сервер которой находится за брандмауэром, необходимо открыть следующие порты:
Синтаксис
* вместо mount.cifs можно написать mount -t cifs.
mount.cifs //192.168.1.1/public /mnt
* простой пример монтирования папки public на сервере 192.168.1.1 в локальный каталог /mnt.
Ручное монтирование
Теперь монтирование можно выполнить следующей командой:
mount.cifs //192.168.1.10/share /mnt -o user=dmosk
* в данном примере будет примонтирован каталог share на сервере 192.168.1.10 в локальную папку /mnt под учетной записью dmosk.
То же самое, с использованием домена:
mount.cifs //192.168.1.10/share /mnt -o user=dmosk,domain=dmosk.local
Автоматическое монтирование CIFS через fstab
Для начала создаем файл, в котором будем хранить данные авторизации при подключении к общей папке:
И добавляем в него данные следующего вида:
username=dmosk
password=dPassw0rd
domain=dmosk.local
* в этом примере создана пара логин/пароль — dmosk/dPassw0rd; domain указывать не обязательно, если аутентификация выполняется без него.
Теперь открываем конфигурационный файл fstab:
и добавляем в него следующее:
//192.168.1.10/share /mnt cifs user,rw,credentials=/root/.smbclient 0 0
* в данном примере выполняется монтирование общей папки share на сервере с IP-адресом 192.168.1.10 в каталог /mnt. Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, credentials: файл, который мы создали на предыдущем шаге.
Чтобы проверить правильность настроек, вводим следующую команду:
Примеры использования опций
Версии SMB
Если на стороне Windows используется старая или слишком новая версия протокола SMB, при попытке монтирования мы можем получить ошибку mount error(112): Host is down. Чтобы это исправить, указываем версию:
mount.cifs //192.168.1.10/share /mnt/ -o vers=1.0
* монтирование по протоколу SMB1.0
Монтирование от гостевой учетной записи
Если сервер принимает запросы без логина и пароля, то клиент подключается, как гость:
mount.cifs //192.168.1.10/share /mnt -o guest
//192.168.1.10/share /mnt cifs guest 0 0
Права на примонтированные каталоги
При монтировании папки мы можем указать определенные права:
Как смонтировать общий ресурс Windows в Linux с помощью CIFS
В операционных системах Linux и UNIX общий ресурс Windows можно cifs к определенной точке монтирования в локальном дереве каталогов с cifs опции cifs команды mount .
Common Internet File System (CIFS) — это сетевой протокол обмена файлами. CIFS — это форма SMB.
В этом руководстве мы объясним, как вручную и автоматически монтировать общие ресурсы Windows в системах Linux.
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
Установка утилит CIFS в Ubuntu и Debian:
Установка утилит CIFS на CentOS и Fedora:
Имя пакета может отличаться в зависимости от дистрибутива Linux.
Монтирование общего ресурса CIFS Windows
Подключение удаленного общего ресурса Windows аналогично монтированию обычных файловых систем.
Сначала создайте каталог, который будет точкой монтирования для удаленного общего ресурса Windows:
Выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo, чтобы смонтировать общий ресурс:
Вам будет предложено ввести пароль:
В случае успеха вывод не производится.
Чтобы убедиться, что удаленный общий ресурс Windows успешно смонтирован, используйте команду mount или df -h .
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы. Вы можете работать с удаленными файлами, как если бы они были локальными.
Пароль также можно указать в командной строке:
Если пользователь находится в рабочей группе или домене Windows, вы можете установить его следующим образом:
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит имя пользователя, пароль и домен общего ресурса.
Файл учетных данных имеет следующий формат:
Файл не должен быть доступен для чтения пользователям. Чтобы установить правильные разрешения и владение , запустите:
Чтобы использовать файл учетных данных, определите его следующим образом:
По умолчанию подключенный общий ресурс принадлежит пользователю root, а права доступа установлены на 777.
Используйте параметр dir_mode чтобы установить права file_mode к каталогу, и file_mode чтобы установить права file_mode к файлу:
Владение пользователем и группой по умолчанию можно изменить с помощью параметров uid и gid :
Чтобы установить дополнительные параметры , добавьте их в виде списка, разделенного запятыми, после параметра -o . Чтобы получить список всех параметров монтирования, введите в терминале man mount .
Автоматический монтаж
Когда общий ресурс монтируется вручную с помощью команды mount , он не сохраняется после перезагрузки.
Файл /etc/fstab содержит список записей, определяющих, где, как и какая файловая система будет монтироваться при запуске системы.
Чтобы автоматически монтировать общий ресурс Windows при запуске системы Linux, определите монтирование в /etc/fstab . Строка должна включать имя хоста или IP-адрес ПК с Windows, имя общего ресурса и точку монтирования на локальном компьютере.
Добавьте в файл следующую строку:
Выполните следующую команду, чтобы смонтировать общий ресурс:
Команда mount прочитает содержимое /etc/fstab и смонтирует общий ресурс.
В следующий раз, когда вы перезагрузите систему, общий ресурс Windows будет подключен автоматически.
Отключение общего ресурса Windows
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить смонтированный общий ресурс Windows, используйте команду umount за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:
Если для CIFS-монтирования есть запись в fstab , удалите ее.
Команда umount не сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте команду fuser :
Как только вы найдете процессы, вы можете остановить их с помощью команды kill и отключить общий ресурс.
Если у вас все еще есть проблемы с —lazy ресурса, используйте параметр -l ( —lazy ), который позволяет вам отключить занятую файловую систему, как только она больше не будет занята.
Выводы
В Linux вы можете cifs к Windows с помощью команды mount с опцией cifs .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как монтировать общие папки Windows в системах Linux
How to Mount Windows Share on Linux using CIFS
В этом руководстве мы расскажем, как вручную и автоматически монтировать общие папки Windows в системах Linux.
В операционных системах Linux и UNIX общий ресурс Windows можно смонтировать в определенной точке монтирования в дереве локальных каталогов, используя cifs параметр mount команды.
Общая файловая система Интернета (CIFS) — это сетевой протокол обмена файлами. CIFS является формой SMB.
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
Установка утилит CIFS в Ubuntu и Debian:
Установка утилит CIFS в CentOS и Fedora:
Имя пакета может отличаться в разных дистрибутивах Linux.
Монтирование CIFS Windows Share
Монтирование удаленного общего ресурса Windows аналогично монтированию обычных файловых систем.
Сначала создайте каталог, который будет служить точкой монтирования для удаленного общего ресурса Windows:
Запустите следующую команду как пользователь root или пользователь с правами sudo для монтирования общего ресурса:
Вам будет предложено ввести пароль:
В случае успеха не выводится.
Чтобы убедиться, что удаленный общий ресурс Windows успешно смонтирован, используйте команду mount или df -h .
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы. Вы можете работать с удаленными файлами, как если бы они были локальными файлами.
Пароль также можно указать в командной строке:
Если пользователь находится в рабочей группе или домене Windows, вы можете установить его следующим образом:
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит имя пользователя, пароль и домен общего ресурса.
Файл учетных данных имеет следующий формат:
Файл не должен быть доступен для чтения пользователям. Чтобы установить правильные разрешения и владельца , запустите:
Чтобы использовать файл учетных данных, определите его следующим образом:
По умолчанию подключенный общий ресурс принадлежит пользователю root, а разрешения установлены на 777.
Используйте dir_mode опцию, чтобы установить разрешение каталога и file_mode установить разрешение файла:
Пользователь по умолчанию и группа собственность могут быть изменены с uid и gid опциями:
Чтобы установить дополнительные параметры , добавьте их в виде списка через запятую после -o параметра. Чтобы получить список всех опций монтирования, введите man mount ваш терминал.
Авто монтаж
Когда общий ресурс монтируется вручную с помощью mount команды, он не сохраняется после перезагрузки.
/etc/fstab Файл содержит список записей , которые определяют , где , как и то , что файловая система будет смонтирована на старте системы.
Чтобы автоматически смонтировать общий ресурс Windows при запуске вашей системы Linux, определите монтирование в /etc/fstab файле. Строка должна содержать имя хоста или IP-адрес ПК с Windows, имя общего ресурса и точку монтирования на локальном компьютере.
Откройте /etc/fstab файл в текстовом редакторе :
Добавьте следующую строку в файл:
Выполните следующую команду для монтирования общего ресурса:
mount Команда, будет читать содержание /etc/fstab и установить долю.
При следующей перезагрузке системы общий ресурс Windows будет смонтирован автоматически.
Размонтирование Windows Share
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить подключенный общий ресурс Windows, используйте umount команду с указанием либо каталога, в котором он был подключен, либо удаленного общего ресурса:
Если в fstab файле CIFS есть запись в файле, удалите ее.
Команда umount не сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте fuser команду:
Найдя процессы, вы можете остановить их с помощью kill команды и размонтировать общий ресурс.
Если у вас по-прежнему возникают проблемы с размонтированием общего ресурса, используйте параметр -l ( —lazy ), который позволяет размонтировать занятую файловую систему, как только она больше не будет занята.
Вывод
В Linux вы можете смонтировать общий доступ к Windows, используя mount команду с cifs параметром.
Как добавлять записи в /etc/fstab. Как использовать /etc/fstab для хранения опций монтирования
Для чего нужен файл /etc/fstab
При включении компьютера с Linux диски уже смонтированы в системе: главный диск смонтирован в / (корень), загрузочный диск смонтирован в /boot, дополнительные диски смонтированы в /mnt/*. Информация для этих монтирвоаний содержится в файле /etc/fstab. Система автоматически монтирует диски на основании записей, содержащихся в файле /etc/fstab.
Файл fstab содержит описательную информацию о файловых системах, которые может монтировать система. fstab только читается программами, но не записывается; системный администратор обязан правильно создать и поддерживать этот файл. Порядок записей в fstab важен, потому что утилиты fsck, mount и umount последовательно выполняют итерацию через fstab, делая своё дело.
Каждая файловая система описывается в отдельной строке. Поля в каждой строке разделены табуляцией или пробелами. Строки, начинающиеся с символа «#«, являются комментариями. Пустые строки игнорируются.
Ниже приведён типичный пример записи в fstab:
Из чего состоят записи в /etc/fstab
Первое поле (fs_spec).
Это поле описывает специальное блочное устройство, удалённую файловую систему или образ файловой системы для loop устройства, которое нужно смонтировать, или файл подкачки, или раздел подкачки, который нужно включить.
Для обычных монтирований он будет содержать (ссылку на) узел специального блочного устройства (созданный утилитой mknod) для монтируемого устройства, например, «/dev/cdrom» или «/dev/sdb7». Для монтирования NFS это поле — : , например, «knuth.aeb.nl:/». Для файловых систем без хранилища можно использовать любую строку, которая будет отображаться, например, в выводе df. Обычно для procfs используется «proc»; а для tmpfs используются «mem», «none» или «tmpfs». Другие специальные файловые системы, такие как udev и sysfs, обычно не указываются в fstab.
Вместо имени устройства можно указать LABEL= или UUID= . Это рекомендуемый метод, поскольку имена устройств часто совпадают с порядком обнаружения оборудования и могут измениться при добавлении или удалении других дисков. Например, «LABEL=Boot» или «UUID=3e6be9de-8139-11d1-9106-a43f08d823a6». (Используйте инструмент, специфичный для файловой системы, например e2label, xfs_admin или fatlabel, чтобы установить LABEL в файловых системах).
Также можно использовать ARTUUID= и PARTLABEL=. Эти идентификаторы разделов поддерживаются, например, для таблицы разделов GUID (GPT).
Чтобы узнать UUID всех дисков используйте любую из следующих команд:
Чтобы узнать UUID определённого диска, используйте любую из следующих команд:
Второе поле (fs_file).
Это поле описывает точку монтирования (цель) для файловой системы. Для разделов подкачки это поле должно быть указано как «none». Если имя точки монтирования содержит пробелы или табуляции, их можно использовать как «\040» и «\011» соответственно.
Третье поле (fs_vfstype).
Это поле описывает тип файловой системы. Linux поддерживает множество типов файловых систем: ext4, xfs, btrfs, f2fs, vfat, ntfs, hfsplus, tmpfs, sysfs, proc, iso9660, udf, squashfs, nfs, cifs и многие другие.
Запись подкачки в этом поле должна содержать «swap».
Запись «none» полезна для привязки или перемещения монтирований.
Можно указать несколько типов в списке, разделённом запятыми.
mount и umount поддерживают подтипы файловых систем. Подтип определяется суффиксом «.subtype». Например, «fuse.sshfs». Рекомендуется использовать нотацию подтипа, а не добавлять префикс в первое поле fstab (например, «sshfs#example.com» является устаревшим).
Четвёртое поле (fs_mntops).
В этом поле описаны параметры монтирования, связанные с файловой системой.
Поле отформатировано как список параметров, разделённых запятыми. Оно содержит как минимум тип монтирования (ro или rw), а также любые дополнительные параметры, соответствующие типу файловой системы (включая параметры настройки производительности).
Основные параметры, не зависящие от файловой системы:
defaults
использовать параметры по умолчанию: rw, suid, dev, exec, auto, nouser и async.
noauto
не монтировать при использовании команды «mount -a» (например, во время загрузки)
позволяет монтировать указанному пользователю
позволяет монтировать указанному владельцу устройства
или x- для использования программами поддержки fstab
nofail
не сообщает об ошибках для этого устройства, если оно не существует.
Пятое поле (fs_freq).
Это поле используется dump, чтобы определить, какие файловые системы нужно выгрузить. По умолчанию, если не присутствует, — ноль (не выгружать).
Шестое поле (fs_passno).
Это поле используется fsck для определения порядка, в котором выполняется проверка файловых систем во время загрузки. Корневая файловая система должна быть указана с fs_passno равным 1.
Для других файловых систем значение fs_passno должно быть равно 2. Файловые системы на диске будут проверяться последовательно, но файловые системы на разных дисках будут проверяться одновременно, чтобы использовать параллелизм, доступный на оборудовании. По умолчанию нулевое значение (не использовать fsck), если оно отсутствует.
Пример файла /etc/fstab с объяснением значений записей
Рассмотрим пример реального файла /etc/fstab на моей системе:
Этот файл отчасти создан автоматически, отчасти дописан вручную.
Автоматическая часть была создана командой в соответствии с «Инструкцией по установке Arch Linux»:
Самая первая строка является комментарием и просто напоминает значение полей.
Затем строка «# /dev/nvme0n1p2» также является комментарием, она содержит удобное для восприятия имя диска, чтобы было проще ориентироваться, к какому диску относится последующая запись.
Следующая строка начинается с «UUID=01e4d4f5-698f-4dc2-987b-270499457f48» — это уникальный идентификатор диска. Вторым полем идёт «/», это означает, что диск смонтирован в корень файловой системы. Затем «ext4» указывает на тип файловой системы. Затем идут опции монтирования «rw,relatime». Затем идёт «0», означающий, что не нужно выгружать файловые системы. Последней идёт «1», означающая, что в случае возникновения проблем этот диск должен быть проверен первым.
Следующая строка вновь является комментарием, показывающим нам, к какому диску она относится «# /dev/nvme0n1p1».
Затем идёт идентификатор диска «UUID=7327-B4E4», обратите внимание, что он намного короче предыдущего — видимо, зависит от файловой системы. Затем идёт точка монтирования «/boot», то есть это загрузочный раздел, который монтируется в указанную папку. Далее тип файловой системы «vfat». Затем опции монтирования «rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro» — все опции монтирования будут рассмотрены в конце данной статьи, поэтому не будем на них останавливаться. Затем идёт «0», означающий, что не нужно выгружать файловые системы, затем идёт «2», означающая, что диск должен быть проверен вторым.
На этом заканчивается автоматически сгенерированная часть и начинается часть дописанная мною вручную.
После установки системы, второй внутренний диск мной был отформатирован в файловую систему ext4, у этого диска название /dev/sda и он смонтирован в директорию /mnt/disk_d с опциями «rw,relatime». Вместо имени диска /dev/sda можно указать его UUID — но это не критично.
Далее идёт закомментированная строка, подключающая файл подкачки «#/swapfile none swap defaults 0 0». Поскольку строка закомментированна, это означает, что файл подкачки не используется.
Про создание и удаление файлов подкачки смотрите статьи:
Как управлять опциями монтирования с помощью /etc/fstab
Помните, что при любом монтировании, даже если оно происходит не в начале запуска компьютера, а в любое другое время, программа mount сверяется с опциями из файла /etc/fstab. По этой причине можно прописать необходимые опции и точки монтирования в этом файл.
К примеру, у меня есть внешний USB диск, который при подключении к компьютеру по умолчанию монтируется в «/run/media/mial/Новый том».
Мне такое название точки монтирования не нравится, я хочу, чтобы именно этот диск монтировался в /mnt/disk_e (как на моём старом компьютере это был диск E:\).
В этом случае мне нужно отмонтировать диск и заново его монтировать примерно следующей командой:
Это ненужные действия, которые можно избежать, прописав опции монтирования и точку монтирования в файле fstab. Открываем этот файл для редактирования:
Мне необходимо узнать UUID данного диска (поскольку при подключении он иногда получает имя /dev/sdc1, иногда /dev/sdd1 или другие, например, если к компьютеру уже подключены другие диски или флешки). UUID диска можно узнать например так:
Теперь в файл /etc/fstab я добавляю следующие строки:
Первая из них — комментарий, который напомнит мне, к чему относится эта запись.
Затем идёт строка, с описанными выше полями. В первом поле я идентифицирую диск — я использую не его имя, а UUID, поскольку имя устройства может меняться. Затем указываю точку монтирвоания (/mnt/disk_e). Затем тип файловой системы (ntfs). Затем идут опции, обратите внимание, что ОБЯЗАТЕЛЬНО нужно добавить опцию nofail, иначе если этот диск не подключён к компьютеру во время загрузки, компьютер может вовсе не загрузиться из-за ошибки в файле /etc/fstab. Затем идут ещё две цифры необязательных полей (отмена выгрузки файловых систем и отмена проверки).
Теперь в любое время при подключении этого диска он будет автоматически смонтирован в /mnt/disk_e. Это можно проверить с помощью команды:
Примечание: вы можете обратить внимание, что опции монтирования из файла /etc/fstab и опции монтирования на скриншоте не совпадают. Дело в том, что программа mount может использовать программы-помогатели, которые фактически и выполняют монтирования. При вызове программ-помогателей некоторые опции могут теряться или игнорироваться программой, которая в конечном счёте выполняет монтирование. По этой же причине, кстати, вместо файловой системы ntfs указана fuseblk — это означает, что работу по монтированию диска выполнила FUSE.
Ещё одним следствием описания монтирования в файле /etc/fstab является то, что для указанных там дисков можно использовать сокращённую команду монтирования — указывая только точку монтирования или только имя устройства, например:
Эта команда сработает как надо, смонтировав диск /dev/sdc1 в /mnt/disk_e — недостающие сведения и опции монтирования будут взяты из /etc/fstab.