>Покажите /etc/krb5.conf
Я его нетрогал он мне ненужен... во всяком случае пока что....
#krb5.conf
[logging]
default = FILE:/var/log/kerberos/krb5libs.log
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = MANDRAKESOFT.COM
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc
default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
permitted_enctypes = des3-hmac-sha1 des-cbc-crc
dns_lookup_realm = false
dns_lookup_kdc = false
kdc_req_checksum_type = 2
checksum_type = 2
ccache_type = 1
forwardable = true
proxiable = true
[realms]
MANDRAKESOFT.COM = {
kdc = kerberos.mandrakesoft.com:88
admin_server = kerberos.mandrakesoft.com:749
default_domain = mandrakesoft.com
}
[domain_realm]
.mandrakesoft.com = MANDRAKESOFT.COM
[kdc]
profile = /etc/kerberos/krb5kdc/kdc.conf
[pam]
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
[login]
krb4_convert = false
krb4_get_tickets = false
#End krb5.conf
Я все это делал по документации:
Включаем Samba 3 в домен с контроллером домена под Windows 2000 Server
Написать данную статью мне захотелось, потому что 2 дня я провел перед машиной, чтобы это гиблое дело заработало. Под рукой было множество статей(авторы!не принимайте за оскорбление), но ни одна из них не помогла полностью....
Определяемся:
Сеть: полностью виндузная, кроме Вас - счастливчика, да гейта в инет, который нас в этом деле не интересует :)
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
Имеются права админа на сервере и права рута на Вашей машине ;)
Для начала настаиваем 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 #обязательно ведем логи....без них я бы никогда ничего не настроил :)
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
В них четко и ясно написано где ошибка :)
Все! Дописываем нужные шары, разрешения на них. Также можно использовать квоты, но для этого Ваше ядро должно быть откомпилено с поддержкой квот.
P.S. Не забываем про man smb.conf !
Posted by Morph
что можите посоветовать? и можете сказать где можно найти более мение нормальные доки по Kerberos....
Зарание спасибо