centos 6.4 как файловый сервер в AD2008R2. smb.conf в режиме registry

Apr 10, 2013 18:21

Для памяти, результат двухдневного копания

Имеются:
   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

wiki

Previous post Next post
Up