Монтирование CIFS
Периодически, при работе на Linux системах, требуется примонтировать расшаренную SMB-папку к файловой системе.
Для этой цели нам потребуется установленный пакет cifs-utils
, установленный командой:
sudo apt-get install cifs-utils ntfs-3g ntfs-confiп
sudo yum install cifs-utils ntfs-3g ntfs-confi
Что нужно чтобы монтировать расшаренные папки вручную. Потребуется создать путь куда будем монтировать SMB-папку, пусть это, к примеру, будет /mnt/sharefolder
:
sudo mkdir /mnt/sharefolder
sudo mount -t cifs //192.168.80.10/share /mnt/sharefolder -o username=windowsuser,password=windowspass,iocharset=utf8,file_mode=0777,dir_mode=0777
//192.168.80.10/share
– ip-адрес и имя необходимой общей папки (если имя расшаренной папки содержит пробел, то необходимо заключить весь путь в кавычки, как это показано в следующем примере)/mnt/sharefolder
– путь куда будет монтироваться ресурс,windowsuser
– имя пользователя с необходимыми правами доступа к этому ресурсу Windows,windowspass
– пароль этого пользователя.
Если необходимая папка не требует обязательной авторизации, то подключить ресурс можно такой командой:
sudo mount -t cifs "//192.168.0.11/общие документы" /media/sharefolder -o guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
sudo mount -t cifs //192.168.0.11/общие /media/sharefolder -o guest,iocharset=utf8
/mnt/sharefolder
).Отмонтируется папка командой:
sudo umount /mnt/sharefolder
sudo nano /root/.smbcredentials
username=windowsuser
password=windowspass
Измените права созданного файла так, что редактировать и смотреть его смог только root, то есть сама система:
sudo chmod 700 /root/.smbcredentials
sudo nano /etc/fstab
//192.168.0.11/share /media/sharefolder cifs credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
/etc/fstab
добавить строку:
//192.168.0.11/общие\040документы /media/sharefolder cifs guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
\040
И, соответственно, если требуется только лишь гостевой доступ в режиме чтения к windows-папке, то будет достаточно такой строки:
//192.168.0.11/общие /media/sharefolder cifs guest,iocharset=utf8 0 0
sudo mount -a
sudo apt-get install winbind
sudo yum install samba-winbind
После этого отредактируйте файл /etc/nsswitch.conf:
sudo nano /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
перед dns добавьте wins, то есть после редактирования она должна выглядеть вот так:
hosts: files mdns4_minimal [NOTFOUND=return] wins dns mdns4
После перезагрузки для получения доступа к windows-ресурсу через CIFS можно будет указывать не только ip, но и сетевое имя windows-ресурса (netbios name). Но мы все же рекомендую использовать непосредственно ip-адрес, т.к. к нему обращение идет напрямую, быстрее.
Также стоит отметить, что таким образом можно монтировать только конкретные общие папки (например: //192.168.0.11/share
), но не весь windows-ресурс целиком (то есть просто: //192.168.0.11
).