Привет !
На предприятии находится Windows 2003 server с AD.
Нужно поднять файловый сервер с авторизацией в этом домене.
Почти все работает, за исключением отображения пользователей из Windows домена.Привожу конфиги.
---/etc/nsswitch.conf---
group: files winbind
group_compat: files winbind
hosts: files dns winbind
networks: files winbind
passwd: files winbind
passwd_compat: files winbind
shadow: files winbind
shells: files winbind
--/usr/local/samba/lib/smb.conf----
[global]
dos charset = 866
; unix charset = KOI8-R
workgroup = SF_CTU
realm = SF_CTU.LOCAL
server string = Файловый сервер
interfaces = 10.13.193.7/24
security = ADS
auth methods = winbind
password server = 10.13.193.4 10.13.193.20
wins server = 10.13.193.4 10.13.193.20
encrypt passwords = yes
private dir = /usr/local/etc/samba
passdb backend = tdbsam
client NTLMv2 auth = Yes
log level = 0 vfs:1
log file = /var/log/samba/samba.log
username map=/usr/local/samba/lib/smbusers
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
max log size = 0
deadtime = 360
max open files = 100000
fam change notify = No
paranoid server security = No
load printers = No
show add printer wizard = No
os level = 8
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = Yes
winbind enum groups = Yes
winbind nested groups = No
winbind refresh tickets = Yes
hosts allow = 10.13.193.
case sensitive = No
hide unreadable = Yes[install]
comment = Интсталляционный ресурс
path = /install
valid users = @SF_CTU\kostya, SF_CTU\root1
admin users = @SF_CTU\kostya
read only = No
create mask = 0777
directory mask = 0777---/etc/krb5.conf---
[libdefaults]
default_realm = SF_CTU.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
krb4_get_tickets = false
default_etypes = des-cbc-crc des-cbc-md5
default_etypes_des = des-cbc-crc des-cbc-md5
[appdefaults]
proxiable = true
ticket_lifetime = 24h
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false[realms]
SF_CTU.LOCAL = {
kdc = tcp/uopas.sf_ctu.local:88
kdc = tcp/uopas2.sf_ctu.local:88
admin_server = uopas.sf_ctu.local
default_domain = sf_ctu.local
}[domain_realm]
.sf_ctu.local = SF_CTU.LOCAL
sf_ctu.local = SF_CTU.LOCAL[kdc]
enable-kerberos4 = false[logging]
default = FILE:/var/log/kerberos/krb5libs.log
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmind.log--
uopas.sf_ctu.local
uopas2.sf_ctu.local
прописаны в /etc/hosts
--FREEBSD сервер заведен в домен командой net ads join -U admin
запущен winbindd -BПри выполнении команды
wbinfo -u появляется список пользователей домена с префиком SF_CTU\
wbinfo -g появляется список групп домена
wbinfo -t wbinfo -p также отрабатывают.!!!
А вот при выполнении команды id adm (adm - пользователь домена)
пишет, что
id: adm: no such user
/etc/nsswitch 100 раз проверял - все должно быть пучком.Далее.
Запускаю smbd -i -d5
Пытаюсь соединиться с сервером через \\193.168.1.12 - выдается окно с вводом логина - пароля (хотя его быть не должно т.к. на Windows машине я зашел как SF_CTU\adm)
Вот что выдал smbd -i -d5 в момент коннекта :...skipped....
Finding user SF_CTU\adm
Trying _Get_Pwnam(), username as lowercase is sf_ctu\adm
Trying _Get_Pwnam(), username as given is SF_CTU\adm
Trying _Get_Pwnam(), username as uppercase is SF_CTU\ADM
Checking combinations of 0 uppercase letters in sf_ctu\adm
Get_Pwnam_internals didn't find user [SF_CTU\kostya]!
Finding user adm
Trying _Get_Pwnam(), username as lowercase is adm
Trying _Get_Pwnam(), username as uppercase is ADM
Checking combinations of 0 uppercase letters in adm
Get_Pwnam_internals didn't find user [adm]!
check_ntlm_password: winbind authentication for user [adm] FAILED with error NT_STATUS_NO_SUCH_USER
check_ntlm_password: Authentication for user [adm] -> [adm] FAILED with error NT_STATUS_NO_SUCH_USER
attempting to free (and zero) a user_info structure
error packet at smbd/sesssetup.c(99) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
size=35
smb_com=0x73
smb_rcls=109
smb_reh=0
smb_err=49152
smb_flg=136
smb_flg2=51201
smb_tid=0
smb_pid=65279
smb_uid=100
smb_mid=128
smt_wct=0
smb_bcc=0
timeout_processing: End of file from client (client has disconnected).
Closing cache file
namecache_shutdown: netbios namecache closed successfully.
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
NT user token: (NULL)
UNIX token of user 0
Primary group is 0 and contains 0 supplementary groups
change_to_root_user: now uid=(0,0) gid=(0,0)
Yielding connection to
Server exit (normal exit)Такое ощущение, будто вся фишка в файле
/usr/local/samba/lib/smbusers (он существует и он пустой)
Никаких дополнительных команд я не запускал (типа smbpasswd и т.д.)
WinBindd при этом отрабатывает нормально, т.е. аутентифицирует пользователя adm.Интернесно, почему при выполнении команды ``id adm'' и им подобных не происходит поиск в базе данных AD ?
После выполнения команды ``id adm'' никаких записей логе /var/log/samba/log.winbindd не поялвяется (Кто сталкивался с такой проблемой - откликнитесь плиизз. Любая догадка приветствуется.
Заранее огромное спасибо !!!
>При выполнении команды
>wbinfo -u появляется список пользователей домена с префиком SF_CTU\
>А вот при выполнении команды id adm (adm - пользователь домена)
>пишет, что
>id: adm: no such userСами же пишете "список пользователей домена с префиком SF_CTU\", следовательно:
id "SF_CTU\adm"или добавить в smb.conf в секцию [global]
winbind use default domain = yes>/etc/nsswitch 100 раз проверял - все должно быть пучком.
Какой-то он странный --> man winbindd, затем вернуть оригинальный nsswitch.conf и исправить две строки:
passwd: files winbind
group: files winbind
>Сами же пишете "список пользователей домена с префиком SF_CTU\", следовательно:
>id "SF_CTU\adm"пробовал id SF_CTU\\adm , id "SF_CTU\\adm" - пишет то же самое, что не может найти пользователя
>или добавить в smb.conf в секцию [global]
>winbind use default domain = yesДобавил, id SF_CTU\\adm или id adm все равно не отрабатывает
>Какой-то он странный --> man winbindd, затем вернуть оригинальный nsswitch.conf и исправить две строки:
> passwd: files winbind
> group: files winbindВот мой новый /etc/nsswitch.conf
passwd: files winbind
group: files winbind
shadow: files winbind
hosts: files dns winbindПерезапустил все хозяйство
winbindd -B
smbd -i -d9
nmbdТот же бок (((
Вот вывод smbd -i -d9 послее ввода пароля
....
NT user token: (NULL)
UNIX token of user 0
Primary group is 0 and contains 0 supplementary groups
change_to_root_user: now uid=(0,0) gid=(0,0)
wct=12 flg2=0xc801
Doing spnego session setup
NativeOS=[Unix] NativeLanMan=[Samba] PrimaryDomain=[]
Got user=[kostya] domain=[SF_CTU] workstation=[FILEBOX] len1=24 len2=154
lp_file_list_changed()
file /usr/local/samba/lib/smb.conf -> /usr/local/samba/lib/smb.conf last mod_time: Wed Nov 28 11:22:24 2007make_user_info_map: Mapping user [SF_CTU]\[kostya] from workstation [FILEBOX]
attempting to make a user_info for kostya (kostya)
making strings for kostya's user_info struct
making blobs for kostya's user_info struct
check_ntlm_password: Checking password for unmapped user [SF_CTU]\[kostya]@[FILEBOX] with the new password interface
check_ntlm_password: mapped user is: [SF_CTU]\[kostya]@[FILEBOX]
[000] E0 5A 4A F0 32 1B 54 8F аZJр2.TЏ
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
NT user token: (NULL)
UNIX token of user 0
Primary group is 0 and contains 0 supplementary groups....
Finding user SF_CTU\kostya
Trying _Get_Pwnam(), username as lowercase is sf_ctu\kostya
Trying _Get_Pwnam(), username as given is SF_CTU\kostya
Trying _Get_Pwnam(), username as uppercase is SF_CTU\KOSTYA
Checking combinations of 0 uppercase letters in sf_ctu\kostya
Get_Pwnam_internals didn't find user [SF_CTU\kostya]!
Finding user kostya
Trying _Get_Pwnam(), username as lowercase is kostya
Trying _Get_Pwnam(), username as uppercase is KOSTYA
Checking combinations of 0 uppercase letters in kostya
Get_Pwnam_internals didn't find user [kostya]!
check_ntlm_password: winbind authentication for user [kostya] FAILED with error NT_STATUS_NO_SUCH_USER
check_ntlm_password: Authentication for user [kostya] -> [kostya] FAILED with error NT_STATUS_NO_SUCH_USER
attempting to free (and zero) a user_info structure
error packet at smbd/sesssetup.c(99) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
...kostya - админ домена.
Еще в логе самбы вот такая ошибка
7/11/28 13:56:06, 0] rpc_client/cli_pipe.c:cli_rpc_pipe_open_noauth(2265)
i_rpc_pipe_open_noauth: rpc_pipe_bind for pipe \lsarpc failed with error NT_STATUS_BUFFER_TOO_SMALL
Всем спасибо - разобрался
Есть такая либа - nss_winbind.so, создаваемая при сборке в сорцах самбы по пути source/nsswitch/. При установке самбы из сорцов она (либа) никуда не инсталлится. Скопировав ручками ее в /lib и создав на всякий случай симлинк nss_winbind.so.1 самба НАКОНЕЦ-ТО заработала как полноценный член AD.
>Всем спасибо - разобрался
>Есть такая либа - nss_winbind.so, создаваемая при сборке в сорцах самбы по
>пути source/nsswitch/. При установке самбы из сорцов она (либа) никуда не
>инсталлится. Скопировав ручками ее в /lib и создав на всякий случай
>симлинк nss_winbind.so.1 самба НАКОНЕЦ-ТО заработала как полноценный член AD.Она копируется, только не с таким названием
[root@ackinak.mig] /usr/home/skif/# echo '/usr/lib/' ; lf /usr/lib | grep winbind ; echo '/usr/local/lib :' ; lf /usr/local/lib | grep winbind ;
/usr/lib/
pam_winbind.so
/usr/local/lib :
nss_winbind.so.1
pam_winbind.so
Как видишь pam_winbind.so, nss_winbind.so.1 - немного другое :), достаточно скопировать pam_winbind.so в /usr/lib , так как в /usr/local/lib оно найти не может ($HOME просто в порту для установки /usr/local), а вот в исходниках прописано жестко - /usr/lib
Жаль что я с ответом запоздал :)