Пятница, 2024-11-08, 1:40 PM
 
Начало Форум Регистрация Вход
Вы вошли как Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: denix  
Включаем Samba 3 в домен с контроллером домена Windows 2003
denixДата: Четверг, 2006-06-29, 2:11 AM | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 531
Репутация: 0
Статус: Offline
Написать данную статью мне захотелось, потому что 2 дня я провел перед
машиной, чтобы это гиблое дело заработало. Под рукой было множество
статей(авторы!не принимайте за оскорбление), но ни одна из них не
помогла полностью....

Определяемся:

* Сеть: полностью виндузная, кроме Вас - счастливчика, да гейта в инет,
который нас в этом деле не интересует smile

* Samba: версии 3.0.2a (с winbind)(ставил из дистриба MDK из rpm)

* ОС: Mandrake 10 Official

* Домен: Windows 2000 Server(русский), Active Directory, DNS находится
на этом сервере

* Имя машины под Linux: linux (IP 192.168.0.10)

* Имя домена: DOMAIN.RU

* Имя сервера: Server (IP 192.168.0.2)

* Имя админа сервера: Admin

Имеются права админа на сервере и права рута на Вашей машине wink
Для начала настаиваем DNS в Windows 2000 Server.

Идем в "Панель управления>Администрирование>DNS"
Добавляем узел: linux в зону domain.ru с ip адресом 192.168.0.2

Все...винда готова.


Надеюсь Samba и winbind уже установлены.

Итак...наполняем /etc/samba/smb.conf:

#smb.conf
[global]
log file = /var/log/samba/log.%m # обязательно ведем логи....без них я
# бы никогда ничего не настроил smile
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #Опции TCP и буферизации

null passwords = yes # Разрешить пустые пароли
encrypt passwords = yes # Шифровать пароли
hosts allow = 192.168.0. 127. # Разрешенные хостыподсети
interfaces = 192.168.0.10/24 # Привязываем самбу к своему интерфейсу(можно указать несколько)
winbind use default domain = yes # Говорим winbind использовать домен по умолчанию
winbind uid = 10000-20000 # Выделяем диапазон UIDов для winbind
case sensitive = no # Отключаем зависимость от регистра имен файлов
dns proxy = no # Не проксировать DNS
netbios name = linux # Имя машины(которое будет с "СЕТЕВОМ ОКРУЖЕНИИ")
server string = My Workstation # Описание машины(необязательно)
password server = pdc, bdc # Названия первичного и вторичного
# контроллера домена (соответствие указывается
# в файле /etc/samba/lmhosts

dos charset = 866 # Кодовая страница
winbind gid = 10000-20000 # Выделяем диапазон GIDов для winbind
local master = no # Не помню что это значит...по моему это даже не нужно...
workgroup = DOMAIN # Имя домена
security = domain # Тип безопасности: домен
unix charset = KOI8-R # Кодовая страница nix
max log size = 50 # Максимальный размер лога
auth methods = winbind # Метод аутентификации: winbind
winbind separator = \ # Разделитель ДОМЕН\Пользователь(Группа)

# Далее расшаривание ресурсов:

[mp3] # название ресурса
comment = Upload # Комментарий(необязательно)
path= /mnt/win_e/MMedia/mp3 # Путь
browseable = yes # Разрешить видеть содержимое
writable = no # Запретить запись
directory mask = 0777 # Маска создания директорий
create mask = 0666 # Маска создания файлов
valid users = @"Admin" # Даем доступ только админу, пользователей или
# группы перечисляем через запятую.Группы для
# домена на русской версии windows указывается
# таким образом: @"DOMAIN\Пользователи домена"
#Конец smb.conf

Сохраняем smb.conf

Начинаем править /etc/samba/lmhosts

В этом файле указываем IP нашего сервера и соответствующее имя для
использования в smb.conf

Запись про bdc создана на всякий случай...пусть самба думает что у вас
есть резервный контроллер домена(иначе все может просто не
заработать). Или - если он есть, укажите его.

#lmhosts
127.0.0.1 localhost
192.168.0.2 pdc
192.168.0.3 bdc
#Конец lmhosts

Дальше - системе надо сказать, что она будет использовать для
аутентификации.

Для этого правим файл /etc/nsswitch.conf

Я привожу его полностью, внимание же надо обратить на первые 3 строчки
(начиная с passwd :))

#nsswitch.conf
passwd: files winbind
shadow: files winbind
group: files winbind
hosts: files nisplus nis dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus
#Конец nsswitch.conf

Потом редактируем /etc/pam.d/samba
Добавляем недостающие строки:

#samba
auth required pam_winbind.so
auth required pam_nologin.so
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
auth required pam_stack.so service=system-auth
account sufficient pam_winbind.so
password required pam_winbind.so
#Конец samba

Аналогично: /etc/pam.d/system-auth-winbind

#system-auth-winbind
auth required pam_env.so
auth sufficient pam_winbind.so
auth sufficient pam_unix.so likeauth nullok use_first_pass
auth required pam_deny.so
account sufficient pam_winbind.so
account required pam_unix.so
password required pam_cracklib.so retry=3
password sufficient pam_unix.so nullok use_authtok md5 shadow
password required pam_deny.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_limits.so
session required pam_unix.so
#Конец system-auth-winbind

Для тех, кто хочет использовать Kerberos надо отредактировать файл
/etc/krb5.conf, чтобы он смотрел на центр раздачи ключей, который есть
у вас в сети.(Скорее всего это тот самый пресловутый доменный сервер
под Win2kServer).

И вообще, чтобы использовать Kerberos на полную, конфиг самбы нужно
использовать в режиме ads, а не domain
Мне Kerberos не нужен, поэтому я этот файл даже не трогал.

Все...файлы отредактировали. Переводим дух... Выполняем:

[root@linux /]net join -U Admin

После этого мы должны ввести пароль админа контроллера домена.
Результатом должно быть

Joined to domain DOMAIN.

Если не трогали /etc/krb5.conf или неправильно его отредактировали, в
процессе ругнется что не может использовать KDC.

libads/kerberos.c:ads_kinit_password(133)
kerberos_kinit_password Admin@DOMAIN.RU failed: KDC has no support for encryption type
Joined domain DOMAIN

Это ничего - если вы не хотите использовать Kerberos.
Далее выполняем:

[root@linux /]service winbind restart
[root@linux /]service smb restart

Грабли: особенность Мандрейка 10:

Если еще раз перезапустить winbind и выскочит такое. Т.е. после

"Shutting Down" нет [OK]:
Shutting Down Winbind...............
Starting Winbind.................... [ OK ]

Для решения проблемы можно привести файл /etc/rc.d/init.d/winbind в
надлежащий вид. А если конкретнее секцию stop(кто знает другой способ
- пишите:)):

stop() {
gprintf "Shutting down Winbind services: "
RETVAL=1
killproc winbindd
rm -f /var/run/samba/winbindd.pid
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/winbind
return $RETVAL
}

После этого, смотрим, как все работает:
Если что-то неправильно - смотрим конфиги.

Сначала:

[root@linux /]wbinfo -p
Ping to winbindd succeeded

Затем:

[root@linux /]wbinfo -t
Сhecking the trust secret via RPC calls succeeded

Смотрим, отображаются ли пользователи:

[root@linux /]wbinfo -u

Тут будут перечислены пользователи домена.
Смотрим, отображаются ли группы:

[root@linux /]wbinfo -g

Тут будут перечислены группы домена.
Смотрим видит ли линукс вышеперечисленное:

[root@linux /]getent group

Тут будут перечислены сначала группы и пользователи линукса - следом
будут пользователи и группы домена.
Если что-то не так: смотрим

/var/log/samba/log.smbd
/var/log/samba/log.nmbd
/var/log/samba/log.winbindd

В них четко и ясно написано где ошибка smile
Все! Дописываем нужные шары, разрешения на них. Также можно
использовать квоты, но для этого Ваше ядро должно быть откомпилено с
поддержкой квот.

 
  • Страница 1 из 1
  • 1
Поиск:


Бесплатный хостинг uCoz