The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

KDE и smb, шары по-русски в win2003 домене (samba auth kerberos kde rus freebsd)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: samba, auth, kerberos, kde, rus, freebsd,  (найти похожие документы)
From: Kotlyarov Nikolay <nikll@rambler.ru.> Newsgroups: email Date: Mon, 23 Apr 2008 17:02:14 +0000 (UTC) Subject: KDE и smb, шары по-русски в win2003 домене 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.su его достаточно хорошо описали, приведу только пример своего кофига: /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, для того чтобы вновь создаваемые профили имели этот файл по умолчанию

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, Misha (??), 04:00, 11/11/2008 [ответить]  
  • +/
    Отличный ответ. Спасибо.
    Сервер Самба локальный, через файловый менеджер kde4 хожу по папкам(/home/samba/pub/Папка) а вот через Dolphin или Konqueror на (smb://localhost/pub/Папка) не может, пишет папки такой нет.

    У пользователя locale:
    LANG=ru_RU.KOI8-R
    LC_CTYPE="ru_RU.KOI8-R"
    LC_COLLATE="ru_RU.KOI8-R"
    LC_TIME="ru_RU.KOI8-R"
    LC_NUMERIC="ru_RU.KOI8-R"
    LC_MONETARY="ru_RU.KOI8-R"
    LC_MESSAGES="ru_RU.KOI8-R"
    LC_ALL=

    smb.conf
       display charset = koi8-r
       unix charset = koi8-r
       dos charset = cp866

    ~/.smb/smb.conf
    unix charset = utf-8

    Хотя бы так... Спасибо.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру