Значение по умолчанию:

security = USER

Пример:

security = DOMAIN

англ. security (G)

Этот параметр влияет на то, как будут себя вести клиенты Samba и это один из наиболее важных параметров файла smb.conf.

Он устанавливает "security mode bit" в репликах к smbd в момент согласования протокола, тем самым включая или отключая режим безопасности. Клиенты, основываясь на этой информации, определяют нужно ли (и если да то как) передавать серверу имя пользователя и пароль.

Значение по умолчанию security = USER, т.к. это наиболее подходящее значение для связи с Windows 98 и Windows NT. Другие значения: SHARE, SERVER или DOMAIN.

В версиях Samba до 2.0.0, значением по умолчанию было SHARE в основном потому, что это было единственное значение, имевшее тогда смысл. Есть одна ошибка в Windows для рабочих групп (Windows for Workgroups, WfWg), которая имеет отношение к этому параметру. При работе в режиме USER или SERVER, клиенты Windows для рабочих групп игнорируют имя пользователя и пароль, указываемые в диалоге для доступа к ресурсу. "Благодаря" этому практически невозможно присоединиться к сервису Samba пользователем, отличным от того, с правами которого произведен вход в Windows. Если на Ваших ПК имена пользователей такие же как имена пользователей в UNIX, тогда Вам нужно использовать режим USER. Если Вы используете имена, которые не существуют на сервере UNIX тогда используйте режим SHARE. Вам также следует использовать режим SHARE, если Вы хотите открыть гостевой доступ. В основном это используется для принт-серверов. Настроить гостевой доступ при использовании USER сложнее, смотрите секцию map to guest для получения более подробной информации. Возможно настроить smbd в смешанном режиме, когда Samba будет обслуживать оба режима (USER и SHARE), используя разные псевдонимы NetBIOS.

security = SHARE

Когда клиенты присоединяются к ресурсу с security = SHARE им не нужно регистрироваться с использованием действительного имени пользователя и пароля (хотя современные клиенты Windows 95/98 и Windows NT посылают запрос на вход в систему с именем пользователя без пароля, когда подсоединяются к серверу, находящемуся в режиме SHARE). Вместо этого, клиенты посылают информацию аутентификации (пароли) на конкретный ресурс, в тот момент, когда хотят получить доступ к этому ресурсу. Заметьте, что smbd ВСЕГДА использует реального пользователя UNIX, когда обслуживает клиента, даже если установлено security = SHARE. Т.к. в режиме SHARE от пользователя не требуется посыла его имени, smbd использует несколько приемов для определения пользователя UNIX.

Список предполагаемых имен пользователей UNIX и соответствующих им паролей определяется следующим образом:

  • Если установлен параметр guest only, тогда все остальные сценарии пропускаются и используется только имя гостевой учетки (guest account).
  • Если имя пользователя послано вместе с запросом на установление соединения после сопоставления (см. username map), добавляется в список.
  • Если клиент выполнял запрос logon (вызов SessionSetup SMB), тогда имя пользователя, использовавшееся в этом вызове будет добавлено в список.
  • Имя сервиса, которое запросил клиент, будет добавлено в список. NetBIOS имя клиента добавляется в список. Все пользователи из списка пользователей добавляются в этот список.

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

Если параметр guest only установлен или не найдено подходящего имени пользователя, тогда, если Samba разрешено "принимать гостей" (usershare allow guests), будет использоваться гостевая учетка, в противном случае доступ будет запрещен.

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

См. также ЗАМЕЧАНИЯ О ПРОВЕРКЕ ИМЕНИ/ПАРОЛЯ.

security = USER

Это значение по умолчанию в Samba 3.0. При этом, клиент должен сначала произвести вход (logon), с существующим именем пользователя и паролем (имя может быть транслировано с помощью параметра username map). Шифрованные пароли (см. encrypted passwords) также могут быть использованы в этом режиме.

Такие параметры, как user и guest only, если они установлены на ресурс, могут поменять значение пользователя UNIX, который будет использоваться в конечном счете, НО только после того как пользователь успешно пройдет аутентификацию.

Заметьте, что имя запрошенного ресурса не будет послано серверу до тех пор, пока сервер не аутентифицирует клиента. Именно поэтому гостевые учетки не работают в режиме USER, не позволяя серверу преобразовывать неопознанных пользователей в гостей.

См. секцию параметра map to guest.

См. также ЗАМЕЧАНИЯ О ПРОВЕРКЕ ИМЕНИ/ПАРОЛЯ.

security = DOMAIN

Такой режим будет работать только в том случае, если была использована команда net(8) для добавления этого компьютера в домен Windows NT. Это требует установленного параметра encrypted passwords = yes.

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

Заметьте, что реальный пользователь UNIX все-таки должен быть, потому что Samba придется проверять права доступа пользователя UNIX (пусть даже и транслированного в другого, прим. перев.), к файлу в файловой системе UNIX. С точки зрения клиента, нет разницы между режимами DOMAIN и USER. Это затрагивает лишь то, как сервер проводит аутентификацию, только и всего.

Заметьте, что имя запрошенного ресурса не будет послано серверу до тех пор, пока сервер не аутентифицирует клиента. Именно поэтому гостевые шары не работают в режиме USER, не позволяя серверу преобразовывать неопознанных пользователей в гостей, чтобы сервер аутентифицировал пользователя используются параметр guest account.

Обязательно ознакомьтесь с map to guest.

См. также ЗАМЕЧАНИЯ О ПРОВЕРКЕ ИМЕНИ/ПАРОЛЯ.

И еще смотрите секции параметров password server и encrypted passwords.

security = SERVER

В этом режиме Samba попытается определить правильность пары пользователь/пароль, передав ее другому серверу SMB, такому как NT. Если это не получится, будет работать security = USER.

Шифрованные пароли (см. encrypted passwords) также могут быть использованы в этом режиме (конечно удаленный сервер должен поддерживать их). Тем не менее, если на этапе согласования параметров соединения, Samba уже НЕ сможет вернуться к режиму проверки файла паролей UNIX, у нее должен быть файл smbpasswd, в котором она и будет проверять пользователей. Как это сделать? — см Samba HOWTO Collection.

Замечание. В зтом режиме есть серьезные недостатки, потому что он уязвим для атак посредника (man-in-the-middle) и подмене сервера. В частности, этот режим работы может вызвать значительно потребление ресурсов первичного контроллера домена, т.к. должен обслуживать активное соединение все то время пока оно активно. Более того, если соединение потеряно, нет вариантов переподключиться и будущие аутентификации могут провалиться (от одного клиента, пока он не отсоединится).

Замечание. С точки зрения клиента, нет разницы в режимах SERVER и USER. Это затрагивает лишь то, как сервер проводит аутентификацию, только и всего. Заметьте, что имя запрошенного ресурса не будет послано серверу до тех пор, пока сервер не аутентифицирует клиента. Именно поэтому гостевые учетки не работают в режиме USER, не позволяя серверу преобразовывать неопознанных пользователей в гостей.

См. секцию параметра map to guest.

См. также ЗАМЕЧАНИЯ О ПРОВЕРКЕ ИМЕНИ/ПАРОЛЯ.

И еще смотрите секции параметров password server и encrypted passwords.

security = ADS

В этом режиме Samba работает как член домена AD.

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

Заметим, что этот режим НЕ заставляет Samba работать в качестве доменного контроллера AD.

Прочитайте раздел Domain Membership в HOWTO для получения более подробной информации.