Samba как PDC

Опубликовано nekit - ср, 23/03/2011 - 18:31

Вот наконец-то понадобилось мне поднять контроллер домена... На работе дали задание сделать подобную штуку, причем с наименьшими затратами. ну я долго не выбирая, поставил сервак, поставил FreeBSD 8.1 и samba,у на него. Как это все было расскажу далее... :) Установку фряхи в этой статье рассматривать не буду, так как этот процесс очень хорошо расписан в хэндбуке. А вот про установку и настройку samba,ы в качестве PDC расскажу подробно :).

Итак, обновляем порты удобным для вас способом, я лично обновляю их тулзой portsnap.
  1. # portsnap fetch update
После обновления лезем в порты ставить самбу.
  1. # cd /usr/ports/net/samba34
  2. # make install clean
Из предложенных опций я выбрал следующие:
  • ACL_SUPPORT
  • QUOTAS
  • POPT
Дожидаемся завершения установки и идем править конфиг самбы. У меня он получился такого содержания:
  1. #======================= Global Settings =====================================
  2. [global]
  3.    # Имя домена
  4.    workgroup = DUSH-4
  5.    server string = Documents
  6.    # netbios имя компа
  7.    netbios name = srv-data.local
  8.  
  9.    security = user
  10.    # Разрешаем доступ только из внутренней сети
  11.    hosts allow = 192.168.7. 127.
  12.    # Принтеры мне не нужны, так что я их отключил
  13.    load printers = no
  14.    printing = bsd
  15.    #guest account = nobody
  16.    # Логи мне нужны только для отладки, после завершения настройки я их отключаю, так работает быстрее
  17.    ;log file = /var/log/samba34/log.%m
  18.    log file = /dev/null
  19.    log level = 0
  20.    max log size = 50
  21.    encrypt passwords = yes
  22.    passdb backend = tdbsam
  23.  
  24.    ;include = /usr/local/etc/smb.conf.%m
  25.  
  26.    # Некоторые оптимизации
  27.    ;wide links = yes
  28.    read raw = yes
  29.    write raw = yes
  30.    use sendfile = yes
  31.    ;write cache size = 524288
  32.    ;oplocks = yes
  33.    ;dead time = 15
  34.    ;getwd cache = yes
  35.    max xmit = 65535
  36.    socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=32768 SO_RCVBUF=32768 SO_KEEPALIVE
  37.  
  38.    # Так же для дополнительной защиты привязываем сервисы самбы на нужные интерфейсы
  39.    interfaces = 192.168.7.250/24 127.0.0.1/8
  40.    bind interfaces only = yes
  41.    local master = yes
  42.    domain master = yes
  43.    preferred master = yes
  44.  
  45.    os level = 65
  46.    # Делаем самбу контроллером домена
  47.    domain logons = yes
  48.    # Включаем поддержку WINS
  49.    wins support = yes
  50.    # Разрешаем самбе быть сервером времени
  51.    time server = yes
  52.  
  53.    # Пользователи, которые будут администраторами домена
  54.    admin users = nekit
  55.    # Если вам не нужны перемещаемые профили, то оставьте этот параметр пустым
  56.    logon path = \\%L\profiles\%U
  57.    # Подключаем хомяк пользователя
  58.    logon drive = H:
  59.    logon home = \\%L\%U
  60.    # Скрипт выполняемый при входе пользователя в домен
  61.    ;logon script = logon.cmd
  62.  
  63.    display charset = koi8-r
  64.    unix charset = koi8-r
  65.    dos charset = cp866
  66.  
  67.    store dos attributes = yes
  68.    case sensitive = no
  69.  
  70.    # Скрипты для работы с машинами, пользователями и группами
  71.    # Если со всем будете работать вручную, то закомментируйте
  72.    #add machine script = /usr/local/bin/ldapaddmachine '%u' computers
  73.    #add user script = /usr/local/bin/ldapadduser '%u' people
  74.    #add group script = /usr/local/bin/ldapaddgroup '%g'
  75.    #add user to group script = /usr/local/bin/ldapaddusertogroup '%u' '%g'
  76.    #delete user script = /usr/local/bin/ldapdeleteuser '%u'
  77.    #delete group script = /usr/local/bin/ldapdeletegroup '%g'
  78.    #delete user from group script = /usr/local/bin/ldapdeleteuserfromgroup '%u' '%g'
  79.    #set primary group script = /usr/local/bin/ldapsetprimarygroup '%u' '%g'
  80.    #rename user script = /usr/local/bin/ldaprenameuser '%uold' '%unew'
  81.  
  82. #============================ Share Definitions ==============================
  83. # Шара со скриптами
  84. [netlogon]
  85.    comment = Netlogon Service
  86.    path = /mnt/media/samba/netlogon
  87.    read only = yes
  88.    browseable = no
  89.    public = no
  90.  
  91. # Здесь хранятся перемещаемые профили пользователей
  92. [profiles]
  93.    comment = User profiles
  94.    path = /mnt/media/samba/profiles
  95.    writeable = yes
  96.    browseable = no
  97.    public = no
  98.    csc policy = disable   # отключаем автономное кеширование
  99.    create mask = 0600
  100.    directory mask = 0700
  101.  
  102. [homes]
  103.    comment = Home Directories
  104.    browseable = no
  105.    writable = yes
  106.    force create mode = 0640
  107.    force directory mode = 0750
  108.  
  109. [distrib]
  110.    comment = Distrib
  111.    path = /mnt/media/samba/distrib
  112.    public = no
  113.    writable = yes
  114.    force create mode = 0640
  115.    force directory mode = 0750
  116.    force user = smb_user
  117.    force group = smb_write
  118.    valid users = @smb_read
  119.    read list = @smb_read
  120.    write list = @smb_write
  121.  
  122. [temp]
  123.    comment = Temporary files
  124.    path = /mnt/media/samba/temp
  125.    public = no
  126.    writable = yes
  127.    force create mode = 0640
  128.    force directory mode = 0750
  129.    force user = smb_user
  130.    force group = smb_write
  131.    valid users = @smb_read
  132.    read list = @smb_read
  133.    write list = @smb_read
Конфиг достаточно хорошо прокомментирован, так что дополнять ничего не буду. После правки конфига добавляем группы и пользователей, которым будут сопоставлены группы Windows NT.
  1. # pw groupadd -n pdc_admins -g 10001
  2. # pw groupadd -n pdc_users -g 10002
  3. # pw groupadd -n pdc_computers -g 10003
  4. # pw groupadd -n pdc_guests -g 10004
Далее создаем пользователя (администратора домена) и добавляем в нужную группу.
  1. # pw group add nekit
  2. # pw useradd nekit -g nekit -s /bin/csh -d /home/nekit -L russian -G pdc_admins
Также надо сделать сопоставление Windows NT групп группам Unix
  1. # net groupmap add rid=512 unixgroup=pdc_admins type=domain ntgroup="Domain Admins"
  2. # net groupmap add rid=513 unixgroup=pdc_users type=domain ntgroup="Domain Users"
  3. # net groupmap add rid=514 unixgroup=pdc_guests type=domain ntgroup="Domain Guests"
  4. # net groupmap add rid=515 unixgroup=pdc_computers type=domain ntgroup="Domain Computers"
Проверим, что получилось, должно быть примерно следующее:
  1. # net groupmap list
  2. Domain Admins (S-1-5-21-1729013427-4292848044-4196762361-512) -> pdc_admins
  3. Domain Computers (S-1-5-21-1729013427-4292848044-4196762361-515) -> pdc_computers
  4. Domain Users (S-1-5-21-1729013427-4292848044-4196762361-513) -> pdc_users
  5. Domain Guests (S-1-5-21-1729013427-4292848044-4196762361-514) -> pdc_guests
Теперь можно запустить самбу.
  1. # echo 'smbd_enable="YES"' >> /etc/rc.conf
  2. # echo 'nmbd_enable="YES"' >> /etc/rc.conf
  3. # service samba start
Добавляем созданного ранее пользователя в хранилище самбы
  1. # pdbedit -a nekit
  2. New password: ***
  3. Retype new password: ***
  4. User added...
Еще нужно добавить машины которые будут вводиться в домен. Они добавляются как пользователи, только на конце еще к имени машины добавляется знак $.
  1. # pw useradd srv-data.local$ -g pdc_computers -s /usr/sbin/nologin -d /nonexistent
Теперь можно ввести локальную машину в домен
  1. # net rpc join -U nekit
  2. Password: ***
  3. Added...
Теперь можно посмотреть информацию о домене.
  1. # net rpc info -U nekit
  2. Enter nekit's password:
  3. Domain Name: DUSH-4
  4. Domain SID: S-1-5-21-1729013427-4292848044-4196762361
  5. Sequence number: 1289023023
  6. Num users: 3
  7. Num domain groups: 4
  8. Num local groups: 0
Все готово. Чтобы включить виндовые машины в домен нужно сделать следующее: Панель управления -> Система -> Вкладка: имя компьютера -> Изменить. Там ставите переключатель на пункт "Является членом домена" и вводите свой домен. Винда запросит пароль администратора, введете, и все, ваша машина включена в домен, перезагружаемся и пользуемся.

Добавить комментарий

Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.