Как сделать общую папку в centos 7

Обновлено: 04.07.2024

один из спо­со­бов (про­то­кол) пере­да­чи дан­ных по сети с одно­го устрой­ства на дру­гое. Самый рас­про­стра­нен­ный при­мер исполь­зо­ва­ния — сете­вой диск или сете­вая пап­ка для обще­го досту­па. CIFS (Common Internet File System) так­же назы­ва­ют SMB (Server Message Block) — по сути, это одно и тоже.

  1. SMB или CIFS
  2. SMB 2.0
  3. SMB 3.0

Для рабо­ты CIFS / SMB необ­хо­дим порт 445 — по нему предо­став­ля­ет­ся уда­лен­ный доступ к сете­вым ресур­сам. А так­же для раз­ре­ше­ния имен NetBios исполь­зу­ют­ся пор­ты 137, 138 ,139 — без них обра­ще­ние к ресур­су воз­мож­но толь­ко по IP-адресу.

В Windows кли­ент и сер­вер встро­е­ны в опе­ра­ци­он­ную систе­му. В Linux про­то­кол может быть реа­ли­зо­ван с помо­щью samba.

Подготовка

Для мон­ти­ро­ва­ния общей пап­ки необ­хо­ди­мо уста­но­вить набор ути­лит для рабо­ты с CIFS .

yum install cifs-utils

Синтаксис

* вме­сто mount.cifs мож­но напи­сать mount -t cifs.

mount.cifs //192.168.1.1/public /mnt

* про­стой при­мер мон­ти­ро­ва­ния пап­ки public на сер­ве­ре 192.168.1.1 в локаль­ный ката­лог /mnt.

Ручное монтирование

Теперь мон­ти­ро­ва­ние мож­но выпол­нить сле­ду­ю­щей командой:

mount.cifs //192.168.1.10/share /mnt -o user=andr

* в дан­ном при­ме­ре будет при­мон­ти­ро­ван ката­лог share на сер­ве­ре 192.168.1.10 в локаль­ную пап­ку /mnt под учет­ной запи­сью andr.

То же самое, с исполь­зо­ва­ни­ем домена:

mount.cifs //192.168.1.10/share /mnt -o user=andr,domain=andr.local

Автоматическое монтирование CIFS через fstab

Для нача­ла созда­ем файл, в кото­ром будем хра­нить дан­ные авто­ри­за­ции при под­клю­че­нии к общей папке:

vi /root/.smbclient

И добав­ля­ем в него дан­ные сле­ду­ю­ще­го вида:

username=andr
password=dPassw0rd
domain=andr.local

* в этом при­ме­ре созда­на пара логин/пароль — andr/dPassw0rd; domain ука­зы­вать не обя­за­тель­но, если аутен­ти­фи­ка­ция выпол­ня­ет­ся без него.

Теперь откры­ва­ем кон­фи­гу­ра­ци­он­ный файл fstab:

vi /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

Монтирование от гостевой учетной записи

Если сер­вер при­ни­ма­ет запро­сы без логи­на и паро­ля, то кли­ент под­клю­ча­ет­ся, как гость:

Разберёмся, как сконфигурировать samba на CentOS 7 с анонимными и защищёнными samba-серверами. Samba является пакетом программ с открытым исходным кодом, который позволяет уверенно обращаться к файлам и принтерам на ОС, работающих по протоколу SMB/CIFS. Samba находится в свободном доступе, в отличие от других программ SMB/CIFS, и совместим, допускает возможность взаимодействия сетей, включающих сервера под управлением Linux/Unix, так и клиентов, работающими на Windows.

1 Предварительные замечания

Внимание: В Windows домен рабочей станции должен совпадать с доменом в CentOS.

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

В нашем случае домен рабочей станции имеет значение HOME.

samba

Убедитесь, что рабочая группа будет иметь одинаковое имя как под Linux, так и под Windows.

Для того, чтобы сделать доступным компьютер под Windows, необходимо добавить IP-адрес вашего сервера в hosts.

В нашем случае введем следующее:

Затем просто сохраним данное изменение.

2 Анонимный доступ средствами samba

Сначала установим samba с возможностью анонимного доступа. Для установки samba выполните следующую команду:

Таким образом вы установите samba актуальной версии.

Для того, чтобы сконфигурировать samba потребуется отредактировать файл /etc/samba/smb.conf, перед редактированием следует сделать резервное копирование оригинального файла /etc/samba/smb.conf.bak

Открываем для редактирования файл:

Почти всё готово, перезапускаемся:

На данном этапе сетевой экран CentOS 7.0 заблокирует доступ службы samba, чтобы решить эту проблему, выполним следующее:

Настроить сетевой экран по всем правилам поможет специальная статья.

Win+R

Теперь вы можете обмениваться файлами Centos 7.0 с windows, для этого в командной строке Win+R необходимо выполнить \\centos:

Далее необходимо проверить права доступа для общего документа.

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

Далее нам потребуется разрешение selinux для конфигурации samba:

Теперь анонимный пользователь может создавать и просматривать cодержимое.

Можно выполнить встречную проверку следующим образом:

3. Защищённый samba-сервер

Создадим группу smbgrp и пользователя dve для доступа к samba-серверу с необходимой аутентификацией:

Создадим папку secured в /samba и предоставим соответствующие права доступа:

Теперь нам снова понадобится разрешение Selinux:

Снова редактируем файл конфигурации /etc/samba/smb.conf:

Далее потребуется перезапуск

Теперь проверяем настройки хитрой командой testparm

Вы снова столкнётесь с проблемой прав доступа. Для получения прав доступа пользователя dve выполним:

Откройте конфигурационныый файл smb.conf.

В Linux он расположен в папке /etc/samba. Во FreeBSD — /usr/local/etc, к тому же, во FreeBSD если Samba 4-й версии, конфигурационный файл называется smb4.conf.

У меня Samba 4 на Linux CentOS

В открывшемся конфигурационном файле в секции [global] добавьте:

map to guest = Bad Password

Это позволит воспринимать неавторизованных пользователей, как гостей.

Теперь спуститесь в самый низ и добавьте следующее:

[shared]
comment = Public Folder
path = /share
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

  • [shared] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись на сетевой ресурс.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask,force create mode, force directory mode— при создании новой папки или файла назначаются полные права.

Убедитесь, что директория из параметра path существует. Если нет, создайте ее:

chmod 777 /share

* Первая команда создает каталог /share. Вторая — дает всем на него полные права.


Открываем файл /etc/fstab в текстовом редакторе и добавляем в конце файла строки:

У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.

Читайте также: