Документация по ОС FreeBSD Среда, 24.04.2024, 19:05
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
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
Просмотров: 1953 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024