суббота, 1 декабря 2007 г.

Samba внутри jail + MS AD

На сервере был поднят веб-сервер с сайтом компании и поддерживать его поручили мне. Так как мне очень не хотелось перегонять файлы по FTP туда и обратно, решил поднять сервер Samba и через его шары рулить файлами сайта. И дизайнерам будет проще править дизайн. Чтобы не засорять систему поднял jail для Samba.

Порядок действий внутри созданного jail:
1. cd /usr/ports/net/samba3
2. в make config отметил:

[X] LDAP         With LDAP support
[X] ADS With Active Directory support
[X] WINBIND With WinBIND support
[X] UTMP With UTMP accounting support
[X] MSDFS With MSDFS support
[X] POPT With system-wide POPT library

3. И далее установил командой make install.
4. Настроил Kerberos5:
# cat > /etc/krb5.conf
[libdefaults]
default_realm = MY-DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false

[realms]
MY-DOMAIN.LOCAL = {
kdc = MY-DOMAIN.LOCAL
admin_server = MY-DOMAIN.LOCAL
kpasswd_server = 192.168.0.1
default_domain = my-domain.local
}

[domain_realm]
.my-domain.local = MY-DOMAIN.LOCAL

[logging]
default = FILE:/var/log/kerberos/krb5libs.log
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmind.log
Где my-domain.local домен MS Active Directory.
Проверяем:
# kinit root
root@MY-DOMAIN.LOCAL's Password:
kinit: NOTICE: ticket renewable lifetime is 1 week

Если выходит другое сообщение - проверяем файл конфигурации.

4. Файл конфигурации Samba:
# cat > /usr/local/etc/smb.conf
[global]
# Имя домена
workgroup = MY-DOMAIN
realm = MY-DOMAIN.LOCAL
server string = Samba Server

# Машина в Active Directory
security = ads
hosts allow = 192.168.0.
# Принтеры нам не нужны
load printers = no
show add printer wizard = no

log file = /var/log/samba/log.%m
# Контроллеры домена
password server = pdc.my-domain.local bdc.my-domain.local

# Имя samba сервера
netbios name = FILESRV

# IP-адрес jail
bind interfaces only = yes
interfaces = 192.168.0.23/24

auth methods = winbind
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind refresh tickets = Yes
case sensitive = No
hide unreadable = Yes
socket options = TCP_NODELAY
dns proxy = no
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

4. Правим /etc/hosts:
192.168.0.23 FILESRV FILESRV.MY-DOMAIN.LOCAL
Иначе машина не войдет в домен.

5. Правим /etc/resolv.conf:
search my-domain.local
nameserver 192.168.0.xxx

Где 192.168.0.xxx ip-адрес DNS Active Directory.

6. Правим /etc/nsswitch.conf:
« ... skip ... »
group: files winbind
passwd: files winbind

« ... skip ... »

7. Вгоняем машину в домен:
# net ads join -U root
Если машина вошла в домен, на всякий случай проверяем:
# wbinfo -u
« ... Список пользователей домена ... »
# wbinfo -g
« ... Список групп домена ... »

8. Запускаем Samba:
# /usr/local/etc/rc.d/samba start

Комментариев нет: