Настройка самбы Centos 7

Обновлено: 04.07.2024

Чтобы обеспечить общий доступ к принтерам и файлам, Microsoft Windows использует средство, известное как SMB (блок сообщений сервера). Это же средство иногда называют NetBIOS или LanManager. Благодаря Эндрю Триджеллу и другим, системы Linux обеспечивают поддержку SMB через пакет, известный как Samba. Как и SMB, Samba позволяет вам:

  • Общий доступ к принтерам и файлам в системах Microsoft Windows, OS/2, Netware и Unix
  • Установите простой сервер имен для идентификации систем в вашей локальной сети.
  • Создавайте резервные копии файлов ПК в системе Linux и восстанавливайте их.
  • Управление пользователями и паролями

Samba доказала свою надежность и высокую производительность во многих организациях. Программный пакет Samba для Enterprise Linux представляет собой набор программ, реализующих протокол Server Message Block (обычно сокращенно SMB) для систем UNIX.

Установка Samba

В системе Enterprise Linux установите указанные ниже пакеты, чтобы начать работу с Samba. Вы можете загрузить/установить эти пакеты с сервера yum с помощью команды «yum install».

Чтобы установить эти пакеты:

Если вы используете установку Active Directory, установите также указанные ниже пакеты.

Ниже приведен список пакетов, которые будут установлены после установки вышеуказанных пакетов.

Настройка общего ресурса Samba

Конфигурация Samba обычно находится в файле /etc/samba/smb.conf, который содержит все параметры конфигурации, относящиеся к samba. Следуйте инструкциям ниже, чтобы настроить общий ресурс samba.

<р>1. Чтобы общий ресурс был доступен определенному пользователю, мы должны сначала создать пользователя (john) на сервере Linux, где также находится общий ресурс.

<р>2. Чтобы добавить пользователя Samba и установить пароль, используйте команду «smbpasswd» с параметром -a.

<р>3. Создайте каталог для общего доступа или вы можете использовать существующий каталог. Также установите полные права доступа к каталогу.

<р>4. Затем установите контексты SElinux для общего ресурса. Проверьте, можете ли вы создать файл в общей папке.

<р>5. Отредактируйте файл /etc/samba/smb.conf и добавьте настройки общего доступа.

Перезапустите службу Samba, чтобы вышеуказанные настройки вступили в силу.

Устранение неполадок

Чтобы выяснить проблему с общим ресурсом samba, попробуйте отключить службу iptables и отключить SELinux. Обязательно включите их снова после разрешения конфликта.


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

В этом руководстве описывается, как настроить базовый сервер samba в системе CentOS 7. Кроме того, эти шаги будут работать в операционных системах RHEL 7 и Scientific Linux 7.

Сценарий

В этом руководстве я буду использовать две системы, как описано ниже.

Сервер Samba:

Клиент Samba:

Установить Samba

Проверьте наличие существующего пакета samba, если он есть, с помощью следующих команд.

Если Samba установлена, удалите ее с помощью следующей команды:

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

1. Настроить анонимный общий ресурс с полным доступом

Теперь давайте создадим анонимный общий ресурс с полным доступом для пользователей. Любой может читать/писать в этом общем ресурсе.

Создайте каталог с именем «/samba/anonymous_share» и установите полное разрешение. Вы можете назвать эту акцию по своему вкусу.

Редактировать файл конфигурации Samba;

Найдите следующие директивы и внесите изменения, как показано ниже.

Запустите службы Samba и включите их автоматический запуск при каждой перезагрузке.

Проверьте конфигурацию сервера Samba

Мы можем проверить синтаксические ошибки конфигурации сервера Samba с помощью команды testparm.

Если все в порядке, можно идти.

Настройка брандмауэра

Разрешить порты сервера Samba по умолчанию через брандмауэр.

Перезапустите брандмауэр, чтобы применить изменения.

Конфигурация SELinux

Включите логическое значение samba_enable_home_dirs, если хотите предоставлять общий доступ к домашним каталогам через Samba.

Если вы создаете новый каталог, например новый каталог верхнего уровня, пометьте его samba_share_t, чтобы SELinux разрешил Samba читать и записывать в него. Не помечайте системные каталоги, такие как /etc/ и /home/, с помощью samba_share_t, так как такие каталоги уже должны иметь метку SELinux.

В нашем случае мы уже создали анонимный каталог. Давайте назовем его, как показано ниже.

Если вы не хотите возиться с SELinux, просто отключите его, как показано ниже, и продолжайте.

Чтобы отключить SELinux, отредактируйте файл /etc/sysconfig/selinux,

Установите для параметра SELinux значение отключено.

Перезапустите сервер, чтобы изменения вступили в силу.

Протестировать общие ресурсы Samba

Теперь перейдите в любую клиентскую систему Windows. В этом примере я использую систему Windows 7.

Нажмите Пуск -> Выполнить. Введите IP-адрес сервера samba, как показано ниже.

Windows 7, 1 сетевая карта, мост, Интернет [Выполняется] - Oracle VM VirtualBox_001

Теперь вы сможете получить доступ к полностью доступным общим ресурсам samba.

Windows 7, 1 сетевая карта, мост, Интернет [Выполняется] - Oracle VM VirtualBox_002

Вы можете создавать, изменять или удалять файлы/папки внутри общих ресурсов. Например, позвольте мне создать тестовую папку с именем «unixmen» внутри общей папки samba.

Windows 7, 1 сетевая карта, мост, Интернет [Выполняется] - Oracle VM VirtualBox_003

Проверьте наличие вновь созданных файлов или папок на сервере samba

Как вы видите в результате, папка была создана в каталоге /samba/anonymous/.

2. Создать общий ресурс с поддержкой безопасности на сервере samba

До сих пор мы видели создание общего ресурса samba с полным доступом. Любой может получить доступ к этой общей папке и может создавать и удалять файлы и папки в этой общей папке.

Теперь давайте создадим общий ресурс samba, защищенный паролем, чтобы пользователи должны были вводить действительное имя пользователя и пароль для доступа к общей папке.

Создайте пользователя с именем «unixmen» и группу с именем «smbgroup».

Назначьте пользователя unixmen smbgroup и установите пароль samba для этого пользователя.

Создайте новый общий ресурс с именем «/samba/secure_share» и установите разрешения для этого общего ресурса.

Редактировать файл конфигурации Samba;

Добавьте приведенные ниже строки в конец файла конфигурации Samba.

Проверьте конфигурацию samba на наличие ошибок.

Пометьте /samba/secure_share/ samba_share_t, чтобы SELinux разрешил Samba читать и записывать в него.

Перезапустите службы Samba.

Протестировать общие ресурсы Samba

Теперь перейдите в клиент Windows и проверьте защищенную общую папку.

Windows 7, 1 сетевая карта, мост, Интернет [Выполняется] - Oracle VM VirtualBox_004

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

В сети клиент-сервер Linux предпочтительнее в качестве серверной операционной системы, а Microsoft Windows используется на большинстве клиентских компьютеров. Поэтому вам нужен способ обмена файлами между вашим сервером Linux и операционной системой Microsoft Windows. Наиболее распространенным способом обмена файлами между Linux и Windows является настройка Linux в качестве файлового сервера с использованием сервера Samba.

В этом руководстве мы узнаем, как установить и настроить сервер samba в CentOS 7. После завершения этого руководства вы сможете настроить сервер CentOS 7 в качестве файлового сервера с помощью samba и обмениваться файлами на CentOS Samba. Сервер с операционной системой Microsoft Windows.

В этом руководстве мы собираемся установить сервер samba на CentOS 7 и смонтировать общий ресурс Samba на компьютере с Windows 7. Ниже приведены шаги, которые мы собираемся выполнить.

Установите сервер Samba на CentOS 7

Samba не установлена ​​по умолчанию в CentOS 7, поэтому сервер samba был установлен с помощью команды yum install.

ням установить самбу

Установить сервер Samba на CentOS 7

После завершения установки запустите службы smb и nmb. Также включите запуск служб smb и nmb при перезагрузке системы.

systemctl запускает smb.service

systemctl запускает nmb.service

systemctl включает smb.service

systemctl включает nmb.service

Настройка брандмауэра CentOS 7

Настройте Firewalld, чтобы разрешить доступ к службе SMB на сервере CentOS Samba.

firewall-cmd –постоянный –add-service=samba

Создайте пользователя Samba и установите пароль

Нам потребуется имя пользователя и пароль для доступа к нашему общему ресурсу CentOS Samba с удаленного компьютера. Я собираюсь создать нового пользователя с именем «sambauser» (вы можете использовать любого существующего пользователя Linux).

useradd sambauser -s /sbin/nologin

Затем установите пароль samba для sambauser с помощью команды smbpasswd (мы не можем использовать стандартный пароль Linux для доступа к общему ресурсу samba с удаленного компьютера).

smbpasswd -пользователь самба

Создайте пользователя Samba и установите пароль в CentOS 7

Настройка общего ресурса Samba

Для этого урока я собираюсь создать новую папку с именем documents внутри каталога /var, чтобы поделиться ею с клиентами Windows. Вы можете использовать любую существующую папку на вашем сервере CentOS 7.

Сначала создайте папку документов с помощью команды mkdir.

mkdir -p /var/documents

Затем установите sambauser в качестве владельца папки /var/documents и предоставьте доступ для чтения/записи к этой папке.

chown sambauser /var/documents/

chmod 755 /var/documents/

Затем добавьте следующую конфигурацию в файл /etc/samba/smb.conf.

Сохраните файл /etc/samba/smb.conf и перезапустите сервер Samba CentOS.

systemctl перезапустить smb nmb

Настройка SeLinux для CentOS Samba Server

Вы можете пропустить следующий шаг, если вы отключили SeLinux на своем сервере CentOS 7, в противном случае сделайте следующее.

Добавьте папку /var/documents/ в политику Selinux с помощью команды semanage. Метка SeLinux папки /var/documents/ должна быть samba_share_t.

semanage fcontext -a -t samba_share_t '/var/documents(/.*)?'

restorecon -vvFR /var/documents

Вы должны заменить путь ‘/var/documents’ на путь к папке, к которой вы хотите предоставить общий доступ на вашем сервере CentOS 7 Samba.

Смонтировать общий ресурс Samba в Windows 7

Теперь мы можем смонтировать общий ресурс samba на удаленных компьютерах. В этом уроке я буду использовать Windows 7.

    Перейдите в «Мой компьютер» Windows 7 и нажмите кнопку «Подключить сетевой диск» вверху.

Подключить сетевой диск Windows 7

Смонтировать общий ресурс CentOS Samba в Windows 7

После того, как вы нажмете кнопку «Готово», вам будет предложено ввести имя пользователя и пароль samba для подключения общей папки.

Настройка группового доступа к общему ресурсу CentOS Samba

Вместо предоставления доступа отдельным пользователям мы можем предоставить группе Linux доступ к общим папкам.

действительные пользователи = @accounts

принудительная группа = учетные записи

В соответствии с приведенной выше конфигурацией мы предоставили группе учетных записей разрешение на доступ к общему ресурсу, называемому «учетные записи», с использованием действительных пользователей = @accounts (@символ используется для указания группы). Члены группы учетных записей могут получить доступ к папке /var/accounts, используя свое имя пользователя и пароль.

Системы Windows и Linux устроены по-разному, и часто мирное сосуществование между ними часто является проблемой. Благодаря Samba две системы теперь могут обмениваться файлами и папками по сети. Так что же такое самба? Samba — это бесплатный протокол с открытым исходным кодом, который позволяет легко и беспрепятственно обмениваться файлами в обеих системах. У вас может быть сервер Samba на сервере Linux, на котором размещены различные файлы и папки, к которым могут получить доступ клиенты Windows. В этом руководстве вы узнаете, как установить и настроить последнюю версию Samba на CentOS 8. Вы также узнаете, как открыть общий доступ к папке из системы CentOS 8 в системе Windows с помощью samba.

Шаг 1) Установите Samba и необходимые пакеты

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

install- samba-using-dnf

Мы также должны убедиться, что системы Windows и Linux находятся в одной рабочей группе. Итак, перейдите на свой ПК с Windows и запустите командную строку. Введите команду:

> сетевая рабочая станция

Из вывода ясно видно, что домен рабочей станции указывает на «WORKGROUP». Это также будет настроено позже на компьютере с Linux.

net- config-windows-system

Шаг 2) Настройка Samba

Установив Samba, пришло время выполнить несколько настроек. Но прежде чем мы это сделаем, нам нужно сделать резервную копию конфигурационного файла Samba. Итак, запустите команду ниже:

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

samba-folder-selinux-rules

Теперь создайте новый файл конфигурации Samba

Добавьте конфигурацию ниже:

anonymous- samba-share-centos8

Сохраните и закройте файл конфигурации. Чтобы проверить правильность конфигурации, запустите команду testparm

testparm-samba- Centos8

Шаг 3) Разрешите службу samba в брандмауэре

Затем разрешите Samba через брандмауэр, чтобы внешние пользователи могли получить доступ к общим ресурсам Samba.

Шаг 4) Запустите и включите службы Samba

Наконец, запустите и включите службы Samba и nmb

Затем проверьте, запущена ли служба smb:

samba- сервис-статус-centos8

Аналогичным образом проверьте, работает ли служба nmb, как мы это делали со службой smb:

nmb- сервис-статус-centos8

Шаг 5) Доступ к общему ресурсу Samba с компьютера Windows

На ПК с Windows нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить», и введите

run- samba-share-windows

Откроется окно ниже с папкой «Аноним».

anonymous- samba-share-windows

Вы можете создавать файлы как с сервера Samba, так и из клиента и делиться ими с другими пользователями

 создать-папку-файлы-samba-share

Files- анонимная-самба-доля» ширина = «657» высота = «379» /><br /></p>
<h4>Создание защищенных общих ресурсов в Samba</h4>
<p>Общая папка, которую мы только что создали, доступна для всех, и любой пользователь может создавать и удалять файлы. Это создает проблему, если вы хотите поделиться важными документами, поскольку они также могут быть перезаписаны или удалены. По этой причине нам необходимо создать безопасный общий файловый ресурс, чтобы решить эту проблему.</p>
<p>Сначала мы создадим новую группу для пользователей Samba, как показано на рисунке:</p>
<p>Затем мы добавим нового пользователя во вновь созданную группу</p>
<p>Далее мы создадим новую защищенную папку, а затем назначим необходимые разрешения и владельца файла, как показано ниже.</p>
<p><img class=

Далее мы назначим пользователю samba пароль, который будет использоваться при доступе к защищенному общему ресурсу. Вам будет предложено ввести пароль SMP, а затем подтвердить его.

smbpasswd-user- Centos8

Теперь вернемся к файлу конфигурации Samba

Добавьте строки конфигурации, показанные ниже:

secure-samba-share-smb-conf-centos8

Сохранить и выйти, а затем перезапустить службу Samba

Доступ к защищенной папке Samba из системы Windows

Опять же, чтобы получить доступ к общему ресурсу Samba из вашей системы Windows, нажмите клавишу Windows + R, чтобы запустить диалоговое окно «Выполнить». Введите \\hostname или \\ samba-IP и нажмите ENTER.

 run-secure-samba-share-windows

Теперь вы заметите, что у нас есть еще одна папка с именем secure.

Secure- Samba-Share-Windows

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

Credentials-Secure-Samba-Windows

После этого нажмите кнопку "ОК" или просто нажмите клавишу ВВОД, чтобы получить доступ к содержимому папки

 Файлы-Secure-Samba-Share-Windows

Доступ к защищенной папке Samba с компьютера под управлением Linux

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

Укажите пароль при появлении запроса и нажмите ENTER

 Smbclient-samba-share-list-linux

Чтобы получить доступ к защищенному общему ресурсу, выполните

smbclient-access-secure-samba-share-linux

Не стесняйтесь создавать файлы и каталоги, чтобы делиться ими с другими пользователями samba.

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