Добрый день,В сети есть контроллер домена Win2003.
На Linux-компьютере необходимо получать список пользователей и список групп командой getent.#getent passwd
выдаёт только список локальных пользователей. getent group - только список локальных групп.#wbinfo -u
выдаёт список доменных пользователей. wbinfo -g - список доменных групп.
Система: Ubuntu 8.10, Samba Version 3.2.3# cat /etc/nsswitch.conf | grep -v "^#" | grep -e "[a-zA-Z]"
passwd: compat winbind
group: compat winbind
shadow: compat
hosts: files dns winbind
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
# cat /etc/samba/smb.conf | grep -v "^#" | grep -v "^;" | grep -e "[a-zA-Z]"
[global]
workgroup = DOMAIN
netbios name = THIS-COMPUTER
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
log level = 3 winbind:10
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = ads
password server = 192.168.1.4
realm = DOMAIN.RU
encrypt passwords = yes
passdb backend = tdbsam
obey pam restrictions = yes
invalid users = root
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
domain logons = no
ldap admin dn = cn=administrator,dc=DOMAIN,dc=RU
socket options = TCP_NODELAY
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = +
[homes]
....Кто-нибудь знает из-за чего не работает getent и как исправить?
Спасибо.
>[оверквотинг удален]
>#getent passwd
>выдаёт только список локальных пользователей. getent group - только список локальных групп.
>
>
>#wbinfo -u
>выдаёт список доменных пользователей. wbinfo -g - список доменных групп.
>
>
>Система: Ubuntu 8.10, Samba Version 3.2.3
>Никогда не стыковал sanba с windows AD, тем не менее ваши настройки мне не понятны.
1. Ссылка на ldap явно лишняя. Аккаутны, как я понимаю хранятся в AD, а backend указан tdbsam. Но дело, похоже, не в этом.
2. Аккаунты Windows и Unix несовместимы, поэтому должны дублировать друг друга. А где хранятся соответствующие Unix аккаунты, я из Вашего сообщения не понял.
>
>1. Ссылка на ldap явно лишняя. Аккаутны, как я понимаю хранятся в
>AD, а backend указан tdbsam. Но дело, похоже, не в этом.
>
>
>2. Аккаунты Windows и Unix несовместимы, поэтому должны дублировать друг друга. А
>где хранятся соответствующие Unix аккаунты, я из Вашего сообщения не понял.
>Спасибо за ответ.
1. Насколько я понял, Active Directory = LDAP + Kerberos + ещё что-то. И как я понял, passdb backend - база хранения паролей для подключения к windows-машине.
Если глупость говорю, поправьте пожалуйста.
2. Unix-аккаунты хранятся в файлах (/etc/passwd, /etc/group, ...). Как понимаю, /etc/nsswitch.conf указывает в каких базах искать данные. В частности,
passwd: files winbind
group: files winbindуказывает, что поиск пользователей и групп сначала в файлах, затем спросить у winbind
Если опять говорю глупость, поправьте меня.
>1. Насколько я понял, Active Directory = LDAP + Kerberos + ещё
>что-то. И как я понял, passdb backend - база хранения паролей
>для подключения к windows-машине.
>Почти так.
passwd backend - база, где самба хранит свои данные, напр. windows аккаунты (пользователи и группы), если сама выступает в роли контроллера домена и др.
Если я правильно понимаю Вашу конфигурацию, у Вас windows аккаунты хранятся в AD на сервере Windows, а роль Самбы заключается в том, чтобы давать им (пользователям домена AD) доступ к рессурсам (файлам, каталогам, принтерам) этой (на которой установлена самба) unix машины. Если так, то устанавливать openldap не нужно.>
>2. Unix-аккаунты хранятся в файлах (/etc/passwd, /etc/group, ...). Как понимаю, /etc/nsswitch.conf указывает
>в каких базах искать данные. В частности,
>
>passwd: files winbind
>group: files winbind
>
>
>указывает, что поиск пользователей и групп сначала в файлах, затем спросить у
>winbindВсе правильно.
Я не использую winbind и AD, поэтому вряд ли что-то посоветую.
Ваш случай описан в статье:
http://www.opennet.me/base/net/slackware_samba_ad.txt.html
>[оверквотинг удален]
>AD на сервере Windows, а роль Самбы заключается в том, чтобы
>давать им (пользователям домена AD) доступ к рессурсам (файлам, каталогам, принтерам)
>этой (на которой установлена самба) unix машины. Если так, то устанавливать
>openldap не нужно.
>
>Все правильно.
>
>Я не использую winbind и AD, поэтому вряд ли что-то посоветую.
>Ваш случай описан в статье:
>http://www.opennet.me/base/net/slackware_samba_ad.txt.htmlСпасибо за помощь.
попробуйте в nsswitch.conf compat заменить на files,
да и smb.conf странноват...
Уберите
passdb backend = tdbsam
ldap admin dn = cn=administrator,dc=DOMAIN,dc=RU
winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
Добавьте
auth methods = winbind и все что начинается winbind ...
Но в основном у вас не работает nsswitch.conf
>[оверквотинг удален]
>да и smb.conf странноват...
>Уберите
> passdb backend = tdbsam
> ldap admin dn = cn=administrator,dc=DOMAIN,dc=RU
> winbind separator = +
> idmap uid = 10000-20000
> idmap gid = 10000-20000
>Добавьте
> auth methods = winbind и все что начинается winbind ...
> Но в основном у вас не работает nsswitch.confСпасибо.
Попробовал сделать, как Вы сказали - результат тот же.
Потом, ещё правил, правил, правил файл smb.conf и в итоге добился частичного результата.
У меня выдаются доменные пользователи командой getent passwd, но! команда getent group выдаёт только локальные группы.
wbinfo -u и wbinfo -g - работают нормально.Сравнил новый файл с изначальным.
Добавились две строчки:
winbind enum users = true
winbind enum group = true