Подключение сетевых SMB ресурсов в Linux

Установка необходимых пакетов

Для дальнейшей работы с нам потребуется пакет cifs-utils установить его можно следующей командой

yum install cifs-utils -y

Команда mount.cifs

mount -t cifs -o username=user,password=password,domain=domain_name //server/share /local/folder/path

username= имя пользователя, от имени которого производится монтирование.
password= пароль пользователя, от имени которого производится монтирование.
domain= имя домена, в котором находится пользователь.

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

Монтирование через fstab

Предыдущий метод подходит для разового монтирования шары или проверки настроек при настройке монтирования через fstab. Данный метод является более предпочтительным, т.к должен автоматически подключать сетевые ресурсы при перезагрузке сервера.
Для того чтобы подключить сетевые ресурсы данным способом необходимо отредактировать файл /etc/fstab дописав в него строку монтирования ресурса. Выглядеть строка может так:

//server/share /mount/folder cifs rw,username=user,password=pass,noauto,iocharset=cp1251,file_mode=0777,dir_mode=0777,user 0 0

Собственно по своей сути данная строчка является аналогом команды mount.cifs стоит так же обратить внимание, на то, что можно указать кодировку для имен файлов и папок смонтированного сетевого ресурса, чтобы не было проблем с русскими названиями iocharset=cp1251. Так же отмечу, что опция noauto должна восстанавливать смонтированный сетевой ресурс в том случае, если он «отвалился», но к нему обратились. так же здесь можно указать опции монтирования file_mode= и dir_mode= которые определят маску прав доступа к папке, в которую смонтирован сетевой ресурс.

Монтирование с использование credetials

Показанный выше способ монтирования не является безопасным, т.к любой пользователь сервера может прочитать файл /etc/fstab, в связи с чем рекомендуется использовать монтирование с помощью credentials.

credentials - это по сути текстовый файл содержащий в себе данные пользователя для подключения.


Доступ к такому файлу можно ограничить для других пользователей, чтобы они не могли узнать логин и пароль (в случае если злоумышленники получили доступ к рядовому пользователю linux. Файл можно расположить например в директории root либо ограничить к нему доступ только для текущего пользователя, чтобы не смогли прочесть другие. Выглядит файл следующим образом:

username=user
password=pass
domain=domain_name

Для ограничения доступа к нему только текущего пользователя можно использовать команду:

chmod 600 /path/to/file

Имя файла может быть произвольным. в таком случае строка монтирования в fstab будет выглядеть так:

//filesrv-2/linuxbackup   /backup         cifs    rw,credentials=/root/.smbcredentials,noauto,iocharset=cp1251,file_mode=0777,dir_mode=0777,user 0 0
Обратите внимание, что имя пользователя, пароль и имя домена более не указываются явно в файле.

Монтирование с помощью systemd unit

Данный способ монтирования является наиболее предпочтительным, т.к. при нем доступность сетевого ресурса проверяется автоматически и так же автоматически будет восстановлено подключение. Для того, чтобы воспользоваться данным методом необходимо создать 2 файла в /etc/systemd/system.

/etc/systemd/system/mnt-myshare.mount

Обратите внимание, что имя файла лучше всего создавать по аналогии с монтируемым ресурсом или папкой, в которую вы его монтируете. mnt-myshare служит только для примера
[Unit]
Description=Mount Share at boot
 
[Mount]
What=//server/share
Where=/mount/folder
Options=rw,credentials=/root/.smbcredentials,noauto,iocharset=cp1251
Type=cifs
TimeoutSec=30
 
[Install]
WantedBy=multi-user.target

/etc/systemd/system/mnt-myshare.automount

[Unit]
Description=Automount my-share
 
[Automount]
Where=/mount/folder
 
[Install]
WantedBy=multi-user.target
После создания файлов необходимо перезапустить демона командой:
systemctl daemon-reload

и включить в автозагрузку для автоматического монтирования ресурса при доступе к нему командой:

systemctl enable mnt-myshare.automount && systemctl start mnt-myshare.automount
main/linux/network-share.txt · Последнее изменение: 2024/10/28 08:48 — davlanas
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0