Ubuntu. Монтирование сетевой папки

05.01.2026

Теги: fstabLinuxmountSystemdUbuntuДиректорияКонфигурацияНастройкаУстановкаФайлФайловаяСистема

Монтирование сетевой папки — это процесс подключения удаленного ресурса (папки на другом компьютере или сервере) к локальной файловой системе так, чтобы операционная система видела его как обычный локальный диск или каталог. Это позволяет работать с сетевыми файлами точно так же, как с документами на своем жестком диске.

1. Установка пакета cifs-utils

Пакет есть в стандартных репозиториях Ubuntu

$ sudo apt update
$ sudo apt install cifs-utils

2. Создание точки монтирования

Это локальная директория, в которую будет смонтирована сетевая папка — как правило, внутри /mnt или /media.

$ sudo mkdir /mnt/winshare

3. Сбор необходимой информации

Для монтирования потребуется информация

  1. IP-адрес или имя Windows-компьютера — например, 192.168.1.100 или DESKTOP-PC
  2. Имя сетевой папки на Windows-компьютере — например, Documents или Public
  3. Логин и пароль — учетная запись пользователя Windows, у которого есть доступ к этой папке
  4. Домен (опционально) — если компьютер находится в домене Active Directory. Для обычных домашних сетей часто используется WORKGROUP.

4. Временное монтирование (для проверки)

Это самый простой способ, но он небезопасен, так как пароль будет виден в истории команд

$ sudo mount -t cifs -o username=evgeniy,password=qwerty //192.168.1.100/Documents /mnt/winshare

Чтобы предоставить права на папку текущему пользователю Linux — добавим опции uid и gid

$ sudo mount -t cifs -o username=evgeniy,password=qwerty,uid=$(id -u),gid=$(id -g) //192.168.1.100/Documents /mnt/winshare

После выполнения команды содержимое сетевой папки появится в /mnt/winshare.

5. Безопасное и постоянное монтирование

Чтобы не хранить пароль в открытом виде — нужно создать файл с логином и паролем

1. Создать файл для учетных данных

$ sudo nano /etc/win-user
username=ЛОГИН
password=ПАРОЛЬ
domain=WORKGROUP 

Заменить WORKGROUP на имя домена, если это необходимо.

2. Безопасные права на этот файл, чтобы его мог читать только root

$ sudo chmod 600 /etc/win-user

3. Автоматическое монтирование при загрузке системы

Открыть файл /etc/fstab для редактирования

$ sudo nano /etc/fstab

Добавить в конец файла следующую строку

//ip-address/folder /mnt/winshare cifs credentials=/etc/win-user,uid=1000,gid=1000,iocharset=utf8,_netdev 0 0

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

  • credentials=/etc/win-user — указывает путь к файлу с логином и паролем
  • uid=1000,gid=1000 — устанавливает владельцем файлов основного пользователя (обычно его ID=1000)
  • iocharset=utf8 — обеспечивает корректное отображение имен файлов с кириллицей
  • _netdev — это сетевое устройство, нужно монтировать только после того, как поднимется сеть

4. Проверить правильность монтирования без перезагрузки

Сначала размонтировать папку, если она была смонтирована ранее

$ sudo umount /mnt/winshare

Затем выполнить команду, которая использует файл /etc/fstab

$ sudo mount -a

Если команда выполнилась без ошибок — проверить содержимое папки /mnt/winshare. Теперь сетевая папка будет монтироваться автоматически при каждой загрузке системы.

6. Альтернатива — монтирование Systemd

В современных дистрибутивах Linux, Systemd является стандартной системой инициализации. Она предоставляет более гибкий и надежный механизм для управления точками монтирования, особенно для сетевых ресурсов. Для этого используются два типа юнитов — .mount и .automount.

  • .mount — описывает, что и куда монтировать, это прямой аналог строки в /etc/fstab. Монтирование происходит при загрузке системы (или при ручном запуске юнита).
  • .automount — описывает точку монтирования, которая будет активирована «по требованию». Папка не монтируется при загрузке, это произойдет только в момент обращения к этой папке. Через некоторое время бездействия папка будет автоматически размонтирована.

Этот подход (использование .automount) является предпочтительным для сетевых ресурсов, так как он не замедляет загрузку системы, если сеть недоступна, и более устойчив к временным сбоям сети.

1. Создание юнитов Systemd

Нужно создать два файла в директории /etc/systemd/system/. Имена файлов должны соответствовать пути к точке монтирования. Для папки /mnt/winshare имена будут mnt-winshare.mount и mnt-winshare.automount.

Создаем файл юнита mnt-winshare.mount

$ sudo nano /etc/systemd/system/mnt-winshare.mount
[Unit]
Description = Mount Windows Share
Requires = network-online.target
After = network-online.target

[Mount]
What = //192.168.1.100/Documents
Where = /mnt/winshare
Type = cifs
Options = credentials=/etc/win-user,uid=1000,gid=1000,iocharset=utf8,vers=3.0
DirectoryMode = 0755
FileMode = 0644

[Install]
WantedBy = multi-user.target
  • Директива After=network-online.target — современный и более надежный аналог опции _netdev. Юнит будет запущен только после того, как сеть станет полностью доступна.
  • Директива Options — задает те же опции монтирования, как в /etc/fstab. Опция vers=3.0 рекомендуется для подключения к современным версиям Windows.

Создаем файл юнита mnt-winshare.automount

$ sudo nano /etc/systemd/system/mnt-winshare.automount
[Unit]
Description = Automount Windows Share

[Automount]
Where = /mnt/winshare
TimeoutIdleSec = 300

[Install]
WantedBy = multi-user.target
  • Директива Where=/mnt/winshare указывает, за какой директорией нужно «следить».
  • Директива TimeoutIdleSec=300 указывает, что сетевая папка будет автоматически размонтирована после 300 секунд (5 минут) бездействия, это экономит ресурсы.

2. Назначение юнитов Systemd

Юнит .automount — это «слушатель» или «диспетчер», его задача — следить за точкой монтирования (папкой /mnt/winshare). Когда происходит обращение к этой папке, он активирует соответствующий .mount юнит.

Юнит .mount — это «исполнитель», он содержит все инструкции о том, что и как монтировать. Этот юнит не запускается сам по себе, ему нужен сигнал от юнита .automount о необходимости выполнить монтирование.

Добавлять в автозагрузку (systemctl enable) нужно только .automount юнит. При добавлении в автозагрузку юнита .mount — теряется смысл существования юнита .automount.

Systemd устроен так, что при активации mnt-winshare.automount он будет знать, что для выполнения работы ему нужно запустить mnt-winshare.mount. Эта связь устанавливается автоматически по совпадению имен.

3. Монтирование по требованию

Перезагрузить конфигурацию Systemd

$ sudo systemctl daemon-reload

Включить и запустить .automount юнит

$ sudo systemctl enable --now mnt-winshare.automount
  • enable — добавляет юнит в автозагрузку
  • --now — запускает немедленно, без перезагрузки

Теперь, при выполнении команды ls /mnt/winshareSystemd перехватит это обращение, автоматически запустит mnt-winshare.mount и покажет содержимое сетевой папки. Если не трогать эту папку 5 минут — она будет размонтирована.

7. Сравнение /etc/fstab и Systemd

Для монтирования локальных дисков /etc/fstab остается простым и удобным решением. Однако для сетевых файловых систем, особенно на ноутбуках или при нестабильном соединении, использование связки mount + automount юнитов Systemd является более современным, гибким и надежным подходом.

Поиск: cifs-utils • fstab • Linux • mount • Systemd • Ubuntu • Настройка • Установка • Файловая система

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.