LINUX.ORG.RU
решено ФорумAdmin

проблема с авторизацией в домене

 


0

2

Здравствуйте. У меня возникла проблема с авторизацией в домене самба.

Суть в следующем: я добавляю пользователя на пдс:

smbpasswd -a omg
(предположим с паролем 123)

потом пытаюсь просмотреть с помощью этого пользователя другую машину

smbclient -L 192.168.1.2 -U omg
ввожу пароль 123 и получаю
session setup failed: NT_STATUS_LOGON_FAILURE
но если я добавлю пользователя на этого клиента
useradd omg
не добавляя пароля и пытаюсь посмотреть что на клиенте:
smbclient -L 192.168.1.2 -U omg
и ввожу пароль 123 то логин проходит успешно.

не подскажите в чем проблема? Как сделать так, что бы клиенты брали свзяку «логин+пароль» с пдц?

на пдс:


[global]
 workgroup = FIRE
 netbios name = sunfire

 wins support = Yes

 domain master = yes
 local master = yes
 preferred master = Yes
 os level= 255

 security= user
 encrypt passwords = yes
 domain logons = yes

 logon path = \\%L\profiles\%u\%m
 logon drive = X:
 logon home = \\sunfire\%u\.win_profile\%m
 logon script = login.bat

 time server =yes

# domain admin group = root

 add user script = /usr/sbin/useradd -m -G users '%u'
 delete user script = /usr/sbin/userdel -r '%u'
 add group script = /usr/sbin/groupadd '%g'
 delete group script = /usr/sbin/groupdel '%g'
 add user to group script = /usr/sbin/usermod -a -G '%g' '%u'
 delete user from group script = /usr/bin/gpasswd -d %u %g
 add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u'

[homes]
        comment = Home Directories
        read only = No
        browseable = No

[netlogon]
        path = /srv/samba/netlogon
        browseable = No

[profiles]
        path = /srv/samba/nt-prof
        read only = No
        create mask = 0600
        directory mask = 0700
        browseable = No

[dfs]
        comment = Dfs share
        path = /srv/samba/dfs
        msdfs root = Yes
...

на клиенте:


root@debian:/etc# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[Video_vol_1]"
Processing section "[Video_vol_2]"
Processing section "[Music]"
Processing section "[Share]"
Processing section "[Soft]"
Processing section "[Rammstein]"
Processing section "[Android]"
Processing section "[Repository]"
Processing section "[WTR]"
Processing section "[BSUIR]"
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

[global]
workgroup = FIRE
netbios name = Debian
security = domain
encrypt passwords = true
password server = *
wins server = 192.168.1.4
os level = 33
log level = 5

....

на клиенте:

root@debian:/etc# cat /etc/nsswitch.conf 
# /etc/nsswitch.conf                                                                                                                                                            
#                                                                                                                                                                               
# Example configuration of GNU Name Service Switch functionality.                                                                                                               
# If you have the `glibc-doc-reference' and `info' packages installed, try:                                                                                                     
# `info libc "Name Service Switch"' for information about this file.                                                                                                            
                                                                                                                                                                                
passwd:         compat                                                                                                                                                          
group:          compat                                                                                                                                                          
shadow:         compat                                                                                                                                                          
                                                                                                                                                                                
hosts:          files wins  mdns4_minimal [NOTFOUND=return] dns mdns4                                                                                                           
networks:       files                                                                                                                                                           
                                                                                                                                                                                
protocols:      db files                                                                                                                                                        
services:       db files                                                                                                                                                        
ethers:         db files                                                                                                                                                        
rpc:            db files                                                                                                                                                        
                                                                                                                                                                                
netgroup:       nis 

★★★

Последнее исправление: disee (всего исправлений: 1)

не подскажите в чем проблема?

Ни в чем, так и должно быть.

Как сделать так, что бы клиенты брали свзяку «логин+пароль» с пдц?

Полноценный domain member делается так (для debian)
1. Устанавливаем samba winbind:

# apt-get install winbind
2. Затем удаляем сервер кеширования nss:

# apt-get remove nscd
3. Приводим файл /etc/samba/smb.conf к следующему виду:

/etc/samba/smb.conf
[global]
security = domain
workgroup = blah
server string = %h server
wins server = 10.0.0.1
interfaces = 127.0.0.0/24, 10.0.0.0/23
bind interfaces only = Yes
map to guest = Bad User
domain logons = no

winbind use default domain = yes
unix extensions = no

dos charset = 866
case sensitive = no
unix charset = UTF-8

#domain
winbind enum users = yes
winbind enum groups = yes
idmap uid=15000-20000
idmap gid=15000-20000
template homedir = /home/%D/%U
template shell = /bin/bash
password server = 10.0.0.1 10.0.15.5
4. Добавляем в домен

# net join rpc --user=zgen -S 10.0.0.1 blah
5. Рестартим сервис winbind:

# /etc/init.d/winbind stop
# /etc/init.d/winbind start
6. Проверяем, что компьютер добавился в домен (если нет, возвращаемся на п.3):

# wbinfo -t
checking the trust secret for domain blah via RPC calls succeeded
7. Проверяем, доступность пользователей и групп:

# wbinfo -u
user.name1
user.name2
user.name3
...

# wbnfo -g
groupname1
groupname2
groupname3
...
8. Добавляем данные от winbind в качестве источника данных passwd/group/shadow для подсистемы nss:

/etc/nsswitch.conf
...
passwd: compat winbind
group: compat winbind
shadow: compat winbind
...
9. Проверяем, что система «видит» пользователей и группы домена:

# getent passwd
user.name1:*:NUM:NUM:User:/home/blah/user.name1:/bin/bash
user.name2:*:NUM:NUM:User:/home/blah/user.name2:/bin/bash
user.name3:*:NUM:NUM:User:/home/blah/user.name3:/bin/bash
...

# getent group
groupname1:x:NUM:user.name1, user.name2, user.name3
groupname2:x:NUM:user.name1, user.name2, user.name3
groupname3:x:NUM:user.name1, user.name2, user.name3
...
10. Добавляем в настройки PAM необходимость автосоздания домашних директорий для новых пользователей:
/etc/pam.d/common-session:

session optional pam_winbind.so
session required pam_mkhomedir.so umask=0077
session optional pam_ck_connector.so nox11

zgen ★★★★★
()
Ответ на: комментарий от zgen

Сделал как вы сказали. теперь при

wbinfo -u
получаю список пользователей в домене. и в getent passwd тоже все есть. НО! При все той же попытке
root@debian:/etc/samba# smbclient -L 192.168.1.2 -U omg
Enter omg's password: 
session setup failed: NT_STATUS_LOGON_FAILURE
Но, еще вот что:
root@debian:/etc/samba# useradd omg
useradd: пользователь omg уже существует
т.е. пользователь добавился. но работать как следует он не хочет... :(

Не подскажите, что делать?

disee ★★★
() автор топика
Ответ на: комментарий от disee

useradd: пользователь omg уже существует

Мне непонятно, откуда и куда вы подключаетесь. Мне непонятно, на какой машине вы выполнили инструкции. Поэтому увы, помочь пока не могу.

zgen ★★★★★
()
Ответ на: комментарий от zgen

прошу прощение за малое кол-во инф. Сейчас все распишу.

у меня есть pdc называемый sunfire, и есть машины, включенные в домен (одна из них называется debian)

Я на мембере (машина debian) накрутил smb.conf как вы и сказали. и теперь при запросе на клиентской машине wbinfo -u вижу пользователей домена. НО! Если я пытаюсь посмотреть на клиентскую машину, используя доменный Аккаунт (например omg%123) то я получаю «NT_STATUS_LOGON_FAILURE». Суть в том, что раньше это лечилось добавлением на клиент, на который я хочу зайти, пользователя omg (путем useradd omg) , но теперь при таком подходе я получаю сообщение что такой пользователь уже существует, что свидетельствует тому, что список доменных пользователей успешно загружен. Однако почему то все равно я не могу использовать этот список для авторизации.

Вот как это выглядит:

root@SunFire:/home/stas# smbpasswd -a omg
New SMB password:
Retype new SMB password:

root@debian:/# wbinfo -u
omg
qwe
root
...

root@debian:/# smbclient -L localhost -U omg
Enter omg's password: 
session setup failed: NT_STATUS_LOGON_FAILURE

root@debian:/# useradd omg
useradd: пользователь omg уже существует

disee ★★★
() автор топика
Ответ на: комментарий от zgen

решил проблему. оказывается забыл удалить nscd. Удалил, все перегрузил. Все заработало. Спасибо большое

disee ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.