Сервер Samba: решение для кроссплатформенной сети

Что такое сервер Samba?

Сервер Samba — это сервер, который поддерживается пакетом свободного программного обеспечения Samba. С помощью дистрибутивов Linux и Unix лицензированный пакет GNU способен реализовать протоколы SMB (одноименный пакет). Протокол server message block (SMB), также известный как common internet file system (CIFS), изначально использовался для файловых, печатных и других служб операционных систем Microsoft Windows. Серверы Samba поддерживают интеграционные системы Windows, Linux и Unix, что позволяет обмениваться файлами или использовать принтеры на любой операционной системе. С момента выпуска версии 4 серверы Samba для Unix и Linux взяли на себя роль контроллеров домена Active Directory, которые позволяют осуществлять централизованную авторизацию и аутентификацию как компьютеров, так и пользователей.
Серверы Samba состоят из нескольких модулей, позволяющих настраивать протоколы SMB или CIFS. В основе сервера Samba лежат следующие четыре демона (системы, работающие в фоновом режиме):

  • samba: этот демон был добавлен в версии 4 и обеспечивает работу контроллеров домена Active Directory. Он настраивается в файле smb.conf.
  • smbd: он обеспечивает совместное использование файлов и принтеров и настраивается в файле smb.conf.
  • mbd: отвечает за преобразование имен NetBIOS в IP-адреса и также может быть настроен в файле smb.conf.
  • winbindd: winbindd разрешает информацию о группах и пользователях, делая ее понятной для систем Unix и Linux. Он предлагает автономные возможности настройки.

Как установить сервер Samba

SMB/CIFS — это стандартный протокол для несложного совместного использования сети в системах Windows. Однако когда в сеть входят компьютеры с операционными системами Linux или Unix, обмен и совместное использование файлов становится более сложной задачей. Установка сервера Samba, который соединяет отдельные устройства, решает эти проблемы совместимости. Поскольку пакет Samba состоит из компонентов с открытым исходным кодом, дополнительных затрат не требуется. В следующих шагах описано, как установить сервер Samba в Linux.

Шаг 1: установка

Сначала решите, будет ли работа осуществляться непосредственно на сервере или с клиента через удаленный доступ. Затем введите следующую команду для установки пакета Samba на сервер:

apt-get install samba

Шаг 2: создание учетной записи пользователя для базы данных Samba

После установки сервера Samba необходимо активировать учетную запись пользователя. Некоторые дистрибутивы Linux автоматически синхронизируют учетные записи пользователей в сети и добавляют базу данных Samba. Если пакет libpam-smbpass уже установлен на сервере, пароли Linux и SMB будут синхронизированы. В противном случае все учетные записи должны быть созданы вручную, чтобы пользователи могли получить доступ к соответствующим сетевым службам. 

Учетную запись можно создать с помощью команды smbpasswd с четырьмя параметрами -a, -x, -d и -e. Соответствующие командные строки будут выглядеть следующим образом:

sudo smbpasswd -a USERNAME (PASSWORD)
sudo smbpasswd -x USERNAME
sudo smbpasswd -d USERNAME
sudo smbpasswd -e USERNAME

Первая команда добавляет пользователя в базу данных сервера Samba и включает общий доступ к сети. Сразу после имени пользователя пользователь может скрытно установить или изменить пароль. Он может быть идентичным или отличаться от пароля Linux. Вторая команда (-x) удаляет пользователя из базы данных, параметр -d деактивирует учетную запись, а -e вновь активирует ее. Команда

sudo service smbd reload

перезагружает конфигурацию сервера, чтобы принять новые изменения.

Шаг 3: настройка общего доступа к файлам

Глобальные настройки

Глобальные настройки могут быть заданы в конфигурационном файле сервера Samba. Здесь сохраняются разрешения на ресурсы и глобальные свойства сервера. Файл открывается с помощью следующей команды:

sudo gedit /etc/samba/smb.conf

Файл smb.conf содержит множество закомментированных примеров, которые обозначаются либо хэшем (#), либо точкой с запятой (;) и являются неактивными. Если вы захотите активировать один из этих примеров, просто удалите дополнительный символ. Новые записи могут быть вставлены в конец файла. Сначала укажите в квадратных скобках глобальное имя, под которым доступен разделяемый ресурс. Следующие строки описывают путь к соответствующей папке или файлу, а также применимые параметры. Например, чтобы открыть общий доступ к папке с фотографиями, разрешив пользователю доступ на запись, а также доступ гостевого пользователя, необходима запись в smb.conf:

[Photos]
path= /documents/photos
writeable = yes
guest ok = yes

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

sudo service smbd reload

Совместное использование пользователями

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

sudo usermod -aG sambashare USERNAME

Повторите вход или перезапустите Linux для подтверждения членства в группе. Если пользователь настраивает общие ресурсы, они больше не будут сохраняться в файле smb.conf; скорее, теперь они будут находиться в отдельном текстовом файле, обычно /var/lib/samba/usershares. Все эти файлы включают имя общего ресурса и путь утверждения, необязательный комментарий, ACL пользовательского ресурса (который указывает, можно ли редактировать общую папку или она доступна только для чтения), а также параметр, показывающий, кто имеет доступ к файлу. Например:  

net usershare add Photos /documents/photos ‘holiday 2015’ Everyone: r, USER1: f

Эта команда позволяет открыть общий доступ к папке с общим именем ‘Photos’ по пути ‘/documents/photos’ и комментарием ‘holiday 2015’. Все учетные записи пользователей сервера Samba могут читать папку. USER1 имеет полные права и может изменять настройки. Для проверки папки можно использовать следующую команду:

net usershare list
net usershare info

Первая команда перечисляет все папки общего доступа под соответствующим sharename, а вторая дает подробную информацию, такую как комментарии, права и т.д. Если пользователь хочет внести изменения в папку, значения всегда следует вводить в командной строке, а не в текстовом файле usershares. Утверждения могут быть удалены с помощью команды:

net usershare delete SHARENAME

Сервер Samba: Windows и Linux, объединенные в одну сеть

При совместном использовании принтеров и файлов в одной сети сервер Samba и клиентское программное обеспечение Samba обеспечивают элегантное решение проблем, вызванных различными операционными системами. Этот пакет свободного программного обеспечения реализует сетевой протокол SMB/CIFS в системах Unix и Linux и тем самым делает их совместимыми с дистрибутивами Windows в сети — как серверами, так и клиентами.

Отчасти благодаря своей новой роли контроллера домена Active Directory сервер Samba в Linux управляет совместным использованием данных и сервисов в сети, как и серверы Windows. Те, кто хочет установить сервер Samba, могут легко сделать это со своего персонального компьютера через удаленный доступ. У пользователей также есть выбор: работать непосредственно в командной строке или для простоты установить графический интерфейс

Оцените статью
cdelat.ru
Добавить комментарий