Серверы, использующие пакет бесплатного программного обеспечения Samba, называются серверами Samba. Пакет под лицензией GNU используется для реализации протокола SMB, который дал этому пакету название, в дистрибутивах Linux и Unix. Протокол блока сообщений сервера (SMB), также известный как протокол общей файловой системы Интернета (CIFS) в развитой версии, изначально отвечал за файловые, печатные и другие серверные службы в операционных системах Microsoft Windows. Реализация поддерживает интеграцию компьютеров Windows и Linux или Unix в сеть, благодаря чему можно без проблем обмениваться файлами или использовать принтеры — полностью независимо от используемых операционных систем. Независимо от того, является ли это сервером Samba Unix или Linux, начиная с версии 4 программное обеспечение также взяло на себя роль контроллера домена Active Directory, что обеспечивает централизованную авторизацию и аутентификацию компьютеров и пользователей в сети.
Пакет серверов Samba состоит из ряда модулей, позволяющих настроить протокол SMB или CIFS. Следующие четыре демона (службы, работающие в фоновом режиме) образуют ядро:
- samba : демон, добавленный в версию 4, который выполняет роль контроллера домена Active Directory и настраивается через smb.conf.
- smbd : общий доступ к файлам и принтерам, настройка через smb.conf
- nmbd : отвечает за преобразование имен NetBIOS в IP-адреса, также можно настроить через файл smb.conf.
- winbindd : разрешает информацию о группах и пользователях, делает ее понятной для Unix/Linux и предлагает возможности самостоятельной настройки.
Настройка сервера Samba: как это работает
SMB/CIFS — это стандартный протокол для простого совместного использования сети в Windows. Однако обмен и выпуск файлов всегда становится проблематичным, если компьютеры с операционными системами Linux или Unix также являются частью сети. Настроив сервер Samba, который является посредником между отдельными конечными устройствами, вы решаете эти проблемы совместимости. Поскольку пакет Samba состоит из компонентов с открытым исходным кодом, дополнительных затрат не требуется. Ниже описаны шаги, необходимые для настройки сервера Linux Samba.
Шаг 1: Установка
Прежде всего, вы решаете, хотите ли вы действовать непосредственно на своем сервере или управлять им удаленно с клиента. После этого введите следующую команду, чтобы установить пакет Samba на сервер:
apt-get install samba
Шаг 2. Добавьте учетные записи пользователей в базу данных Samba.
После установки сервера Samba необходимо сначала активировать существующие учетные записи пользователей. Некоторые дистрибутивы Linux автоматически синхронизируют системные учетные записи пользователей, присутствующие в сети, и добавляют их в базу данных Samba — например, если уже установлен пакет libpam-smbpass, который синхронизирует пароли Linux и SMB. В противном случае вам необходимо управлять учетными записями пользователей вручную, чтобы соответствующие пользователи могли использовать соответствующие сетевые службы.
Управление учетными записями пользователей контролируется с помощью команды smbpasswd с четырьмя параметрами -a, -x, -d и -e. Соответствующие командные строки выглядят следующим образом:
sudo smbpasswd -a BENUTZERNAME (PASSWORT) sudo smbpasswd -x BENUTZERNAME sudo smbpasswd -d BENUTZERNAME sudo smbpasswd -e BENUTZERNAME
Первая команда добавляет соответствующего пользователя в базу данных сервера Samba и разрешает ему совместное использование в сети. Пароль пользователя можно назначить или изменить непосредственно после имени пользователя. Он может совпадать с паролем Linux или отличаться от него. Вторая команда (-x) удаляет пользователя из базы данных, параметр -d деактивирует его, а -e повторно активирует. С помощью команды
gsudo service smbd reload
сервер перезагружает конфигурации, чтобы применить изменения.
Шаг 3. Настройте общий доступ к файлам
Общие релизы
Вы можете установить общие разрешения в файле конфигурации сервера Samba. В этом файле хранятся все административные ресурсы и общие свойства сервера. Сначала откройте файл с помощью следующей команды:
sudo gedit /etc/samba/smb.conf
Файл smb.conf содержит множество примеров с комментариями, которые обычно помечены решеткой (#) или точкой с запятой (;) и неактивны. Если вы хотите активировать такой пример, достаточно удалить специальный символ. Добавьте новые записи в конец файла, введя сначала в квадратных скобках общее имя, под которым общий ресурс доступен в сети. Путь к соответствующей папке или файлу следует во второй строке, за которой следуют следующие строки с параметрами, которые следует применить. Например, если вы хотите поделиться папкой с фотографиями, которая предоставляет доступ для записи для пользователей и доступ для гостей, запись в smb.conf будет следующей:
[Fotos] path= /dokumente/fotos writeable = yes guest ok = yes
Чтобы применить изменения, вам необходимо перезагрузить Samba с помощью уже знакомой вам команды:
sudo service smbd reload
Personal releases
Чтобы настроить определенные общие ресурсы, соответствующий пользователь должен принадлежать к группе sambashare. Используйте следующую команду, чтобы добавить пользователей в эту группу:
sudo usermod -aG sambashare BENUTZERNAME
Членство в группе возникает, как только пользователь снова входит в систему или перезагружается Linux. Если он теперь настраивает общие ресурсы, они сохраняются не в smb.conf, а в отдельном текстовом файле — обычно в папке /var/lib/samba/usershares. Каждый из этих файлов включает имя общего ресурса и путь к нему, необязательный комментарий, список управления доступом к общему ресурсу пользователя (который определяет, доступен ли общий ресурс только для чтения или доступен для редактирования), а также параметр, указывающий, у кого есть доступ. Пример команды:
net usershare add Fotos /dokumente/fotos Urlaub 2015 Everyone: r, USER1: f
С помощью этой команды был опубликован общий доступ к папке с общим именем «Фото» по пути «/documents/photos» с комментарием «Праздник 2015». Все учетные записи пользователей сервера Samba могут читать файлы, USER1 имеет полные права и может также изменять их. Для проверки выпусков используются две команды:
net usershare list net usershare info
Первая команда выводит список всех общих ресурсов, используемых под соответствующим именем общего ресурса, а вторая также предлагает дополнительную информацию, такую как комментарии, разрешения и т. д. Если вы хотите внести изменения в общие ресурсы, вы всегда должны делать это через командную строку, а не в текстовом файле usershares. Удалить общий ресурс можно командой:
net usershare delete SHARENAME
Сервер Samba: Windows и Linux объединены в сеть
Если совместное использование принтеров и файлов в сети вызывает проблемы из-за различных операционных систем, использование сервера Samba или программного обеспечения Samba для клиентов является идеальным решением. Пакет бесплатного программного обеспечения реализует сетевой протокол SMB/CIFS в системах Unix и Linux, что делает их совместимыми с сетевыми дистрибутивами Windows. Сервер или клиент не имеет значения.
Сервер Linux Samba регулирует совместное использование файлов и служб в сети подобно серверу Windows — не в последнюю очередь благодаря способности (начиная с версии Samba 4) брать на себя роль контроллера домена Active Directory. Если вы хотите настроить сервер Samba и управлять им, вы можете сделать это удаленно, не выходя из своего персонального компьютера. У вас также есть выбор: работать напрямую с вводом командной строки или установить дополнительный графический интерфейс для упрощения работы.








