Документация по ОС FreeBSD
Среда, 26.11.2025, 07:20
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
Samba
KDE и smb, шары по русски в win2003 домене [2008]
1. Samba, Kerberos, FreeBSD и win2003 домен
В первую очередь надо настроить сеть, то есть имя машины DNS, шлюз, сетевые интерфейсы, машины сети и контроллеры доменов должны нормально пинговаться по именам, просто один раз, я забыл настроить DNS и два дня ломал себе голову почему я не могу войти в домен.
Для того, чтобы FreeBSD сделать членом домена, вначале надо настроить kerberos, вот - пример моего файла:
/etc/krb5.conf
[appdefaults]
proxiable = true
ticket_lifetime = 24h
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false # отключаем совместимость с 4 керебросом
[realms]
DOMAIN.LOCAL = {
# где server.domain.local ваш контроллер домена
kdc = tcp/server.domain.local:88
# где server.domain.local ваш контроллер домена
admin_server = server.domain.local
# домен по умолчанию
default_domain = domain.local
}
[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL
[kdc]
enable-kerberos4 = false # отключаем 4 kerberos
[logging]
default = FILE:/var/log/kerberos/krb5libs.log
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmind.log
Затем, надо поправить файл nsswitch.conf, чтобы система увидела доменные учетные записи, групы и компьютеры /etc/nsswitch.conf
group: files winbind
hosts: files dns winbind
networks: files dns winbind
passwd: files winbind
shadow: files winbind
shells: files winbind
services: files
protocols: files
rpc: files
Теперь, надо заставить FreeBSD авторизировать доменных пользователей так прозрачно, как и локальных, для этого надо отредактировать содержимое каталога /etc/pam.d/. Я, просто расскоментировал все строчки содержащие pam_krb5.so.
Опять же, по желанию, можно сделать автосоздание профиля для доменных пользователей при первом входе в систему, для этого надо установить порт /usr/ports/security/pam_mkhomedir
и поправить содержимое каталога /etc/pam.d, добавив в начало секций session следующую строчку:
session required pam_mkhomedir.so skel=/usr/share/skel
skel - это путь к дефаултному профилю
Процесс установки и настройки samba для включения в домен описывать не буду т.к. lissyara его достаточно хорошо описал, приведу только пример своего кофига:
/usr/local/etc/smb.conf
[global]
workgroup = DOMAIN
realm = DOMAIN.LOCAL
server string = Kotlyarov Nikolay HOME PC
security = ADS
hosts allow = 192.168.0. 192.168.1. 10. 127.
# load printers = yes
# printcap name = /etc/printcap
# printcap name = lpstat
# printing = cups
# guest account = pcguest
log file = /var/log/samba/log.%m
max log size = 500
password server = exchange
# passdb backend = tdbsam
# include = /usr/local/etc/smb.conf.%m
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
#socket options = SO_RCVBUF=8192 SO_SNDBUF=8192
# interfaces = 192.168.0.44
local master = no
os level = 33
#domain master = yes
#preferred master = yes
domain master = no
preferred master = no
#domain logons = yes
# logon script = %m.bat
# logon script = %U.bat
# logon path = \\%L\Profiles\%U
# wins support = yes
# wins server = w.x.y.z
# wins proxy = yes
dns proxy = no
dos charset = 866
#unix charset = utf-8
unix charset = koi8-r
display charset = koi8-r
preserve case = Yes
store dos attributes = yes
map hidden = no
map system = no
map archive = no
nt acl support = yes
inherit acls = yes
map acl inherit = yes
# add user script = /usr/sbin/useradd %u
# add group script = /usr/sbin/groupadd %g
# add machine script =
#/usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
# delete user script = /usr/sbin/userdel %u
# delete user from group script = /usr/sbin/deluser %u %g
# delete group script = /usr/sbin/groupdel %g
encrypt passwords = Yes
hostname lookups = yes
winbind uid = 10000-50000
winbind gid = 10000-50000
template shell = /usr/local/bin/bash
template homedir = /home/%D/%U
winbind use default domain = yes
winbind enum groups = yes
winbind enum users = yes
winbind offline logon = yes
winbind refresh tickets = yes
allow trusted domains = no
client schannel = No
restrict anonymous = no
ldap ssl = No
map to guest = Bad User
guest ok = yes
case sensitive = No
acl compatibility = win2k
[homes]
comment = Home Directories
browseable = no
writable = yes
# [netlogon]
# comment = Network Logon Service
# path = /usr/local/samba/lib/netlogon
# guest ok = yes
# writable = no
# share modes = no
#[Profiles]
# path = /usr/local/samba/profiles
# browseable = no
# guest ok = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
#[tmp]
# comment = Temporary file space
# path = /tmp
# read only = no
# public = yes
#[public]
# comment = Public Stuff
# path = /home/samba
# public = yes
# writable = yes
# printable = no
# write list = @staff
#[fredsprn]
# comment = Fred's Printer
# valid users = fred
# path = /homes/fred
# printer = freds_printer
# public = no# comment = Fred's Printer
# valid users = fred
# path = /homes/fred
# printer = freds_printer
# public = no
# writable = no
# printable = yes
#[fredsdir]
# comment = Fred's Service
# path = /usr/somewhere/private
# valid users = fred
# public = no
# writable = yes
# printable = no
#[pchome]
# comment = PC Directories
# path = /usr/pc/%m
# public = no
# writable = yes
#[public]
# path = /usr/somewhere/else/public
# public = yes
# only guest = yes
# writable = yes
# printable = no
#[myshare]
# comment = Mary's and Fred's stuff
# path = /usr/somewhere/shared
# valid users = mary fred
# public = no
# writable = yes
# printable = no
# create mask = 0765
[Share]
unix charset = koi8-r
valid users = @"%D\Domain Users" @"%D\Domain Admins"
read list = @"%D\Domain Users" @"%D\Domain Admins"
write list = %D\kotlyarov
admin users = %D\kotlyarov
read only = yes
browseable = yes
path = /Share
comment = Моя шара
#nt acl support = yes
#acl group control = yes
#acl check permissions = True
#acl map full control = True
#map acl inherit = Yes
#inherit acls = yes
#inherit owner = yes
#inherit permissions = yes
# writable = no
# printable = yes
для автоматически синхронизации времени с доменом добавьте в
cat >> /etc/rc.conf
ntpdate_enable="YES"
ntpdate_flags="<Имя вашего домена>"
^C
после настройки самбы можно включить компьютер в домен:
синхронизируем время с DC
ntpdate server.domain.local
(где server.domain.local - имя вашего DC), получаем билет kerberos
kinit admin
(где admin это доменная учетка админа), и собственно заводим машину в домен
net ads join -Uadmin%password
(admin%password - доменная учетная запись с правами администратора и пароль)
Все готово, теперь перезапускам самбу и можно входить в систему под
доменными учетными записями с получением всех доменных прав (авторизация по
kerberos).
2. Доменные шары по-русски, хождение по SMB шарам в konqueror'е
Чтобы не было проблем с русскими именами в названиях папок файлов и шар, надо поправить следующие значения в файле /usr/local/etc/smb.conf
dos charset = 866
unix charset = koi8-r
display charset = koi8-r
Если вы решите перевести FreeBSD на юникод, то вместо koi8-r поставьте utf-8
Очень долго бился с тем что konqueror не хочет нормально отображать русские имена в smb:// при локальной кодировке koi8-r, решил эту проблему следующим образом:
после долгого блуждания по исходникам KDE, обнаружил следующие вещи:
1. внутреннее представление данных идет в кодировке utf-8 НЕЗАВИСИМО от того на какую кодировку локализированна система
2. кодировка smb:// в konkueror таинственным образом зависит от параметров русификации самбы
3. чтобы смб шары в konkueror отображались по русски (вместо вопросиков и квадратиков) надо либо настроить систему на utf-8 локаль (не лучший вариант, т.к. фришная консоль utf не поддерживает), либо давать кедам данные в кодировке utf-8, то есть поправить русификацию самбы вот так:
dos charset = 866
unix charset = utf-8
display charset = koi8-r
и вуаля оно заработало, вот только появилась другая проблема, если на машине с FreeBSD есть SMB шары то теперь на них слетает кодировка, после нескольких экспериментов обнаружил, что KDE напрямую читает конфиг самбы, и придумал следующее:
создаем файл ~/.smb/smb.conf со следующим содержимым
unix charset = utf-8
например вот так
mkdir ~/.smb; echo "unix charset = utf-8" > ~/.smb/smb.conf
P.S. не забудьте добавить этот файл в /usr/local/share/skel, для того чтобы вновь создаваемые профили имели этот файл по умолчанию
Источник:
http://www.opennet.ru/base/net/samba_kerberos.txt.html
Категория:
Samba
| Добавил:
oleg
(25.04.2008) | Автор:
Kotlyarov Nikolay
Просмотров:
2045
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025