Аутентификация Samba и сопоставление пользователей Linux

Я использую Samba 3 на своем Raspberry Pi. Я хочу использовать сопоставление 1:1 между пользователями Linux и Windows NT (Windows 8). На данный момент у меня есть следующая конфигурация для самбы:

server role = standalone # not working! unkown parameter! (testparm -v)
local master = yes
os level = 33
client NTMLv2 auth = yes
guest ok = no
server string = %h server
wins support = yes
dns proxy  = no
# Auth
security = user
encrypt passwords = true
obey pam restrictions = yes
unix password sync = yes
auth methods = sam
domain logons = no
# winbind enum groups = yes
# winbind enum users = yes
## shares ##
[testdir]
path = /home/testdir
valid users = %U
browseable = yes
writeable = yes
create mode = 0600
directory mdoe = 0700
read only = no
[homes] # not working!
path = /home/%U # have tried with %S
valid users = %U
browseable = yes
available = yes
guest ok = no

Но домашние ресурсы не работают, и я думаю, что проблема с сопоставлением пользователей, потому что я не могу получить доступ к домашним каталогам (сетевой путь не найден), а Windows не говорит: Sebi (пользователь Unix), но \ смарт-сервер\Sebi:

Вывод pdbedit -L:

Ignoring unknown parameter "server role"
Sebi:1000:

Свойства общей папки Windows (testdir (работает!)): Безопасность общей папки Windows

Я думаю, что это проблема с сопоставлением пользователей, потому что pdbedit -Lv выводит SID вместо UID. Кто-нибудь знает, как я могу настроить свою самбу для работы в качестве простого общего ресурса с соотношением 1: 1 между пользователями Unix и Windows NT. Я не знаю, что я делаю неправильно.


person Sebi2020    schedule 15.06.2014    source источник


Ответы (1)


Существует два способа сопоставления учетных записей 1:1 между компьютерами. Первый — синхронизация. Здесь вы копируете учетные записи вручную или по сценарию между машинами. Я думаю, это то, что вы пытались сделать, но Windows не работает при попытке сделать это. (есть и другие проблемы с этим подходом, которые привели ко второму подходу)

Второй способ — это сервер каталогов. Существует множество серверов каталогов. Sun выпустила NIS, есть DAP и LDAP, которые имеют несколько реализаций, включая таких людей, как SAP, Red Hat, Oracle и Novel. Но в среде Windows доминирующим сервером каталогов является Microsoft Active Directory, который является частью сервера Windows. (До Windows 2000 существовала более простая служба, называемая входом в домен NT, которую все еще можно использовать в некоторых случаях.)

Теперь, если вы не хотите выкладывать большие деньги за сервер Windows, у samba есть совместимый с протоколом сервер каталогов. samba 3 использует логины домена NT для предоставления информации об учетной записи, а samba 4 совместима с Active Directory. Обычный способ использования samba 3 для предоставления учетных записей в Windows состоит в том, чтобы сделать samba основным контроллером домена, а затем присоединить окна к только что созданному домену. Затем учетные записи извлекаются из вашего файла passwd (или из любого другого места, где NSS сопоставляет информацию о вашей учетной записи), но ваши пароли должны храниться в samba. Samba 4 — это аналогичный процесс, но более новый, и вся информация об учетной записи должна храниться в samba, и вы также должны подключить свой Linux-бокс (в вашем случае Raspberry PI) к домену с помощью winbind.

С другой стороны, если у вас есть сервер Windows, вы также можете создать там свой домен и подключить все свои машины к этому домену, снова используя winbind для linux.

Одной из сложностей использования winbind является назначение или сопоставление UID для Linux. Это не сложно, но вы должны обратить внимание.

Если вы заметили, что я пропустил некоторые детали, у вас есть дар преуменьшения. Есть книги на эту тему, в которых упущены важные детали. Вам есть что почитать.

person hildred    schedule 18.06.2014
comment
На данный момент я еще не знаю, почему у меня есть SID вместо UID. - person Sebi2020; 25.06.2014
comment
Linux (как и все варианты Unix) использует UID (идентификатор пользователя). окна использовали SID. - person hildred; 25.06.2014
comment
Но нормально ли, что Windows говорит \\smart-server\Username вместо (Unix User\Username)? - person Sebi2020; 25.06.2014
comment
ага, меня тоже бесит. Я хотел бы увидеть проектную документацию по этому решению, потому что оно почти непротиворечиво, то есть каждая сеть имеет поведение, которое повторяется, но может отличаться от других сетей. Подозреваю, что есть какая-то разница в контроллерах домена. - person hildred; 25.06.2014