Для памяти, результат двухдневного копания
Имеются:
1. AD домен 2008R2
2. vmware esxi 5.1 и CentOS 6.4 x64 на нем.
Задача: Настроить CentOS как файловый сервер в среде MS ADS 2008R2, без использования графического интерфейса.
1. Настройка авторизации через winbind
#authconfig --enablewinbind --enablewinbindauth --smbsecurity=ads --enablewinbindoffline --smbworkgroup=MYDOMAIN --smbrealm=MYDOMAIN.DOM --winbindtemplateshell=/bin/sh --winbindtemplatehomedir=/home/%U --enablewinbindusedefaultdomain --enablemkhomedir --update
Эта команда правит /etc/krb5.conf, /etc/samba/smb.conf, /etc/nssswitch.conf и /etc/pam.d/password-auth
В принципе, после выполнения этой команды, машину уже можно включать в домен и начинать работать. Но имеются некоторые тонкости и шероховатости, которые неплохо было бы обработать ручками...2. Можно немного поправить krb5.conf, удалив все связанное с адресами kdc, т.к.DNS настроен, структура kerberos хранится в DNS
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default realm = MYDOMAIN.DOM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
MYDOMAIN.DOM = {}
[domain_realm]
mydomain.dom = MYDOMAIN.DOM
.mydomain.dom = MYDOMAIN.DOM
Этого достаточно. Всю остальную информацию о домене kerberos получит из DNS
Проверяем:
#kinit domainusername@MYDOMAIN.DOM
Password for domainusername@MYDOMAIN.DOM:
#klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: domainusername@MYDOMAIN.DOM
Valid starting Expires Service principal
04/10/13 17:15:18 04/11/13 03:15:21 krbtgt/MYDOMAIN.DOM@MYDOMAIN.DOM
renew until 04/11/13 03:15:18
Этот тикет на самом деле не нужен, только для проверки правильности настройки kerberos#kdestroy
3. Копируем созданный smb.conf в smb.conf.txt, а в самом smb.conf оставляем только одну строчку:
config backend = registry
Это все. Все настройки будем хранить в реестре. Можно заполнить полностью вручную, через net conf setparm, а можно импортнуть текстовый файл, который мы скопировали
net conf import /etc/samba/smb.conf.txt
Примерное содержание smb.conf.txt
[global]
workgroup = MYDOMAIN
realm = MYDOMAIN.DOM
security = ADS
obey pam restrictions = Yes
template homedir = /home/%U
template shell = /bin/sh
winbind use default domain = Yes
winbind offline logon = Yes
idmap config * : range = 1000-9999
idmap config * : backend = tdb
Параметры в секцию [global] добавляются командой net conf setparm global
Для начала достаточно, на всякий случай синхронизируем время с контролером домена:
#ntpdate dc_address
и вводим машину в домен:
#net ads join -U domain-admin-name -D MYDOMAIN.DOM -createcomputer=OU-For-Servers -osName=CentOS -osVer=6.4
Проверяем:
#net ads info
LDAP server: x.x.x.x
LDAP server name: dc_address.mydomain.dom
Realm: MYDOMAIN.DOM
Bind Path: dc=MYDOMAIN,dc=DOM
LDAP port: 389
Server time: Срд, 10 Апр 2013 18:08:01 MSK
KDC server: x.x.x.x
Server time offset: 0Запускаем winbind
#service winbind start
Проверяем работу
#wbinfo -u
Список пользователей домена
#wbinfo -g
Список групп домена
- authconfig, для автосоздания домашних каталогов пользователей включает pam_oddjob_mkhomedir.so и службу oddjobd. Но у меня почему то с этими настройками samba не хотела создавать каталоги пользователей при заходе через smb, только при входе через ssh. Поменяла в /etc/pam.d/password-auth строчку
session optional pam_oddjob_mkhomedir.so skel=/etc/skel umask=0022
на
session required pam_mkhomedir.so skel=/etc/skel umask=0022
После этой замены домашние каталоги стали создаваться.
Осталось только включить поддержку расширенных ACL на файловой системе, настроить SELinux (разрешить создание домашних каталогов и прочее, включить флаг samba_share_t для расшаренных каталогов) и настроить iptables для разрешения доступа к серверу по smb и rpc
Настройками samba можно управлять через службу RemoteRegistry - с любой windows машины, запустить regedit с правами доменного администратора или оснасткой compmgmt.msc
Шары можно добавить с помощью того же импорта или net conf addshare
и затем занести параметры net conf setparm а так же с помощью средств администрирования windows
Завтра будем включать поддержку корзины, теневых копий и отдадим часть дискового массива в общее пользование по iSCSI