четверг, 17 марта 2016 г.

Монтирование Samba-ресурсов в Linux (Ubuntu)

Часто бывает нужно смонтировать виндовый расшаренный ресурс на линуксовый сервер с использованием конкретного пользователя и пароля (как сетевой диск в Windows).

Обычный smbclient не всегда подходит, поэтому, в таком случае нам поможет cifs.

Примеры ниже.

Для начала нужно установить пакет cifs-utils:

$ sudo apt-get install cifs-utils
Теперь монтируем ресурсы командой:

$ sudo mount -t cifs //192.168.0.60/shara /mnt/smb/ -o user=IvanovAA

или чуть более расширенный вариант:

$ sudo mount -t cifs -o username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777 //network/resource /mount/point
Где «user» и «passwd» — имя пользователя и пароль для подключения к расшаренному ресурсу, а  «//network/resource» и «/mount/point» — сетевой путь и точка монтирования соответственно.

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

//192.168.0.1/backup   /backup cifs username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777   0       0
Что бы не хранить имя пользователя и пароль в открытом виде в файле fstab, можно записать эти параметры в файл и ограничить права на его чтение:

$ sudo touch /root/.smbcredentials
$ sudo chmod 600 /root/.smbcredentials
$ sudo echo "username=user" >> /root/.smbcredentials
$ sudo echo "password=passwd" >> /root/.smbcredentials
Где «user» и «passwd» конечно же ваши логин и пароль для подключения к сетевому ресурсу.

После этого в файл /etc/fstab вместо строки:

//192.168.0.1/backup   /backup         cifs            username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777   0       0
пишем:

//192.168.0.1/backup   /backup         cifs            credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777   0       0