В предыдущей статье было показано как подключить дополнительный диск к серверу с операционной системой 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
Для того чтобы создать пользователя, необходимо ввести команду типа:
pw useradd <Имя пользователя> -g <Имя группы> -m -s /usr/sbin/nologin
В данном случае имя группы: «smbgroup», а пользователей для этой группы будет три (имена пользователей: user01, user02, user03). К примеру, чтобы создать первого пользователя, нужно ввести команду (рисунок 2):
pw useradd user01 -g smbgroup -m -s /usr/sbin/nologin
Параметр -g <Имя группы> указывает в какую группу пользователь присоединится.
Параметр -m указывает на создание домашнего каталога для пользователя.
Параметр -s /usr/sbin/nologin устанавливает оболочку nologin, предотвращая возможность интерактивного входа в систему.
Для того чтобы создать пароль пользователю, необходимо ввести команду:
smbpasswd -a <Имя пользователя>
К примеру, чтобы создать пароль первому пользователю, вводится команда:
smbpasswd -a user01
После нужно ввести пароль и нажать на кнопку «Enter» (рисунок 3). Затем нужно пароль повторить. Обратите внимание, что пароль никакими символами не отображается.
Теперь будут созданы три каталога для общего доступа по сети. Для создания каталога используется команда:
mkdir <Путь каталога где именно создать>
В данном случае будет создано три папки (admin, install, share) в каталоге куда был смонтирован второй диск (рисунок 4). С помощью команды
ls -l /mnt/data1
можно посмотреть все папки и файлы, находящейся в /mnt/data1, а также права доступа к ним.
Полный доступ к созданным каталогам только у суперпользователю (root). Для изменения прав доступа вводится команда:
chown nobody:nogroup <Полный путь к папке или файлу>
Также необходимо изменить доступ к самой директории, где находятся три созданные папки (admin, install, share). Для этого необходимо ввести следующую команду (рисунок 5)
chmod -R 777 <Полный путь к директории>
Снова вводится команда для проверки прав доступа
Параметр chmod 777 даёт права на чтение, запись и выполнение владельцу файла, группе и всем остальным пользователям.
Параметр -R позволяет изменить права на все файлы в каталоге и его подкаталогах.
Далее следует настроить конфигурационный файл smb4.conf. Для этого его нужно открыть при помощи текстового редактора:
nano /usr/local/etc/smb4.conf
На рисунке 6 показаны параметры для секции GLOBAL, которая отвечает за общие настройки сервера для всех ресурсов.
В параметре available вводится «Yes», чтобы служба Samba была доступна для использования.
В параметре browseable вводится «Yes», чтобы папки было виднов сетевом окружении.
В параметре writable вводится «Yes», чтобы разрешать запись в сетевую папку.
В параметре guest ok вводится «No», чтобы был запрет гостевого подключения к папке.
В параметре server string указывается имя samba-сервера.
Далее вводится конфигурация для каждой из трех каталогов. На рисунке 7 показаны параметры для каждой папки (admin, install, share).
В параметре 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).
Для запуска службы Samba вводится команда (рисунок 9):
service samba_server start
Проверка работоспособности файлового сервера осуществляется с рабочих станций. На компьютере с операционной системой Windows10 нужно зайти в файловый проводник, выбрать блок Сеть и в адресной строке ввести (рисунок 10)
\\<IP-адрес сервера>\
и нажать кнопку «Enter»/
Появится новое окно «Безопасность Windows». Необходимо ввести логин и пароль пользователя (рисунок 11). После нажать на кнопку «Ок». В данном случае вход осуществляется под пользователем user02.
После входа в сетевом окружении будут показаны папки, которые были созданы на сервере FreeBSD (рисунок 12).
На рисунке 13 показано, что пользователь user02 не может ничего создать в папке admin, как и прописано в конфигурационном файле smb4.conf.
На рисунке 14 показано, что пользователь user02 имеет возможность создания папки в каталоге install, что и указано в конфигурационном файле smb4.conf.
На рисунке 15 видно, что пользователь user02 имеет возможность чтения и записи к папке share, как определено в конфигурационном файле smb4.conf.
Для проверки работоспособности файлового сервера с рабочей станции с операционной системы xUbuntu, необходимо зайти в «Домашний каталог» и на панели «Сеть» нажать на блок «Обзор сети». Далее в адресной строке ввести
«smb://<IP-адрес сервера>/
и нажать клавишу «Enter» (рисунок 16).
После этого можно попытаться открыть любую папку. Далее появится новое окно. Необходимо ввести логин и пароль пользователя (рисунок 17). и нажать на кнопку «Подключиться». В данном случае вход осуществляется из-под пользователя user03.
Далее можно убедиться, что следуя настройкам, прописанным в конфигурационном файле smb4.conf пользователь user03 не сможет открыть каталог admin, может просматривать содержимое каталога install, но не может там ничего создать (рисунок 18), а в каталоге share сможет не только просматривать содержимое, но и создавать папки и файлы (рисунок 19).