23.2. Настройка сервера Samba

Файл конфигурации Samba по умолчанию (/etc/samba/smb.conf) позволяет пользователям просматривать свои домашние каталоги как ресурсы Samba. Служба Samba также позволяет разделять все настроенные в системе принтеры в виде общих принтеров Samba. Другими словами, вы можете подключить к своему компьютеру принтер и печатать на нём, работая в сети на компьютерах с Windows.

23.2.1. Настройка в графическом режиме

Чтобы настроить Samba в графическом интерфейсе, воспользуйтесь средством Настройка сервера Samba (Samba Server Configuration Tool). Если вас интересует настройка в командной строке, перейдите к разделу 23.2.2 Настройка в командной строке.

Средство Настройка сервера Samba (Samba Server Configuration Tool) — это графическое приложение для управления общими ресурсами, пользователями и основными настройками сервера Samba. Оно изменяет файлы конфигурации в каталоге /etc/samba/. При этом сохраняются изменения внесённые за рамками этого приложения.

Чтобы вы могли использовать это приложение, у вас должна работать система X Window, должен быть установлен RPM-пакет system-config-samba и вы должны иметь привилегии root. Чтобы запустить средство Настройка сервера Samba (Samba Server Configuration Tool) с рабочего стола, выберите в Главном меню (Main Menu) (на панели) => Системные параметры (System Settings) => Настройка сервера (Server Settings) => Samba или введите команду system-config-samba в приглашении оболочки (например, в XTerm или терминале GNOME).

Рисунок 23-1. Настройка сервера Samba

ЗамечаниеЗамечание
 

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

23.2.1.1. Настройка параметров сервера

Первым шагом настройки сервера Samba является настройка основных параметров сервера и нескольких параметров безопасности. Запустив приложение, выберите в выпадающем меню Настройка (Preferences) => Параметры сервера (Server Settings). На экране появится вкладка Основные (Basic), показанная на рисунке 23-2.

Рисунок 23-2. Настройка основных параметров сервера

На вкладке Основные (Basic) определите, к какой рабочей группе должен относиться компьютер, а также его краткое описание. Этим полям соответствуют параметры workgroup и server string в файле smb.conf.

Рисунок 23-3. Настройка параметров безопасности сервера

Вкладка Доступ содержит следующие параметры:

  • Режим аутентификации (Authentication Mode) — Этой настройке соответствует параметр security. Выберите один из следующих типов проверки подлинности.

    • ADS — Сервер Samba работает как участник домена в сфере домена Active Directory (Active Directory Domain, ADS). Для этого на сервере должен быть установлени и настроен Kerberos, а Samba должна стать участником сферы ADS с помощью команды net, включённой в пакет samba-client. За дополнительной информацией обратитесь к странице man net. При выборе этого варианта Samba не становится контроллером ADS. Укажите сферу сервера Kerberos в поле Домен Kerberos (Kerberos Realm).

      ЗамечаниеЗамечание
       

      Значение поля Домен Kerberos (Kerberos Realm) должно указываться большими буквами, например EXAMPLE.COM.

      Использование сервера Samba в качестве участника домена в сфере ADS подразумевает правильную настройку Kerberos, включая файл /etc/krb5.conf.

    • Домен (Domain) — Сервер Samba проверяет пользователя, полагаясь на первичный и резервный контроллер домена Windows NT. Сервер контроллеру передаёт имя и пароль пользователя, и ждёт от него ответа. Укажите в поле Сервер аутентификации (Authentication Server) NETBIOS-имя первичного или резервного контроллера домена.

      Если выбран этот вариант, параметр Шифровать пароли (Encrypted Passwords) должен иметь значение Да (Yes).

    • Сервер (Server) — Сервер Samba пытается проверить комбинацию имени пользователя и пароля с помощью другого сервера Samba. Если это не удаётся, сервер пытается проверить её, используя режим проверки подлинности пользователя. Укажите в поле Сервер аутентификации (Authentication Server) NETBIOS-имя другого сервера Samba.

    • Ресурс (Share) — Пользователи Samba не должны вводить своё имя и пароль при подключении к серверу Samba. Сервер Samba не спрашивает имя и пароль, пока они не попытаются подключиться к определённому общему каталогу этого сервера.

    • Пользователь (User) — (По умолчанию) Пользователи Samba должны представить правильное имя пользователя и пароль для сервера Samba. Выберите этот вариант, если вы хотите чтобы работал параметр Имя пользователя Windows (Windows Username). За подробностями обратитесь к разделу 23.2.1.2 Управление пользователями Samba.

  • Шифровать пароли (Encrypt Passwords) — Этот параметр должен быть включён, если к серверы подключаются клиенты с системой Windows 98, Windows NT 4.0 с пакетом исправления 3 или более новой системой Microsoft Windows. В этом случае пароли между клиентом и сервером передаются не открытым текстом (при этом их можно перехватить), а в зашифрованном виде. Этой настройке соответствует параметр encrypted passwords. За дополнительными сведениями о шифрование паролей Samba обратитесь к разделу 23.2.3 Зашифрованные пароли.

  • Гостевая учётная запись (Guest Account) — Когда обычные или гостевые пользователи подключаются к серверу Samba, им должен сопоставляться подходящий пользователь сервера. Выберите одного из существующих пользователей системы, который станет гостевой учётной записью Samba. Когда к серверу Samba подключаются гости, они получают те же привилегии, что и данный пользователь. Этой настройке соответствует параметр guest account.

После нажатия OK изменения сохраняются в файл конфигурации и демон перезапускается, таким образом, изменения вступают в силу немедленно.

23.2.1.2. Управление пользователями Samba

Средство Настройка сервера Samba требуется, чтобы перед добавлением пользователя Samba в системе, играющей роль сервера Samba, уже существовала учётная пользователя. Пользователь Samba сопоставляется с существующей учётной записью пользователя.

Рисунок 23-4. Управление пользователями Samba

Чтобы добавить пользователя Samba, выберите в выпадающем меню Настройка (Preferences) => Пользователи Samba (Samba Users) и нажмите кнопку Добавить пользователя (Add User). В окне Добавить пользователя (Create New Samba User) выберите Имя пользователя Unix (Unix Username) из списка существующих в локальной системе пользователей.

Если в системе Windows пользователь имеет другое имя и ему нужно подключаться из своей системы к серверу Samba, укажите имя пользователя Windows в поле Имя пользователя Windows. Чтобы этот вариант работал, параметр Режим аутентификации (Authentication Mode) на вкладке Доступ (Security) окна Параметры сервера (Server Settings) должен иметь значение Пользователь (User).

Также настройте Пароль Samba (Samba Password) этого пользователя Samba и подтвердите его, набрав его ещё раз. Даже если вы решили использовать для Samba зашифрованные пароли, рекомендуется назначать для всех пользователей Samba пароли, отличающиеся от их паролей в системе.

Чтобы поменять свойства существующего пользователя, выберите его из списка и нажмите кнопку Изменить пользователя (Edit User). Чтобы удалить существующего пользователя Samba, выберите его и нажмите кнопку Удалить пользователя (Delete User). При удалении пользователя Samba соответствующая учётная запись пользователя в системе не удаляется.

Внесённые изменения вступают в силу сразу после нажатия кнопки OK.

23.2.1.3. Добавление ресурса

Чтобы создать ресурс Samba, нажмите кнопку Добавить (Add) в основном окне программы настройки Samba.

Рисунок 23-5. Добавление ресурса

На вкладке Основные (Basic) настраиваются следующие параметры:

  • Каталог (Directory) — Каталог, который станет общим ресурсом Samba. Здесь указывается имя уже существующего каталога.

  • Имя ресурса (Share name) — Действительное имя ресурса, с которым его будет видно с удалённых компьютеров. По умолчанию, это значение совпадает со значением поля Каталог (Directory), но его можно изменить.

  • Описание (Descriptions) — Краткое описание ресурса.

  • Права (Basic Permissions) — Параметр, определяет будут ли пользователи иметь право только на чтение файлов в общем каталоге или смогут и читать, и писать файлы.

На вкладке Доступ (Access) определите, будет ли доступ к ресурсу разрешён только выбранным или всем пользователям Samba. Если вы хотите разрешить доступ только определённым пользователям, выберите их из списка доступных пользователей Samba.

Ресурс добавляется сразу после нажатия OK.

23.2.2. Настройка в командной строке

Конфигурация Samba находится в файле /etc/samba/smb.conf. Если вы вносите изменения в этот файл, они не вступают в силу до перезапуска демона Samba с помощью команды: service smb restart.

Чтобы указать рабочую группу Windows и краткое описание сервера Samba, измените следующие строки в файле smb.conf:

workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER

Замените WORKGROUPNAME именем рабочей группы Windows, к которой должен относиться этот компьютер. Параметр BRIEF COMMENT ABOUT SERVER необязателен и используется в качестве комментария Windows для данной системы Samba.

Чтобы создать в системе Linux разделяемый ресурс Samba, добавьте следующий раздел в файл smb.conf (изменив его в соответствии со своими и системными требованиями):

[sharename]
comment = Insert a comment here (Добавьте здесь примечание)
path = /home/share/
valid users = tfox carole
public = no
writable = yes
printable = no
create mask = 0765

В показанном выше примере пользователи tfox и carole смогут читать и писать в каталог /home/share сервера Samba, используя клиента Samba.

23.2.3. Зашифрованные пароли

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

В протоколе Microsoft SMB изначально пароли передавались открытым текстом. Однако, Windows NT 4.0, начиная с Service Pack 3, Windows 98, Windows 2000, Windows ME и Windows XP требуют шифрования паролей Samba. Чтобы использовать протокол Samba между системой Linux и одной из этих операционных систем Windows, вы можете либо отредактировать реестр Windows и разрешить использование паролей в открытом виде, либо настроить в своей системе Linux шифрование паролей в Samba. Если вы решите изменить реестр, вы должны проделать это на всех компьютерах с Windows — это рискованно и может привести к другим конфликтам. Для лучшей безопасности рекомендуется использовать зашифрованные пароли.

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

  1. Создайте отдельный файл с паролями Samba. Чтобы создать его на основе существующего файла /etc/passwd, выполните в приглашении оболочки следующую команду:

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Если в вашей системе используется NIS, введите следующую команду:

    ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Сценарий mksmbpasswd.sh устанавливается в каталог /usr/bin в составе пакета samba.

  2. Измените разрешения файла паролей Samba, чтобы разрешение на чтение и запись имел только root:

    chmod 600 /etc/samba/smbpasswd
  3. Этот сценарий не копирует пароли пользователей в новый файл, и учётная запись пользователя остаётся неактивной, пока для неё не будет определён пароль. Для большей безопасности рекомендуется назначать для пользователя Samba пароль, отличный от пароля пользователя в системе. Чтобы задать пароль пользователя Samba, выполните следующую команду (заменяйте username именем пользователя):

    smbpasswd username 
  4. По умолчаниию должны быть включены зашифрованные пароли. Таким образом, специально включать их в файле конфигурации не требуется. Однако они также не могут быть отключены в файле конфигурации. Убедитесь в том, что в файле /etc/samba/smb.conf отсутствует следующая строка:

    encrypt passwords = no

    Если она присутствует, но закомментирована точкой с запятой (;) в начале строке, эта строка игнорируется и шифрование паролей включается. Если эта строка присутствует и не закомментирована, уберите её или закомментируйте.

    Чтобы явно включить шифрование паролей в файле конфигурации, добавьте в файл etc/samba/smb.conf следующие строки:

    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
  5. Убедитесь в том, что служба smb запущена, введя в приглашении оболочки команду service smb restart.

  6. Если вы хотите, чтобы служба smb запускалась автоматически, её можно включить с помощью ntsysv, chkconfig или средства Настройка служб. За подробностями обратитесь к главе 20 Управление доступа к службам.

Для синхронизации паролей пользователей Samba с их паролями в системе можно применить PAM-модуль pam_smbpass, используя команду passwd. Когда пользователь вызывает команду passwd, одновременно изменяется и пароль, с которым он входит в систему Red Hat Enterprise Linux, и пароль, с которым он подключается к ресурсу Samba.

Чтобы включить эту возможность, добавьте в файл /etc/pam.d/system-auth ниже вызова pam_cracklib.so следующую строку:

password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass

23.2.4. Запуск и остановка сервера

На сервере, предоставляющем доступ к каталогам через Samba, должна работать служба smb.

Определите состояние демона Samba, выполнив следующую команду:

/sbin/service smb status

Запустите демона с помощью следующей команды:

/sbin/service smb start

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

/sbin/service smb stop

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

/sbin/chkconfig --level 345 smb on

Определить службы, запускающиеся при загрузке системы, вы также можете с помощью chkconfig, ntsysv или средства Настройка служб (Services Configuration Tool). За подробностями обратитесь к главе 20 Управление доступа к службам.

ПодсказкаПодсказка
 

Чтобы просмотреть активные подключения к системе, выполните команду smbstatus.