- Подключение сетевых директорий с помощью fstab
- Монтирование сетевого диска в Linux из сетевых каталогов на примере shared папки Windows
- Монтирование сетевого диска из командной строки
- Монтирование сетевого диска указанного в /etc/fstab
- Монтирование сетевого диска из systemd
- Linux — монтируем шару CIFS
- Ссылки
- Установка пакета для работы CIFS
- Монтирование CIFS вручную
- Монтирование CIFS автоматически через fstab
- Дополнительно
- Теги
- Похожие материалы
- Установка VMware Tools на Ubuntu
- Олег
- Как настроить автоматическое монтирование дисков в Linux
- Монтирование по имени диска
- Монтирование по идентификатору
- Пример монтирования сетевого диска
Подключение сетевых директорий с помощью fstab
Для безопасности ограничим доступ к файлу с нашими данными:
2. Для подключения сетевой директории впишите в конец файла /etc/fstab её параметры.
Откройте его в текстовом редакторе
Синтаксис строки подключения для windows или samba ресурсов следующий.
/// cifs credentials=,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
При подключении используйте свои параметры.
В случае возникновения ошибки при монтировании общего ресурса, который находится на ПК с ОС Windows, нужно добавить в строку подключения следующий параметр:
//windows_pc/common /mnt/common/ cifs credentials=/root/.smbuser,vers=1.0,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
3. Создайте каталог, куда будет монтироваться папка и назначьте ей права.
# mkdir /mnt/common # chmod 777 /mnt/common
Для удобства, можете создать ярлык каталога на рабочем столе, для этого выполните нижеследующую команду, вписав имя своего пользователя.
ln -s /mnt/common/ /home//Рабочий\ стол/Общая
4. Выполните монтирование каталога
В некоторых случаях, при загрузке компьютера монтирование происходит быстрей получения ip адреса, тем самым, монтирования не происходит. Связано это с особенностями конфигурации сети. Для предотвращения подобных случаев, можно вписать команду монтирования в файл /etc/gdm/PreSession/Default. Тогда монтирование будет происходить при входе пользователей в систему.
Откройте файл /etc/gdm/PreSession/Default и впишите в конец строку монтирования, после неё переведите курсор на новую строку и сохраните.
# nano /etc/gdm/PreSession/Default … mount -a &
при подключении сетевой папки на windows server 2003 в опции монтирования надо дописать параметр vers=1.0, а так же логин и пароль не должны содержать кириллических символов
Дата последнего изменения: 16.06.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Монтирование сетевого диска в Linux из сетевых каталогов на примере shared папки Windows
В сети 2 машины. Одна из них винда с папкой shared-folder доступной по сети, вторая — Debian 10. Задача: расшарить на unix указанный каталог, сделав из него сетевой диск. Рассмотрим 3 способа:
- Монтирование сетевого диска из командной строки
- Монтирование сетевого диска указанного в /etc/fstab
- Монтирование сетевого диска из systemd
Все операции выполняем под root. В первую очередь в Linix создадим каталог куда будем монтировать /mnt/shared-folder и установим необходимые пакеты
mkdir /mnt/shared-folder apt install cifs-utils -y
Создадим файлик с паролем и логином к сетевому ресурсу и поставим на него нужные права от чужих глаз
echo -e "username=youusername\npassword=12345" > /etc/samba/passwd chmod 0600 /etc/samba/passwd
Монтирование сетевого диска из командной строки
mount -t cifs //192.168.56.1/share-folder /mnt/share-folder -o noexec,noperm,iocharset=utf8,credentials=/etc/samba/passwd mount && df umount /mnt/share-folder
Смонтировали — посмотрели что смонтировали — размонтировали
Монтирование сетевого диска указанного в /etc/fstab
В данном случае после ребута наш сетевой диск будет монтирован автоматически. Открываем /etc/fstab
//192.168.56.1/share-folder /mnt/share-folder cifs noexec,noperm,iocharset=utf8,credentials=/etc/samba/passwd 0 0
Монтируем — смотрим — размонтируем:
mount /mnt/share-folder mount && df umount /mnt/share-folder
Смонтировано. Пока оставим смонтированным и перейдем к следующему способу.
Монтирование сетевого диска из systemd
Посмотрим на этот файлик в каталоге /run/systemd/generator/
cat /run/systemd/generator/mnt-share\\x2dfolder.mount
Этот юнит нам автоматически сгенерировал systemd-fstab-generator из указанного нами в /etc/fstab
# Automatically generated by systemd-fstab-generator [Unit] SourcePath=/etc/fstab Documentation=man:fstab(5) man:systemd-fstab-generator(8) Before=remote-fs.target [Mount] What=//192.168.56.1/share-folder Where=/mnt/share-folder Type=cifs Options=noexec,noperm,iocharset=utf8,credentials=/etc/samba/passwd
cp "/run/systemd/generator/mnt-share\x2dfolder.mount" "/lib/systemd/system/mnt-share\x2dfolder.mount"
Обратите внимание, что переименовывать юнит файл нельзя, генератор нам добавил хренов бекслеш и закодировал дефис в имени, что вызовет неказистость в будущих командах systemctl, но ничего не поделать. Единственный выход — использовать другое имя для каталога монтирования /mnt/share-folder Поэтому в командах либо заключаем имя в кавычки, либо беслешим бекслеш как тут:
cp /run/systemd/generator/mnt-share\\x2dfolder.mount /lib/systemd/system/mnt-share\\x2dfolder.mount
Открываем юнит и редактируем:
nano /lib/systemd/system/mnt-share\\x2dfolder.mount
[Install] WantedBy=remote-fs.target
chmod 0600 /lib/systemd/system/mnt-share\\x2dfolder.mount
Не забываем размонтировать диск и отредактировать fstab убрав строку монтирования
umount /mnt/share-folder nano /etc/fstab
Перезагружаем конфиги systemctl
Готово, управляем сетевым диском из systemd
systemctl status mnt-share\\x2dfolder.mount systemctl is-enabled mnt-share\\x2dfolder.mount systemctl enable mnt-share\\x2dfolder.mount systemctl start mnt-share\\x2dfolder.mount systemctl stop mnt-share\\x2dfolder.mount systemctl disable mnt-share\\x2dfolder.mount
- Посмотрели статус
- Проверили включена ли автозагрузка(монтирование при загрузке)
- Включили автозагрузку(монтирование при загрузке)
- Смонтировали сетевой диск
- Размонтировали сетевой диск
- Отключили автозагрузку(монтирование при загрузке)
Linux — монтируем шару CIFS
CIFS (Common Internet File System) — протокол передачи данных по сети с одного устройства на другое. CIFS также называют SMB (Server Message Block). Пример: сетевая папка или диск для общего доступа.
Для работы CIFS/SMB необходимы порты:
Для предоставления удалённого доступа используется TCP 445. Для разрешения имен NetBios используются порты UDP 137, 138 и TCP 139, без них будет работать только обращение по IP адресу.
В Windows поддержка CIFS/SMB есть по умолчанию. В Linux CIFS/SMB реализуется с помощью samba.
Ссылки
Установка пакета для работы CIFS
Монтирование CIFS вручную
mount.cifs или mount -t cifs
Пример монтирования общей папки public на сервере с IP адресом 10.20.30.40 в локальную папку /mnt:
mount.cifs //10.20.30.40/public /mnt
Пример монтирования папки share на сервере с IP адресом 10.20.30.40 в локальную папку /mnt от имени пользователя v.pupkin:
mount.cifs //10.20.30.40/share /mnt -o user=v.pupkin
Пример монтирования папки share на сервере с IP адресом 10.20.30.40 в локальную папку /mnt от имени пользователя v.pupkin в домене ilab.local:
mount.cifs //10.20.30.40/share /mnt -o user=v.pupkin,domain=ilab.local
Монтирование CIFS автоматически через fstab
Создаём файл для хранения логина и пароля. Лучше скрытый.
username=v.pupkin password=MySecretPassw0rd domain=ilab.local
Добавляем строку в /etc/fstab:
//10.20.30.40/share /mnt cifs user,rw,credentials=/root/.smbshare 0 0
- //10.20.30.40/share — путь к монтируемой папке
- /mnt — локальная папка для монтирования
- cifs — тип файловой системы
- user — позволяет монтировать любому пользователю
- rw — чтение/запись
- credentials — путь к файлу с логином и паролем для монтирования
- 0 — индикатор резервной копии (0 — не используется)
- 0 — порядок проверки раздела (0 — не проверять)
Монтируем перезагрузкой или командой:
Дополнительно
Монтирование CIFS с пробелом (заменяем пробел на \040):
//10.20.30.40/share\040with\040spaces /mnt cifs user,rw,credentials=/root/.smbshare 0 0
Монтировать от гостевой учётной записи:
//10.20.30.40/share /mnt cifs guest 0 0
Указать версию протокола SMB 3.0:
//10.20.30.40/share /mnt cifs user,rw,credentials=/root/.smbshare,vers=3.0 0 0
Монтировать под пользователем:
//10.20.30.40/share /mnt cifs defaults,uid=v.pupkin,gid=v.pupkin.group,rw,credentials=/root/.smbshare,vers=3.0 0 0
//10.20.30.40/share /mnt cifs defaults,uid=222,gid=222,rw,credentials=/root/.smbshare,vers=3.0,file_mode=0600,dir_mode=0700 0 0
Намекаем на виндовую шару:
//10.20.30.40/share /mnt cifs defaults,uid=222,gid=222,rw,credentials=/root/.smbshare,vers=3.0,file_mode=0600,dir_mode=0700,nounix 0 0
//fs.ilab.local/новая\040папка /mnt cifs defaults,uid=www-data,gid=www-data,rw,credentials=/root/.smbshare,vers=3.0,file_mode=0600,dir_mode=0700,nounix,codepage=cp1251,iocharset=utf8 0 0
Теги
Похожие материалы
Установка VMware Tools на Ubuntu
Олег
VMware Tools — бесплатный набор утилит для улучшения взаимодействия виртуальной машины и платформы VMware. В Интернете пишут про то, что от установки VMware Tools улучшается производительность виртуальной машины. В качестве примера указывают на то, что только в этом наборе утилит есть драйвера для сетевой карты vmxnet3. Не согласен, драйвера можно и отдельно поставить. В linux так и без этих драйверов сетевая карта работает нормально. А вот если у вас Windows Server — рекомендую vmxnet3, меньше глюков.
Как настроить автоматическое монтирование дисков в Linux
Обновлено: 09.02.2022 Опубликовано: 16.08.2016
Монтирование по имени диска
- /dev/sda1 — диск, который мы монтируем
- /db — каталог, в который монтируем диск
- xfs — файловая система
- defaults — стандартные опции. Полный их перечень можно посмотреть на Википеции.
- 0 0 — первый отключает создание резервных копий при помощи утилиты dump, второй отключает проверку диска.
Теперь создаем каталог, в который монтируем диск (в данном примере, /db):
И монтируем вручную диск, чтобы проверить правильность настроек fstab:
Должен появиться новый диск. Это можно проверить следующей командой
Монтирование по идентификатору
Данный способ не сильно отличается от монтирования по имени диска — вместо имени мы указываем идентификатор. Такой подход считается более надежным, так как при переподключении дисков к другим портам материнской платы может поменяться приоритет и, как следствие, имя устройства — это может привести к проблемам монтирования. UUID диска не меняется и поэтому, данная проблема при таком монтировании не страшна.
И так, смотрим идентификатор диска командой:
Мы получим ответ на подобие:
/dev/sdb: UUID=»3e53fc7e-a417-4fa5-b034-b227bea2474c» BLOCK_SIZE=»4096″ TYPE=»ext4″
/dev/sda1: UUID=»358f032e-3efb-42ab-b3ba-05ddc82fedfd» BLOCK_SIZE=»512″ TYPE=»xfs» PARTUUID=»0beca126-01″
* допустим, диск который мы хотим примонтировать — sda1. Его идентификатор 358f032e-3efb-42ab-b3ba-05ddc82fedfd.
Открываем на редактирование следующий файл:
и добавляем в него следующую строчку:
UUID=358f032e-3efb-42ab-b3ba-05ddc82fedfd /db xfs defaults 0 0
Монтирование можно проверить командой:
Пример монтирования сетевого диска
//192.168.0.1/network /mnt cifs user,rw,noauto,credentials=/root/.smbclient 0 0
* в данном примере выполняется монтировние общей папки network на сервере с IP-адресом 192.168.0.1 в каталог /mnt. В качестве сетевой файловой системы используется cifs (протокол SMB: сервер samba или общая папка Windows). Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, noauto: не монтировать автоматически при старте системы, credentials: файл, в котором написаны логин и пароль для подключения к общей папке.
Теперь создадим файл аутентификации (credentials):
и приведем его к следующему виду:
* username: имя пользоватля, password: пароль. Само собой, в вашем случае указываются свои данные.
Теперь вводим следующую команду:
Должна примонтироваться сетевая папка //192.168.0.1/network. Это можно проверить следующей командой: