LINUX.ORG.RU
ФорумAdmin

авторизация в домене samba


0

2

здравствуйте. Есть сервер, в роли Samba PDC и клиенты (в основном Linux машины). Насколько я понимаю доменная авторизация заключается в следующем: все аккаунты хранятся на PDC, а логин на любую машину по smb производится с использованием аккаунтов, хранящихся на PDC.

Но у меня следующая проблема: если я захожу на сервер- все отлично, используются аккаунты и тд и тп. Но если я пытаюсь зайти по сети на DOMAIN_MEMBER, то для логина используются аккаунты, хронящиеся именно на этой машине, а не на сервере.

smb.conf на PDC:

root@SunFire:/etc/samba# cat /etc/samba/smb.conf | grep -v "#"
[global]
 workgroup = fire
 netbios name = sunfire
 name resolve order = wins bcast hosts
 
 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'

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

 wins support = Yes
 guest account = smbguest
 
 domain master= yes
 preferred master = Yes 
 local master = yes
 os level= 255

 security= user
 encrypt passwords = yes
 
[homes]
 comment = Home Directories
 browseable = No
 writable = yes

[netlogon]
 path = /srv/samba/netlogon
 comment = logon server
 browseable = no
 read only = yes


[profiles]
 path = /srv/samba/nt-prof
 writable = yes
 create mask = 0600
 directory mask = 0700
 browsable = no

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

[Torrents]
path = /home/stas/Torrent
writable = yes
create mask = 0775
directory mask = 0775
force group = users

smb.conf на DOMAIN_MEMBER:


[global]
workgroup = fire
netbios name = Debian
server string = Samba %v
security = domain
browseable = yes

[Video_vol_1]
path = /media/disk-e/MyVideo
comment = Video vol1
read only = Yes
guest ok = Yes

[Video_vol_2]
path = /home/stas/MyVideo_vol2
comment = Video vol2
read only = Yes

[Music]
path = /media/disk-e/MyMusic
comment = Music
readonly = Yes

[Share]
path = /media/disk-e/Hlam/Share
comment = Share doc's
read only = no
guest ok = yes

[Soft]
path = /media/disk-e/Soft
comment = Some soft
readonly = yes

[Rammstein]
path = /media/disk-e/Rammstein
comment = Rammstein
readonly = yes

[Android]
path = /media/disk-e/Android/
comment = Android
readonly = yes

[WTR]
path = /home/stas/WTR/
comment =books
readonly = yes

[BSUIR]
path = /home/stas/BSUIR/
comment = un
readonly =yes
hosts allow = 192.168.1.4 192.168.1.5 127.0.0.1
hosts deny = 0.0.0.0/0

проверка на пренадлежность к домену у PDC:

root@SunFire:/etc/samba# net rpc testjoin
Join to 'FIRE' is OK

проверка на пренадлежность к домену:

stas@debian:~$ sudo net rpc testjoin
Join to 'FIRE' is OK

Заранее спасибо

★★★

>Но если я пытаюсь зайти по сети на DOMAIN_MEMBER, то для логина используются аккаунты, хронящиеся именно на этой машине, а не на сервере.

Все крайне просто, на любом domain_member'е должен быть настроен и использоваться pam_winbind:


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 = ДОМЕН_АГА
server string = %h server
wins server = PDC
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=root -S PDC ДОМЕН_АГА
5. Рестартим сервис winbind:

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

# wbinfo -t
checking the trust secret for domain ДОМЕН_АГА 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/ДОМЕН_АГА/user.name1:/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

пробую смотреть сеть через dolphin Как только захожу на DOMAIN_MEMBER сразу же вылетает ошибка «Истекло время ожидания сервера 192.168.1.2»

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

Да. Все абсолютно сделал. При тесте все норм. Но теперь просто не могу зайти наdomain_member (а так как я обычно это делаю через долфин вот его и упомянул.).

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

Ты на обоих domain member'ах сделал или только на одном?

Логинишься в систему/gnome (или что там у тебя) под доменным пользователем?

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

>На обоих, логинюсь НЕ под доменными пользователями
В таком случае, как и почему ты хочешь попасть на другого domain member'а?

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

Здравствуйте еще раз. Появилась небольшая проблемка... Дело в том, что один из компьютеров - ноутбук. Он подключается к сети по Wi-Fi. Так вот проблема в следующем: При загрузке подключения к wi-fi идет уже после авторизации в системе., и поэтому я не могу залогинится под аккаунтами, которые хранятся на сервере. Не подскажите как это можно решить?

P.S. при использовании доменной авторизации почему то страашно ругаются некоторые приложения, в частности NetworkManager (а точнее крашится) (у меня KDE).

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

в общем капнув чуть глубже оказалась куча ошибок. Вот в частности при попытке авторизации на pdc в сислоге:

winbindd/idmap.c:201(smb_register_idmap_alloc)
Nov 10 00:48:35 SunFire winbindd[1458]:   idmap_alloc module tdb already registered!
Nov 10 00:48:35 SunFire winbindd[1458]: [2011/11/10 00:48:35.671124,  0] winbindd/idmap.c:149(smb_register_idmap)
Nov 10 00:48:35 SunFire winbindd[1458]:   Idmap module passdb already registered!
Nov 10 00:48:35 SunFire winbindd[1458]: [2011/11/10 00:48:35.671373,  0] winbindd/idmap.c:149(smb_register_idmap)
Nov 10 00:48:35 SunFire winbindd[1458]:   Idmap module nss already registered!
Nov 10 00:48:35 SunFire winbindd[1458]: [2011/11/10 00:48:35.671957,  0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
Nov 10 00:48:35 SunFire winbindd[1458]:   Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configuration

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

танцы с бубном вывели следующий результат:
после загрузки и логина
net rpc join --user=root -S 192.168.1.4 fire
/etc/init.d/winbind restart
и после этого все работает.
но очень очень хотелось бы что бы можно было бы логинится сразу после загрузки. помогите, пожалуйста

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

После перезагрузки просто

/etc/init.d/winbind restart


не решает проблемы? O_o

Если этого не делать, то что говорит wbinfo -u / wbinfo -t / wbinfo -g ?

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

просто рестарт не решает... пока не проделаю манипуляции выскакивает следующее:

root@mini:/# wbinfo -t
checking the trust secret for domain FIRE via RPC calls failed
Could not check secret
root@mini:/# wbinfo -u
MINI\nobody

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