Задание: дать доменным пользователям из групп «domain users» и «domain admins» на работе доступ на свою машину по samba.
Дополнительные начальные данные:
- на моей «рабочей лошадке» стоит Debian Lenny
- пользователи которых я хочу пустить к себе по samba работают под WinXP с авторизацией через домен my.domain поднятый на Win2k8 (контроллер домена — controller.my.domain)
- права на запись в моих шарах должны иметь только некоторые доменные админские группы, остальным — только чтение
- учетная запись доменного админа Admin (он может ввести машину в домен)
- рабочая группа — WORK ( наследство от давно почившего контроллера домена под Win NT 4)
- имя моей машины — black
Итак, начнем! Сначала ставим необходимые пакетики:
black:~# aptitude install krb5-user winbind samba
Начинаем веселиться — вот такие у меня конфиги:
black:~# cat /etc/krb5.conf |grep -v ^#
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = MY.DOMAIN
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
MY.DOMAIN = {
kdc = controller.my.domain
admin_server = controller.my.domain
}
[domain_realm]
.my.domain = MY.DOMAIN
my.domain = MY.DOMAIN
[login]
krb4_convert = true
krb4_get_tickets = false
Минимально необходимый конфиг samba выглядит вот так:
black:~# cat /etc/samba/smb.conf |grep -v ^#
[global]
realm = MY.DOMAIN
workgroup = WORK
netbios name = black
disable spoolss = Yes
show add printer wizard = No
security = ads
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%D/%U
winbind use default domain = yes
[share]
comment = Write for Domain Users
path = /media/samba/share
browseable = yes
writable = yes
create mask = 0664
directory mask = 0777
valid users = @"WORK\domain admins", @"WORK\domain users"
write list = @"WORK\domain admins", @"WORK\domain users"
После того как настроили samba, надо бы ее перегрузить:
black:~# /etc/init.d/samba restart
И winbind не помешает передернуть:
black:~# /etc/init.d/winbind restart
Правим nsswitch.conf примерно до такого вида:
black:~# cat /etc/nsswitch.conf |grep -v ^#
passwd: files winbind
group: files winbind
shadow: files winbind
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 winbind
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Чтобы вступили в силу изменения в конфиге /etc/nsswitch.conf без перегарузки, нужно от рута дать команду:
Перед тем как вводить машину в домен нужно сначала синхронизировать время с домен-контроллером:
black:~# ntpdate controller.my.domain
После удачной синхронизации времени мы готовы стать полноценным участником домена my.domain. Чтобы войти в домен выполняем от рута:
black:~# net ads join -W my.domain -S master -U Admin
password for Admin:
Admin— доменный администратор который имеет право ввести комп в домен
В ответ на это нас должны спросить доменный пароль для доменного пользователя Admin. После ввода пароля — МЫ В ДОМЕНЕ!!! Если конечно не вывалилась какаято ошибка. Проверить то что мы таки вошли в домен можно например набрав команду:
black:~# wbinfo -u
audit1
audit2
test_1
test_2
..........
В ответ на которую мы должны увидеть перечень доменных пользователей.
Для того чтобы в нашу систему можно было логиниться под доменными аккаунтами нужно привести конфиги PAM к такому виду:
black:~# cat /etc/pam.d/common-account
account sufficient pam_winbind.so
account required pam_unix.so
black:~# cat /etc/pam.d/common-auth
auth sufficient pam_winbind.so
auth required pam_unix.so use_first_pass
black:~# cat /etc/pam.d/common-session
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session sufficient pam_winbind.so
session required pam_unix.so
Вот и все! Можно пробовать зайти, например, по ssh или samba на наш компьютер. Пользователей входящих в группы «domain admins» и «domain users» должно пускать без проблем (даже не спрашивая пароль).
всегото чуток поправить умолчательный конфиг. Привожу свой с небольшими коментариями:
всегото чуток поправить умолчательный конфиг. Привожу свой с небольшими коментариями: