[LinuxFocus-icon]
Домой  |  Карта  |  Индекс  |  Поиск

Новости | Архивы | Ссылки | Про LF
эта страница доступна на следующих языках: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Portugues  Russian  Turkce  Arabic  

[Photo of the Author]
автор Éric Seigne
<erics(at)rycks.com>

Об авторе:

Я работаю в мире свободного ПО и кроме этого разрабатываю на PHP средства web доступа к таким базам данных как PostGreSQL и MySQL. Для того что бы иметь определенную независимость (чтобы время от времени заниматься чем-нибудь: новым проектом на С например) я недавно основал свой собственный бизнес. Кроме того я член ABULwww.abul.org.



Перевод на Русский:
kira <kirunchik(at)tut.by>
юрик <zexx(at)tut.by>

Содержание:

 

Конфигурация Samba сервера

[Illustration]

Резюме:

Здесь я попробую рассказать вам о том, что надо сделать, для того чтобы, использовать linux-samba сервер в качестве контролера домена для Windows сети. Также будет рассмотрено управление пользователями и профилями. Этот документ относиться к Debian CNU/Linux 2.2 так что ваш smb.conf может отличаться в зависимости от дистрибутива. Для написания статьи использовалась samba 2.0.7


_________________ _________________ _________________

 

Инсталяция Samba

Будем считать что вы немного знакомы с 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)

 

Файл конфигурации, идем дальше

Давайте рассмотрим следующие параметры:

 

Переменные

Переменная Описание
Переменные клиента
%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) .

 

Defining the system security policy (C) (TM) (R)

Безопасночть в 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>

 

Настройки компьютеров под Windows

Немного удачи, 20 кликов мыши и перезагрузок наверно хватит для настройки windows!

Для клиента под Win98

Нажмите на Start/Parameters/Configpanel (Пуск/Панель управленя/Сеть) и дважды кликните на Network

Необходимы::

network configuration

Потом нажмите на закладку "Identification" (Идентификация) и дайте компьютеру имя и название группы.
Identity

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

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

Не забудьте настроить поддержку TCP/IP:
дважды нажмите на TCP/IP
IP address:

Настройка WINS:  

Замечания "скорость/быстродействие?"

Во время работы, обращения проходят довольно быстро потому что используются профили 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

 

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей :
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Éric Seigne, FDL
LinuxFocus.org
Translation information:
fr --> -- : Éric Seigne <erics(at)rycks.com>
fr --> en: Georges Tarbouriech <georges.t(at)linuxfocus.org>
en --> ru: kira <kirunchik(at)tut.by>
en --> ru: юрик <zexx(at)tut.by>

2003-01-20, generated by lfparser version 2.31