Samba как PDC

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

Итак, обновляем порты удобным для вас способом, я лично обновляю их тулзой portsnap.

# portsnap fetch update

После обновления лезем в порты ставить самбу.

# cd /usr/ports/net/samba34
# make install clean

Из предложенных опций я выбрал следующие:

  • ACL_SUPPORT
  • QUOTAS
  • POPT

Дожидаемся завершения установки и идем править конфиг самбы. У меня он получился такого содержания:

#======================= Global Settings =====================================
[global]
  # Имя домена
  workgroup = DUSH-4
  server string = Documents
  # netbios имя компа
  netbios name = srv-data.local

  security = user
  # Разрешаем доступ только из внутренней сети
  hosts allow = 192.168.7. 127.
  # Принтеры мне не нужны, так что я их отключил
  load printers = no
  printing = bsd
  #guest account = nobody
  # Логи мне нужны только для отладки, после завершения настройки я их отключаю, так работает быстрее
  ;log file = /var/log/samba34/log.%m
  log file = /dev/null
  log level = 0
  max log size = 50
  encrypt passwords = yes
  passdb backend = tdbsam

  ;include = /usr/local/etc/smb.conf.%m

  # Некоторые оптимизации
  ;wide links = yes
  read raw = yes
  write raw = yes
  use sendfile = yes
  ;write cache size = 524288
  ;oplocks = yes
  ;dead time = 15
  ;getwd cache = yes
  max xmit = 65535
  socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=32768 SO_RCVBUF=32768 SO_KEEPALIVE

  # Так же для дополнительной защиты привязываем сервисы самбы на нужные интерфейсы
  interfaces = 192.168.7.250/24 127.0.0.1/8
  bind interfaces only = yes
  local master = yes
  domain master = yes
  preferred master = yes

  os level = 65
  # Делаем самбу контроллером домена
  domain logons = yes
  # Включаем поддержку WINS
  wins support = yes
  # Разрешаем самбе быть сервером времени
  time server = yes

  # Пользователи, которые будут администраторами домена
  admin users = nekit
  # Если вам не нужны перемещаемые профили, то оставьте этот параметр пустым
  logon path = \\%L\profiles\%U
  # Подключаем хомяк пользователя
  logon drive = H:
  logon home = \\%L\%U
  # Скрипт выполняемый при входе пользователя в домен
  ;logon script = logon.cmd

  display charset = koi8-r
  unix charset = koi8-r
  dos charset = cp866

  store dos attributes = yes
  case sensitive = no

  # Скрипты для работы с машинами, пользователями и группами
  # Если со всем будете работать вручную, то закомментируйте
  #add machine script = /usr/local/bin/ldapaddmachine '%u' computers
  #add user script = /usr/local/bin/ldapadduser '%u' people
  #add group script = /usr/local/bin/ldapaddgroup '%g'
  #add user to group script = /usr/local/bin/ldapaddusertogroup '%u' '%g'
  #delete user script = /usr/local/bin/ldapdeleteuser '%u'
  #delete group script = /usr/local/bin/ldapdeletegroup '%g'
  #delete user from group script = /usr/local/bin/ldapdeleteuserfromgroup '%u' '%g'
  #set primary group script = /usr/local/bin/ldapsetprimarygroup '%u' '%g'
  #rename user script = /usr/local/bin/ldaprenameuser '%uold' '%unew'

#============================ Share Definitions ==============================
# Шара со скриптами
[netlogon]
  comment = Netlogon Service
  path = /mnt/media/samba/netlogon
  read only = yes
  browseable = no
  public = no

# Здесь хранятся перемещаемые профили пользователей
[profiles]
  comment = User profiles
  path = /mnt/media/samba/profiles
  writeable = yes
  browseable = no
  public = no
  csc policy = disable   # отключаем автономное кеширование
  create mask = 0600
  directory mask = 0700

[homes]
  comment = Home Directories
  browseable = no
  writable = yes
  force create mode = 0640
  force directory mode = 0750

[distrib]
  comment = Distrib
  path = /mnt/media/samba/distrib
  public = no
  writable = yes
  force create mode = 0640
  force directory mode = 0750
  force user = smb_user
  force group = smb_write
  valid users = @smb_read
  read list = @smb_read
  write list = @smb_write

[temp]
  comment = Temporary files
  path = /mnt/media/samba/temp
  public = no
  writable = yes
  force create mode = 0640
  force directory mode = 0750
  force user = smb_user
  force group = smb_write
  valid users = @smb_read
  read list = @smb_read
  write list = @smb_read

Конфиг достаточно хорошо прокомментирован, так что дополнять ничего не буду. После правки конфига добавляем группы и пользователей, которым будут сопоставлены группы Windows NT.

# pw groupadd -n pdc_admins -g 10001
# pw groupadd -n pdc_users -g 10002
# pw groupadd -n pdc_computers -g 10003
# pw groupadd -n pdc_guests -g 10004

Далее создаем пользователя (администратора домена) и добавляем в нужную группу.

# pw group add nekit
# pw useradd nekit -g nekit -s /bin/csh -d /home/nekit -L russian -G pdc_admins

Также надо сделать сопоставление Windows NT групп группам Unix

# net groupmap add rid=512 unixgroup=pdc_admins type=domain ntgroup="Domain Admins"
# net groupmap add rid=513 unixgroup=pdc_users type=domain ntgroup="Domain Users"
# net groupmap add rid=514 unixgroup=pdc_guests type=domain ntgroup="Domain Guests"
# net groupmap add rid=515 unixgroup=pdc_computers type=domain ntgroup="Domain Computers"

Проверим, что получилось, должно быть примерно следующее:

# net groupmap list
Domain Admins (S-1-5-21-1729013427-4292848044-4196762361-512) -> pdc_admins
Domain Computers (S-1-5-21-1729013427-4292848044-4196762361-515) -> pdc_computers
Domain Users (S-1-5-21-1729013427-4292848044-4196762361-513) -> pdc_users
Domain Guests (S-1-5-21-1729013427-4292848044-4196762361-514) -> pdc_guests

Теперь можно запустить самбу.

# echo 'smbd_enable="YES"' >> /etc/rc.conf
# echo 'nmbd_enable="YES"' >> /etc/rc.conf
# service samba start

Добавляем созданного ранее пользователя в хранилище самбы

# pdbedit -a nekit
New password: ***
Retype new password: ***
User added...

Еще нужно добавить машины которые будут вводиться в домен. Они добавляются как пользователи, только на конце еще к имени машины добавляется знак $.

# pw useradd srv-data.local$ -g pdc_computers -s /usr/sbin/nologin -d /nonexistent

Теперь можно ввести локальную машину в домен

# net rpc join -U nekit
Password: ***
Added...

Теперь можно посмотреть информацию о домене.

# net rpc info -U nekit
Enter nekit's password:
Domain Name: DUSH-4
Domain SID: S-1-5-21-1729013427-4292848044-4196762361
Sequence number: 1289023023
Num users: 3
Num domain groups: 4
Num local groups: 0

Все готово. Чтобы включить виндовые машины в домен нужно сделать следующее: Панель управления -> Система -> Вкладка: имя компьютера -> Изменить. Там ставите переключатель на пункт "Является членом домена" и вводите свой домен. Винда запросит пароль администратора, введете, и все, ваша машина включена в домен, перезагружаемся и пользуемся.

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

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