Найти в Дзене
Евгений Дергунов

Настройка файлового сервера (samba) на FreeBSD-сервере

В предыдущей статье было показано как подключить дополнительный диск к серверу с операционной системой FreeBSD. Samba - пакет программ, которые позволяют обращаться к текстовым файлам, сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. Предоставляет доступ к общим ресурсам в локальной сети, состоит из клиентской и серверной части. Как правило, клиентская часть устанавливается вместе с операционной системой. Перед установкой серверной части необходимо определить какая последняя версия пакета доступна (рисунок 1) pkg search samba В данном примере пакет имеет название samba419. Теперь необходимо выполнить установку пакета: pkg install samba419 Далее нужно создать конфигурационный файл службы в соответствующей директории: touch /usr/local/etc/smb4.conf Для создания группы используется команда: pw group add <Имя группы> В данном случае для создания группы smbgroup вводится команда: pw group add smbgroup Для того чтобы создать пользователя, необхо

В предыдущей статье было показано как подключить дополнительный диск к серверу с операционной системой FreeBSD.

Samba - пакет программ, которые позволяют обращаться к текстовым файлам, сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. Предоставляет доступ к общим ресурсам в локальной сети, состоит из клиентской и серверной части. Как правило, клиентская часть устанавливается вместе с операционной системой.

Перед установкой серверной части необходимо определить какая последняя версия пакета доступна (рисунок 1)

pkg search samba

Рисунок 1
Рисунок 1

В данном примере пакет имеет название samba419. Теперь необходимо выполнить установку пакета:

pkg install samba419

Далее нужно создать конфигурационный файл службы в соответствующей директории:

touch /usr/local/etc/smb4.conf

Для создания группы используется команда:

pw group add <Имя группы>

В данном случае для создания группы smbgroup вводится команда:

pw group add smbgroup

Для того чтобы создать пользователя, необходимо ввести команду типа:

pw useradd <Имя пользователя> -g <Имя группы> -m -s /usr/sbin/nologin

В данном случае имя группы: «smbgroup», а пользователей для этой группы будет три (имена пользователей: user01, user02, user03). К примеру, чтобы создать первого пользователя, нужно ввести команду (рисунок 2):

pw useradd user01 -g smbgroup -m -s /usr/sbin/nologin

Рисунок 2
Рисунок 2

Параметр -g <Имя группы> указывает в какую группу пользователь присоединится.

Параметр -m указывает на создание домашнего каталога для пользователя.

Параметр -s /usr/sbin/nologin устанавливает оболочку nologin, предотвращая возможность интерактивного входа в систему.

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

smbpasswd -a <Имя пользователя>

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

smbpasswd -a user01

После нужно ввести пароль и нажать на кнопку «Enter» (рисунок 3). Затем нужно пароль повторить. Обратите внимание, что пароль никакими символами не отображается.

Рисунок 3
Рисунок 3

Теперь будут созданы три каталога для общего доступа по сети. Для создания каталога используется команда:

mkdir <Путь каталога где именно создать>

В данном случае будет создано три папки (admin, install, share) в каталоге куда был смонтирован второй диск (рисунок 4). С помощью команды

ls -l /mnt/data1

можно посмотреть все папки и файлы, находящейся в /mnt/data1, а также права доступа к ним.

Рисунок 4
Рисунок 4

Полный доступ к созданным каталогам только у суперпользователю (root). Для изменения прав доступа вводится команда:

chown nobody:nogroup <Полный путь к папке или файлу>

Также необходимо изменить доступ к самой директории, где находятся три созданные папки (admin, install, share). Для этого необходимо ввести следующую команду (рисунок 5)

chmod -R 777 <Полный путь к директории>

Снова вводится команда для проверки прав доступа

Рисунок 5
Рисунок 5

Параметр chmod 777 даёт права на чтение, запись и выполнение владельцу файла, группе и всем остальным пользователям.

Параметр -R позволяет изменить права на все файлы в каталоге и его подкаталогах.

Далее следует настроить конфигурационный файл smb4.conf. Для этого его нужно открыть при помощи текстового редактора:

nano /usr/local/etc/smb4.conf

На рисунке 6 показаны параметры для секции GLOBAL, которая отвечает за общие настройки сервера для всех ресурсов.

Рисунок 6
Рисунок 6

В параметре available вводится «Yes», чтобы служба Samba была доступна для использования.

В параметре browseable вводится «Yes», чтобы папки было виднов сетевом окружении.

В параметре writable вводится «Yes», чтобы разрешать запись в сетевую папку.

В параметре guest ok вводится «No», чтобы был запрет гостевого подключения к папке.

В параметре server string указывается имя samba-сервера.

Далее вводится конфигурация для каждой из трех каталогов. На рисунке 7 показаны параметры для каждой папки (admin, install, share).

Рисунок 7
Рисунок 7

В параметре path вводится полный путь к каталогу.

Параметр read list определяет список пользователей, которые должны иметь доступ только для чтения;

Параметр write list вводим определяет список пользователей, которые должны иметь доступ для чтения и записи.

В параметре valid users указывается список пользователей, которым будет разрешено подключаться к каталогу.

Таким образом к каталогу admin могут подключаться только два пользователя user01 и user02. При этом первый можно вносить изменения в содержимое каталога, второй только просматривать содержимое каталога.

К каталогу install могут подключаться все три пользователя. При этом два первых могут вносить изменения, а третий только просматривать содержимое каталога.

Соответственно к каталогу share все три пользователя имеют полный доступ.

В реальных условиях количество пользователей, общих каталогов может быть значительно больше. При помощи конфигурационного файла можно выдавать определенные права доступа к определенным ресурсам.

Теперь необходимо добавить службу Samba в конфигурационный файл rc.conf, чтобы при каждой загрузке сервера FreeBSD запускалась службу Samba. Открывается конфигурационный файл:

nano /etc/rc.conf

И добавляется следующая строка: samba_server_enable="YES" (рисунок 8).

Рисунок 8
Рисунок 8

Для запуска службы Samba вводится команда (рисунок 9):

service samba_server start

Рисунок 9
Рисунок 9

Проверка работоспособности файлового сервера осуществляется с рабочих станций. На компьютере с операционной системой Windows10 нужно зайти в файловый проводник, выбрать блок Сеть и в адресной строке ввести (рисунок 10)

\\<IP-адрес сервера>\

и нажать кнопку «Enter»/

Рисунок 10
Рисунок 10

Появится новое окно «Безопасность Windows». Необходимо ввести логин и пароль пользователя (рисунок 11). После нажать на кнопку «Ок». В данном случае вход осуществляется под пользователем user02.

Рисунок 11
Рисунок 11

После входа в сетевом окружении будут показаны папки, которые были созданы на сервере FreeBSD (рисунок 12).

Рисунок 12
Рисунок 12

На рисунке 13 показано, что пользователь user02 не может ничего создать в папке admin, как и прописано в конфигурационном файле smb4.conf.

Рисунок 13
Рисунок 13

На рисунке 14 показано, что пользователь user02 имеет возможность создания папки в каталоге install, что и указано в конфигурационном файле smb4.conf.

Рисунок 14
Рисунок 14

На рисунке 15 видно, что пользователь user02 имеет возможность чтения и записи к папке share, как определено в конфигурационном файле smb4.conf.

Рисунок 15
Рисунок 15

Для проверки работоспособности файлового сервера с рабочей станции с операционной системы xUbuntu, необходимо зайти в «Домашний каталог» и на панели «Сеть» нажать на блок «Обзор сети». Далее в адресной строке ввести

«smb://<IP-адрес сервера>/

и нажать клавишу «Enter» (рисунок 16).

Рисунок 16
Рисунок 16

После этого можно попытаться открыть любую папку. Далее появится новое окно. Необходимо ввести логин и пароль пользователя (рисунок 17). и нажать на кнопку «Подключиться». В данном случае вход осуществляется из-под пользователя user03.

Рисунок 17
Рисунок 17

Далее можно убедиться, что следуя настройкам, прописанным в конфигурационном файле smb4.conf пользователь user03 не сможет открыть каталог admin, может просматривать содержимое каталога install, но не может там ничего создать (рисунок 18), а в каталоге share сможет не только просматривать содержимое, но и создавать папки и файлы (рисунок 19).

Рисунок 18
Рисунок 18
Рисунок 19
Рисунок 19