summaryrefslogtreecommitdiff
path: root/LINUX/CIFS.md
diff options
context:
space:
mode:
Diffstat (limited to 'LINUX/CIFS.md')
-rw-r--r--LINUX/CIFS.md189
1 files changed, 189 insertions, 0 deletions
diff --git a/LINUX/CIFS.md b/LINUX/CIFS.md
new file mode 100644
index 0000000..163bff7
--- /dev/null
+++ b/LINUX/CIFS.md
@@ -0,0 +1,189 @@
+```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 <имя группы>**._ \ No newline at end of file