2

Прежде всего, я довольно новичок в Linux и Samba.

Я просто установил базовый домашний сервер Ubuntu Server 9.10. Я настроил несколько каталогов в качестве общих ресурсов Samba. У меня есть только один логин на сервере Ubuntu, давайте назовем его bobdole. Однако я НЕ настраивал конкретных пользователей Samba (используя smbpasswd).

Сейчас в Windows XP я использую стороннее программное обеспечение Windows Explorer под названием xplorer2. Мне это нравится, потому что это намного лучше, чем Windows Explorer. В любом случае, когда я заходил на общий ресурс в xplorer2, он, конечно, спрашивал мое имя пользователя и пароль. Я положил в bobdole и пароль, и он впустил меня. Теперь запомните, этот бобдол не тот пользователь Samba, которого я настроил. Это мое имя пользователя для входа на сервер Ubuntu.

Пока что я немного запутался. Почему сервер Ubuntu позволил мне использовать системное имя пользователя (bobdole) для входа в общий ресурс Samba?

Чуть позже я использовал обычный проводник Windows и при доступе к общему ресурсу снова спрашивал мое имя пользователя / пароль. Я снова использовал бобдоль .... но тогда он не позволил мне войти . После некоторого исследования я начал обнаруживать, что именно поэтому мне нужно настроить определенные логины Samba для общих ресурсов.

Итак, мои вопросы:

  1. Как это программное обеспечение explorer2 подключилось к общему ресурсу Samba, используя системное имя пользователя моего сервера вместо фактически конкретного имени пользователя Samba? Почему обычный проводник Windows не делает то же самое?

  2. Требуются ли для меня конкретные пользователи Samba? (Я предполагаю, что это так, но это странное поведение заставило меня усомниться в этом).

1 ответ1

6

Добро пожаловать в удивительный мир самбы! Я использую его годами, и о нем стоит узнать. Это немного кривая обучения, однако. Я настоятельно рекомендую ознакомиться с вашей /etc/samba/smb.conf и справочной страницей smb.conf(5) и держать под рукой ссылку Samba How-To Collection . Это ваши лучшие ресурсы о том, как ваш сервер настроен и что это значит.

Прежде всего, вам нужно кое-что понять о том, как Windows XP подключается к серверам. В Windows, когда вы устанавливаете соединение с определенным сервером с одним именем пользователя, вы не можете установить другое соединение с тем же сервером с другим именем пользователя. (В то же время Windows распознает эти соединения по тому, как вы обращаетесь к серверу, поэтому, хотя \\ServerName и \\X.X.X.X - это одна и та же машина, для Windows они - разные соединения.)

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

Поскольку Ubuntu предварительно настроен для удобства доступа, он использует директиву map to guest = bad user чтобы автоматически разрешить гостевой доступ неизвестным пользователям. Он также разрешает гостевой доступ к общедоступным общим ресурсам, созданным через графический интерфейс (usershare allow guests = yes ). Я думаю, что Ubuntu по умолчанию использует PAM для аутентификации пользователя - в конфигурации сервера по умолчанию используется encrypt passwords = no , что означает, что passdb backend = tdbsam фактически не используется.

Итак, чтобы ответить на ваши вопросы:

  1. Вы вошли в систему либо потому, что Samba аутентифицировал вас в своей учетной записи unix через PAM, либо потому, что он вообще не распознал имя пользователя и не сопоставил вас с гостевой учетной записью. Относительно того, почему Win Explorer потерпел неудачу, я могу только догадываться. Я думаю, что вам показалось, что вы пытались подключиться как другой пользователь (вы видели ошибку 1219?).

  2. Нет и да Гостевой доступ предоставляется автоматически для пользователей, которых Samba не распознает; с незашифрованными паролями используется PAM, поэтому я думаю, что ваши учетные записи Unix распознаются автоматически; но если вы хотите зашифрованную аутентификацию SMB, вам нужно создать пользователей и пароли Samba в базе данных tdbsam .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .