Информация
На главную Главная

Мой t-cards.ru
Войти Войти
Зарегистрироваться Регистрация

Разное
Форум Форум
Вернуться Форумы на t-cards.ru> Hard"n"Soft
Логин
Пароль
Регистрация Участники Поиск >> FAQ


Сообщения в теме: "Samba как контроллер домена с хранением аккаунтов ..."
17.03.2005 21:33
Admin

Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
По умолчаниюSamba как контроллер домена с хранением аккаунтов в MySQL

Решил от нечего делать заставить самбу стать контроллером домена…
Первоисточником послужила данная статья:

Про MySQL в инете написано крайне мало и непонятно, даже родные how-to с
www.samba.org не блещут инфой, пришлось копать самому немного.

Мой итоговый конфиг:

#/etc/samba/smb.conf
[global]

workgroup = HOME
netbios name = gwh
security = user
password server = *

server string = Internet gateway %v

#Папку samba3 только надо сначала создать, иначе у меня ошибку выдавал
log file = /var/log/samba3/log.%m
max log size = 50

map to guest = bad user

encrypt passwords = yes

winbind uid = 10000-20000
winbind gid = 10000-20000

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

#Непосредственно настройки, указывающие, что надо быть контроллером:
local master = yes
os level = 64
preferred master = yes
domain logons = yes

logon path = \\%L\profiles\%U
logon home = \\%L\%U\.profile

#Скрипт для создания “на лету” машинной учетной записи при включении в домен:
#(только под юзером root!!!)

add user script = useradd -d /dev/null -g 100 -s /bin/false -M %u

#Теперь настройки коннекта на MySQL:
#Что касается параметра smb_users, то самба как будто не видит указание на нее
#и пишет все в таблицу по умолчанию user.. Пришлось такую и создать
passdb backend = mysql:mysql
mysql:mysql host = localhost
mysql:mysql table = smb_users
mysql:mysql user = ftp
mysql:mysql password = homeftp
mysql:mysql database = home
mysql:lanman pass = lm_pw:
mysql:nt pass = nt_pw:

#Шары для логина в домен и хранения профилей:
[netlogon]
path = /var/lib/samba/netlogon
read only = yes
write list = ntadmin

#Папке profiles пришлось дать права 777, иначе
#не может войти и создать папку под рядовым юзером (кривые руки? :)))
[profiles]
path = /var/lib/samba/profiles
read only = no
create mask = 0600
directory mask = 0700

#Ну и теперь просто общие папки, вот например:
[donkey]
comment = share
path = /home/p2p/.mldonkey/incoming/
#valid users = TPAY-MSK\serg serg azemskov dima irina masha administrator
public = yes
writable = yes

17.03.2005 22:04
Admin

Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
По умолчаниюSamba как контроллер домена с хранением аккаунтов в MySQL

Запрос для создания таблицы в базе (есть в дистрибе от самбы): CREATE TABLE user (
logon_time int(9),
logoff_time int(9),
kickoff_time int(9),
pass_last_set_time int(9),
pass_can_change_time int(9),
pass_must_change_time int(9),
username varchar(255),
domain varchar(255),
nt_username varchar(255),
nt_fullname varchar(255),
home_dir varchar(255),
dir_drive varchar(4),
logon_script varchar(255),
profile_path varchar(255),
acct_desc varchar(255),
workstations varchar(255),
unknown_str varchar(255),
munged_dial varchar(255),
uid int(9) NOT NULL DEFAULT "0" PRIMARY KEY auto_increment,
gid int(9),
user_sid varchar(255),
group_sid varchar(255),
lm_pw varchar(255),
nt_pw varchar(255),
acct_ctrl int(9),
unknown_3 int(9),
logon_divs int(9),
hours_len int(9),
unknown_5 int(9),
unknown_6 int(9),
bad_password_count int(9),
logon_count int(9)
);
17.03.2005 22:11
Admin

Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
По умолчаниюSamba как контроллер домена с хранением аккаунтов в MySQL

Теперь немного слов о создании админа домена... Задача синхронизации UNIX и виндовых аккаунтов задача крайне сложная, как я понял, но в samba 3.0 и выше реализован маппинг виндовых групп на юниксовые. Вот например, таким образом. Сначала создадим юниксовую группу ntadmins:
groupadd ntadmins
Затем пдобавим пользователя в эту группу:
useradd -g ntadmins -d /dev/null -s /bin/false ola

Затем
smbpasswd -a ola
Получаем вот такую картинку:
gwh root # smbpasswd -a ola
Connecting to database server, host: localhost, user: ftp, password: homeftp, database: home, port: 3306
New SMB password:
Retype new SMB password:
Added user ola.


Юзер попадает в базу. Теперь задача вот эту группу ntadmins спроецировать на виндовую группу Domain Admins. Это делается так:
net groupmap modify ntgroup="Domain Admins" unixgroup=ntadmins
Видим вот такое:
gwh root # net groupmap list
System Operators (S-1-5-32-549) -> -1
Domain Guests (S-1-5-21-1876536520-602452883-3015453-514) -> -1
Replicators (S-1-5-32-552) -> -1
Guests (S-1-5-32-546) -> -1
Power Users (S-1-5-32-547) -> -1
Domain Users (S-1-5-21-1876536520-602452883-3015453-513) -> users
Print Operators (S-1-5-32-550) -> -1
Administrators (S-1-5-32-544) -> -1
Account Operators (S-1-5-32-548) -> -1
Backup Operators (S-1-5-32-551) -> -1
Users (S-1-5-32-545) -> -1
Domain Admins (S-1-5-21-1876536520-602452883-3015453-512) -> ntadmins


Domain Admins реплицируются на ntadmins.
Итого для создания нового юзера надо выполнить 2 команды, которые можно потом объединить в один скрипт...
17.03.2005 22:26
Admin

Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
По умолчаниюSamba как контроллер домена с хранением аккаунтов в MySQL

Машина с только что поставленным WinXP влетела в домен без проблем, а вот моя 2000, которая сначала была в том домене (когда еще авторизация не в MySQL была), потом была исключена из домена, заново в домен включаться не захотела, ошибка "конфликт указанных параметров с существующими". Интересный и жёсткий глюк, еще не разобрался, почему.. :(
18.03.2005 01:10
Admin

Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
По умолчаниюSamba как контроллер домена с хранением аккаунтов в MySQL

Все, разобрался. Я просто забыл отключить сетевой диск!!!!!! :)