```sh sudo apt install cifs-utils -y # Монтирование ресурса выглядит так: mount.cifs {ресурс} {путь к директории в которую монтируем } # Автоматическое монтирование директории происходит с использованием файла fstab. Для начала создадим дополнительный файл с учетными данными пользователя для авторизации. Оправданно будет создать этот файл в директории root. sudo vim /root/.smbselus # вносим в файл: username = vlapa password = uspass sudo vim /etc/fstab # добавляем: //10.10.10.2/что_монтируем /куда_монтирем cifs user,rw,crdentials=/root/.smbselus 0 0 # ======= cifs user 一 разрешает монтировать любому пользователю; rw 一 предоставляет права на чтение и запись; credentials=/root/.smbselus 一 файл с учетными данными пользователя; _0_ используется утилитой dump 0 一 выключен; _0_ используется утилитой fsck 0 一 выключен. В некоторых случаях требуется добавить директиву domain в файл .smbselus. #================ # Настройка сетевой корзны: sudo mkdir /var/recycle sudo chmod 777 /var/recycle sudo vim /etc/samba/smb.conf [Recycle] comment = rec_dir path = /var/recycle public = yes browseable = yes writable = yes vfs objects = recycle recycle:repository = .recycle/%U recycle:keeptree = Yes recycle:touch = Yes recycle:version = Yes recycle:maxsize = *.tmp, ~$* recycle:exclude_dir = /tmp #============== [Recycle] 一 имя ресурса, отображаемое клиенту при подключении                                                                       comment = rec_dir 一 комментарий path = /var/recycle 一 директория, в которой размещена сетевая корзина public = yes 一 доступ на чтение всем авторизованным пользователям, также гостевым  browseable = yes 一 параметр устанавливает, будет ли общий ресурс отображаться в списке доступных общих ресурсов в сетевом окружении и в списке просмотра writable = yes 一 право записи в сетевой ресурс vfs objects = recycle 一 использование подсистемы recycle recycle:repository = .recycle/%U 一 место хранения удаленных объектов. В этой директиве настроено попадание удаленных файлов в каталог с именем пользователя, который создается автоматически в директории .recycle recycle:keeptree = Yes 一 удаление с сохранением дерева каталогов recycle:touch = Yes 一 изменение даты при перемещении файла в сетевую корзину recycle:versions = Yes 一 добавление номера версии при удалении файлов с одинаковыми именами recycle:maxsize = 0 一 параметр отвечает за максимальный размер файла, который может быть перемещен в корзину. При текущем значении возможно переместить файл любого размера recycle:exclude = *.tmp, ~$*  一 исключение файлов заданного типа recycle:exclude_dir = /tmp 一 исключение директории заданного типа ``` # Как в Linux монтировать шару CIFS  ![Обновлено](https://www.dmosk.ru/img/public/time.jpg "Дата обновления") Обновлено: 19.06.2024  ![Опубликовано](https://www.dmosk.ru/img/public/time.jpg "Дата публикации") Опубликовано: 18.07.2016 Работа с общими папками Windows происходит с использованием протокола CIFS (SMB). Все примеры в данном руководстве выполняются на Linux Ubuntu и CentOS. ### Установка пакетов `apt install cifs-utils ### Сетевые порты Если мы будем монтировать сетевую папку, сервер которой находится за брандмауэром, необходимо открыть следующие порты: - 137/UDP - 138/UDP - 139/TCP - 445/TCP ## Синтаксис `mount.cifs <папка на сервере> <во что монтируем> <-o опции> _* вместо **mount.cifs** можно написать **mount -t cifs**._ Пример: `mount.cifs //192.168.1.1/public /mnt _* простой пример монтирования папки **public** на сервере **192.168.1.1** в локальный каталог **/mnt**._ `apt install samba-client `smbclient -L 192.168.1.1 или, при необходимости авторизоваться на файловом сервере:> `smbclient -L 192.168.1.1 -U username ## Ручное монтирование Теперь монтирование можно выполнить следующей командой: `mount.cifs //192.168.1.10/share /mnt -o user=dmosk _* в данном примере будет примонтирован каталог **share** на сервере **192.168.1.10** в локальную папку **/mnt** под учетной записью **dmosk**._ То же самое, с использованием домена: `mount.cifs //192.168.1.10/share /mnt -o user=dmosk,domain=dmosk.local ## Автоматическое монтирование CIFS через fstab Для начала создаем файл, в котором будем хранить данные авторизации при подключении к общей папке: vim /root/.smbclient И добавляем в него данные следующего вида: ```sh username=dmosk password=dPassw0rd domain=dmosk.local ``` _* в этом примере создана пара логин/пароль — **dmosk**/**dPassw0rd**;_ **domain** указывать не обязательно, если аутентификация выполняется без него. Задаем права на созданный файл, чтобы доступ был только у пользователя, скажем, root: `chmod 600 /root/.smbclient `chown root:root /root/.smbclient Теперь открываем конфигурационный файл fstab: `vim /etc/fstab и добавляем в него следующее: `//192.168.1.10/share /mnt cifs user,rw,credentials=/root/.smbclient 0 0 _* в данном примере выполняется монтирование общей папки **share** на сервере с IP-адресом **192.168.1.10** в каталог **/mnt**. Параметры для подключения — **user**: позволяет выполнить монтирование любому пользователю, **rw**: с правом на чтение и запись, **credentials**: файл, который мы создали на предыдущем шаге._ Чтобы проверить правильность настроек, вводим следующую команду: `mount -a ## Примеры использования опций ### Версии SMB Если на стороне Windows используется старая или слишком новая версия протокола SMB, при попытке монтирования мы можем получить ошибку **mount error(112): Host is down**. Чтобы это исправить, указываем версию: `mount.cifs //192.168.1.10/share /mnt/ -o vers=1.0 _* монтирование по протоколу SMB1.0_ ### Монтирование от гостевой учетной записи Если сервер принимает запросы без логина и пароля, то клиент подключается, как гость: `mount.cifs //192.168.1.10/share /mnt -o guest или в fstab: `//192.168.1.10/share    /mnt    cifs    guest    0 0 Для монтирования шары Windows, иногда, недостаточно указать опцию **guest**. Нужно делать так: `mount.cifs //192.168.1.10/share /mnt -o user=guest,pass='' Или в fstab: `//192.168.1.10/share    /mnt    cifs    guest,pass    0 0 ### Права на примонтированные каталоги При монтировании папки мы можем указать определенные права: `mount.cifs //192.168.1.10/share /mnt -o file_mode=0777,dir_mode=0777 Для указания владельца, который будет назначен для примонтированного каталога, используем:  `mount.cifs //192.168.1.10/share /mnt -o uid=33,gid=33 _* чтобы посмотреть идентификаторы пользователя, вводим **id -u <имя пользователя>** и **id -g <имя группы>**._