| 
 | 
|  | 
| 
 | 
| эта страница доступна на следующих языках: English Castellano ChineseGB Deutsch Francais Italiano Nederlands Portugues Russian Turkce Arabic | 
| ![[Photo of the Author]](../../common/images/EricSeigne.jpg)  автор Éric Seigne <erics(at)rycks.com> Об авторе: Я работаю в мире свободного ПО и кроме этого разрабатываю на PHP средства web доступа к таким базам данных как PostGreSQL и MySQL. Для того что бы иметь определенную независимость (чтобы время от времени заниматься чем-нибудь: новым проектом на С например) я недавно основал свой собственный бизнес. Кроме того я член ABULwww.abul.org. Перевод на Русский: kira <kirunchik(at)tut.by> юрик <zexx(at)tut.by> Содержание: 
 | 
![[Illustration]](../../common/images/article177/samba.gif) 
Резюме:
Здесь я попробую рассказать вам о том, что надо сделать, для того чтобы, использовать linux-samba сервер в качестве контролера домена для Windows сети. Также будет рассмотрено управление пользователями и профилями. Этот документ относиться к Debian CNU/Linux 2.2 так что ваш smb.conf может отличаться в зависимости от дистрибутива. Для написания статьи использовалась samba 2.0.7
Будем считать что вы немного знакомы с samba и он установлен на вашем сервере. Если это не так, то для быстрой установки попробуйте:
 Debian: apt-get install samba
RedHat(Mandrake): rpm -vih
/mnt/cdrom/RedHat(Mandrake)/RPMS/samba*
Samba использует свой собственный файл конфигурации который состоит из секций, таких как приведенная ниже [global] и [tmp].
| Файл настройки только для samba! | 
| <минимальный smb.conf file> [global] printing = bsd printcap name = /etc/printcap load printers = yes guest account = pcguest log file = /usr/local/samba/log.%m [tmp] comment = Temporary file space path = /tmp read only = yes public = yes </file> | 
Если вы запустите samba с этим конфигом, то все windows машины в вашей локальной сети смогут увидеть в своем сетевом окружении машину, которая называется так же как ваш linux сервер и которая имеет разделяемый ресурс tmp, в который для всех разрешена запись.
Внимание: когда вы изменяете ваш конфигурационный файл, вы должны перезапустить samba командой/etc/init.d/samba restart script (для debian)
Давайте рассмотрим следующие параметры:
Описываем ресурс netlogon.
Ресурс profiles.
Здесь home директории для каждого пользователя.
| Переменная | Описание | 
| Переменные клиента | |
| %a | Архитектура клиента Например: Win95, WinNT, Samba ... | 
| %I | IP адрес клиента | 
| %m | NETBIOS имя клиента | 
| %M | DNS имя клиента | 
| Переменные пользователя | |
| %g | первичная группа | 
| %H | домашняя директория | 
| %u | имя юзера | 
| Переменные расшаренных ресурсов | |
| %P | Корневая папка ресурса | 
| %S | Имя ресурса | 
| Переменные сервера | |
| %h | DNS имя | 
| %L | NETBIOS имя | 
| %v | версия Samba | 
| Другое | |
| %T | Текущая дата и время | 
Пример использования переменных: в сети где есть windows 3.11 и windows 98 вы можете создать 2 конфигурационных файла, по 1 для каждой системы используя переменную %a.
<smb.conf file>
[global]
   printing = bsd
   printcap name = /etc/printcap
   load printers = yes
   guest account = nobody
   invalid users = root
; указываем netbios  имя
   netbios name = pantoufle
; и подсеть в которой работаем
   interfaces = 192.168.0.1/255.255.255.0
; режим user подразумевает что каждый пользователь имеет учетную запись на unix сервере
   security = user
; рабочая группа
   workgroup = rycks
; описание компьютера
; %h -  DNS имя  сервера,  %v версия samba
   server string = %h server (Samba %v)
; samba ведет свои собственные логи 
   syslog only = no
   syslog = 0;
; оптимизация соединений
   socket options = IPTOS_LOWDELAY TCP_NODELAY \
                    SO_SNDBUF=4096 SO_RCVBUF=4096
; используем зашифрованные пароли !!!! для  этого нужно пропатчить w95 и NT4
   encrypt passwords = yes
; Wins сервер позволяет использовать разделяемые
ресуры нескольких подсетей
   wins support = yes
; OS level. См. выше 
   os level = 34
; управление доменом
   local master = yes
   preferred master = yes
; уравление входом в домен
   domain logons = yes
; скрипт выполняемый при коннекте клиента (на машине клиента)
   logon script = %g.bat
; директория для скриптов
   logon path=\\%L\netlogon
; здесь храним профили
   logon home=\\%L\%U\winprofile
; в этом порядке идет поиск имен 
; ВНИМАНИЕ: bcast в конце в отличии от windows
   name resolve order = lmhosts host wins bcast
; работа DNS proxy
   dns proxy = no
; регистр букв !!!!
   preserve case = yes
   short preserve case = yes
; синхронизация samba и unix паролей
   unix password sync = yes
; способ синхронизации
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* \
%n\n *Retype\snew\sUNIX\spassword:* %n\n .
; максимальный размер логфайла (строк)
   max log size = 1000
; tine сервер
; сихронизировать будем с помощью .bat файла
   time server = yes
; ресурс netlogon используется только во время установки соединения 
; поэтому нет необходимости делать его публичным
[netlogon]
   path = /home/netlogon/%g
   public = no
   writeable = no
   browseable = no
; каждому клиенту по собственной директории 
[homes]
   path = /home/%user
   comment = Home Directories
   browseable = no
   read only = no
   create mask = 0700
directory mask = 0700
; для удобства можно расшарить и FTP 
; чтобы доступ осуществлялся не только с помощью FTP клиента 
 [ftp]
   path = /home/ftp/pub
   public = yes
   printable = no
   guest ok = yes
; tmp 
 [tmp]
   path = /tmp
   public = yes
   printable = no
   guest ok = yes
   writable = yes
; tmp для отдельных юзеров 
 [bigtemp]
   path = /home/bigtemp
   public = yes
   printable = no
   guest ok = yes
   valid users = erics
   writable = yes
</smb.conf file>
На сервере мы должны иметь:
| <file /home/netlogon/admin.bat> net use P: \\pantoufle\homes net use T: \\pantoufle\tmp net time \\pantoufle /SET /YES </file admin.bat> <file /home/netlogon/teachers/teachers.bat> net use P: \\pantoufle\homes net use T: \\pantoufle\tmp net time \\pantoufle /SET /YES regedit /s \\pantoufle\netlogon\teachers.reg </file teachers.bat> <file /home/netlogon/pupils/pupils.bat> net use P: \\pantoufle\homes net use T: \\pantoufle\tmp net time \\pantoufle /SET /YES regedit /s \\pantoufle\netlogon\pupils.reg </file pupils.bat> <file /home/netlogon/teachers/teachers.reg> [HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\User Shell Folders] "Personal"="P:\\" </file teachers.reg> <file /home/netlogon/pupils/pupils.reg> [HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\User Shell Folders] "Personal"="P:\\" </file pupils.reg> | 
Эти файлы позволяют при загрузке автоматически подключать персональный ресурс как диск P:\ и tmp ресурс как диск T:\ . Так же происходит синхронизация времени.
ВНИМАНИЕ: .bat файл должен быть в так называемом "DOS mode" (т.е. иметь все символы из DOS кодировки), для этого лучше всего создавайте его в блокноте (notepad) .
| Безопасночть в Windows почти возможна используя контролеры доменов. | 
Этот заголовок взят из документации MS :o).
Итак для воплощения в жизнь вашей политики безопасности (еще я думаю подойдет термин настройки системы), например для запрета запуска утилиты regedit, DOS программ и т.д., вам необходимо использовать программу POLEDIT из дистрибутива поставки Windows 98 .
Запускайте poledit, читайте документацию, пробуйте: но эта статья не об этом.
Итак, когда ваш .POL файл создан, скопируйте его в директорию ресурса [netlogon].
ВНИМАНИЕ: Для Win9X клиентов настройки должны быть в файле CONFIG.POL ... для WindowsNT он должен иметь другое имя, но я не знаю какое так как ей не полюзуюсь:( И пожалуйста не присылайте мне NT даже для теста. Хотя все равно спасибо за такие предложения :o)
ЗАМЕЧАНИЕ: PolEdit разрешает создавать пользователей и группы. Работает, правда, это только с пользователем установленным по умолчанию.
Например, если я создаю группу "admin" в PolEdit, которой можно запускать regedit, когда я подсоединяюсь под именем "erics" ("admin" является его личной группой), regedit у меня не запускается :(.
Хотя, если создать пользователя "erics" в poledit ... все работает.
Учитывая то, что нам не очень хочется создавать 1056 пользователей poledit и управлять всеми пользоателями сразу намного интереснее, мы предлагаем следующую хитрость:
Для осуществления плана мы обошли проблему: мы создали 3 config.pol файла только пользователями по умолчанию, итак, на linux сервере получилось:
/home/netlogon/teachers/CONFIG.POL
/home/netlogon/teachers/teachers.bat
/home/netlogon/pupils/CONFIG.POL
/home/netlogon/pupils/pupils.bat
/home/netlogon/admin/CONFIG.POL
/home/netlogon/admin/admin.bat
И немного изменили файл smb.conf чтобы она учитывала это:
<smb.conf file>
[netlogon]
  ; мы добавили %g чтобы переместить netlogon в другую дирректорию в зависимости от
  ; группы пользователей, к которой файл config.pol обращается в зависимости от группы
  ; пользователей
   path = /home/netlogon/%g
   public = no
   writeable = no
   browseable = no
</smb.conf file>
| Немного удачи, 20 кликов мыши и перезагрузок наверно хватит для настройки windows! | 
Для клиента под Win98
Нажмите на Start/Parameters/Configpanel (Пуск/Панель управленя/Сеть) и дважды кликните на Network
Необходимы::
 
Потом нажмите на закладку "Identification" (Идентификация) и дайте компьютеру имя и название группы.

Нажмите на "Access control" и выберите права доступа пользователя

Вернитесь к закладке настроек и нажмите на "Client for MS network" (Клиент для сетей Майкрософт)

Не забудьте настроить поддержку TCP/IP:
дважды нажмите на TCP/IP
IP address:
Во время работы, обращения проходят довольно быстро потому что используются профили windows.
Но, profile полон вещей которые MS считает необходимыми, такие как IE cache, OutLook cache, и т.д.
Это значт что около 10 MB будет грузиться при подключении к машине и 10 MB будет передаватья серверу при отключении.
10 MB для каждого пользователя, для 15 компьютеров ("нормальный" размер лаборатории, например), получается 150 MB, а если в здании 10 комнат... можно подсчитать время отключения от сети в конце рабочего дня.
Поэтому лучше домашней директорией сделать P: (например, P как Personal) для каждого и приучить пользователей: "сохраняйте докумнты в P а не в "My documents", иначе обратно вы их не получите ".
Надо найти софт чтобы настроить закладки в P:\bookmarks.html и т.п.
Я не знаю существует ли это в мире windows!
Возможно ли создавать различные группы на домене, как этим управлять?
Как использовать NT и Samba серверы?
Настройка клиентов NT аналогична CONFIG.POL но под NT имеет другое название.
Bruno <bcarrere(at)asp-france.fr> за помощь:o)
JohnPerr за помощь в написании и перевод на English.
Michel Billaud aka MiB за найденые им решения нашим проблемам :o)
Etienne, Éric, спасибо за то что поделились знаниями по NT серверам.
Jean Peyratout слишком долго рассказывать за что :)
 
Onlin O'Reilly book: http://www.oreilly.com/catalog/samba/chapter/book/index.html
This document will be updated at the rycks.com documentation section
| 
 | 
| Webpages maintained by the LinuxFocus Editor team © Éric Seigne, FDL LinuxFocus.org | Translation information: 
 | 
2003-01-20, generated by lfparser version 2.31