| 
 | 
|  | 
| 
 | 
| Эта заметка доступна на: English Castellano ChineseGB Deutsch Francais Italiano Nederlands Russian Turkce | 
| ![[Автор]](../../common/images/SebastianSasias.jpg)  автор Sebastian Sasías <sasias(at)linuxmail(dot)org> Об авторе: Автор в течение нескольких лет применяет Linux в качестве средства
    разработки технологических решений. Перевод на Русский: Сергей Чирков <codeseg(at)nevod(dot)ru> Содержание: | 
![[Логотип Samba]](../../common/images/article247/sambalogo.jpg) 
Резюме:
    Эта заметка продолжает рассказывать о настройке пакета
    Samba, который предназначен для разделения ресурсов в
    гетерогенных (разнородных) Unix/Windows сетях. Здесь
    рассказывается о том, как настроить сервер Samba под Linux,
    чтобы получить такую же, как и при использовании Windows-сервера,
    функциональность.
    Samba не только раскрывает мощность и гибкость ОС Linux, но
    она также дает определенные выгоды:
    
Пусть наш Linux-сервер с установленным на нем пакетом Samba выступает
    в роли основного контроллера домена (PDC), где каждый зарегистрированный
    пользователь имеет доступ к двум разделяемым директориям (shared directories):
    для общего и для персонального (приватного) доступа. Такая конфигурация является
    довольно распространенной.
    
    
    
    Зададим следующие названия:
    
    NetBIOS-имя
    Linux/Samba-сервера: SMBServer
    Имя домена Windows или рабочей группы: THEDOMAIN
    Персональный раздел для каждого пользователя: H: (Windows) =>
    /home/ (Linux-сервер)
    Общий раздел: P: (Windows) =>
    /home/public (Linux-сервер)
    
    
    На рисунке 1 показана схема небольшой сети, в которой клиентские
    Windows-машины используют разделяемые ресурсы Windows NT/2000
    сервера. Он может быть заменен Linux-сервером с запущенным на
    нем демоном Samba.
    
    

Конфигурация включает в себя следующие шаги:
    
    1) Создание на Linux-сервере нового пользователя.
    Для этого используются команды adduser, useradd
    или userconf; также можно использовать подходящую
    графическую утилиту (Webmin, Linuxconf, Yast и т. п.).
    
Если вы хотите, чтобы пользователь имел доступ лишь к службам
    Samba и не мог зайти на сервер в  оболочку shell, в файле
    /etc/passwd в качестве домашней директории укажите
    /dev/null, а в
    качестве оболочки - /bin/false.
    
    2) Сконвертируйте файл /etc/passwd в файл smbpasswd:
    
    cat /etc/passwd |
    mksmbpasswd.sh > /etc/samba/smbpasswd
    
    Для создания пользователей и паролей можно применять другие команды:
smbadduser
     smbpasswd,
    
    которые работают подобно командам adduser и passwd.
    
    3) Отредактируйте конфигурационный файл Samba (smb.conf) в соответствии со
    своими потребностями:
    
    
    netbios name = SMBServer
    workgroup = THEDOMAIN
    server string = Linux/Samba-сервер
    log file = /var/log/samba/%m.log
    max log file = 0
    security = user
    encrypt password = yes
    smb password file = /etc/samba/smbpasswd
    ssl CA certificate = /usr/share/ssl/.... (cancel comment)
    socket options = (cancel comment)
    local master = yes
    preferred master = yes
    domain master = yes
    domain logons = yes
    logon script = logon.bat
    wins support = yes
    
    [netlogon]
    comment = Сценарии входа
    path = /home/netlogon
    read only = yes
    guest ok = yes
    browseable = no
    
    [home]
    comment = Директория пользователя
    path = /home/%U
    browseable = yes
    writable = yes
    
    [public]
    comment = Общая директория
    path = /home/public
    browseable = yes
    writable = yes
    guest ok = yes
    create mask = 0777
    force create mask = 0777
    
    
    net time \\SMBServer /y 
    (или /yes)
    
    net use H: \\SMBServer\home -y 
    (или /yes)
    
    net use P: \\SMBServer\public -y
    
    
Не забудьте произвести настройку свойств клиента для сетей Microsoft. Для этого в ОС Windows 95/98/ME выполните:
Start (Пуск) => Setup (Настройка) => Control Panel (Панель управления) => Network (Сеть) =>Network Client for Microsoft Networks (Клиент для сетей Microsoft) => Properties (Свойства).
В Свойствах установите флажок "Start session in Windows
    NT/2000 domain" ("Входить в домен Windows NT") и задайте имя
    домена (или рабочей группы): THEDOMAIN.
    
Похожим образом настраивается и Windows NT/2000
    (Workstation/Professional).
    
Работающий конфигурационный файл Samba приведен ниже. Данная
    конфигурация проверялась на нескольких дистрибутивах Linux.
    Вы можете использовать этот пример в качестве базового для
    создания и настройки своей собственной конфигурации.
    
    Для тех, кто хочет иметь дружественный интерфейс для быстрой
    настройки Samba, можно порекомендовать использовать такие
    инструменты, как Webmin и/или SWAT.
#============================================================#
    # /etc/smb.conf
     #------------------------------------------------------------------------------------------------------------#
    # Главный конфигурационный файл Samba (файл-образец).
    # Настройте конфигурацию в соответствии со
    # своими потребностями.
     #------------------------------------------------------------------------------------------------------------#
    # Протестировано в следующих ОС:
     # RedHat 6.0, 7.0, 7.1
     # Solaris 7
    # Slackware 7.x
    # Mandrake 6.1, 7.0, 8.1
    # SuSe 7.2
     #------------------------------------------------------------------------------------------------------------#
    # Дата последней модификации: 08/12/2001.
    # Sebastian Sasias - sasias(at)linuxmail(dot)org
    #============================================================#
    #
    # При создании данного файла использовалось руководство по настройке
    # Samba smb.conf(5).
     #
    # Примечание: после изменения этого файла не забудьте протестировать его
    # с помощью "testparm" (и перезапустить демон smbd - прим. перев.)
    #
    #==================== Глобальные настройки ====================#
     #
    # Основная конфигурация
     #
    [global]
    #......................................................................................................................................#
    # Workgroup = имя NT-домена (или рабочей группы):
    THEDOMAIN. 
    workgroup =
    THEDOMAIN
    #......................................................................................................................................#
    # NetBIOS-имя, под которым будет виден сервер остальным
    машинам сети.
     netbios name =
    SMBServer
    #......................................................................................................................................#
    # Комментарий, появляющийся рядом с именем машины в "Сетевом
    окружении" Windows.
    server string = Это Samba-сервер
    #......................................................................................................................................#
    # Следующий параметр влияет на безопасность. Hosts allow разрешает
    машинам с 
    # указанными IP-адресами присоединяться к
    Samba-серверу. 
    # В этом примере доступ разрешен компьютерам,
    имеющим IP-адрес из диапазона 
    # локальных адресов 192.168.8.0 (класс C) и
    через интерфейс "обратной петли" (loopback).
    # Более подробно см. в man smb.conf.
    ; hosts allow = 192.168.8.
    127.
     #......................................................................................................................................#
    # Раскомментируйте этот параметр для автоматической загрузки
    списка принтеров
    # из файла printcap. 
    ; load printers =
    yes
     #......................................................................................................................................#
    # Параметр Printcap name задает альтернативное расположение файла
    printcap.
    ; printcap name =
    /etc/printcap
     #......................................................................................................................................#
    # В SystemV для работы с системой печати используется программа
    lpstat. Для 
    # автоматического получения списка принтеров от системы
    печати SystemV задайте
    # опцию Printcap name = lpstat.
    ; printcap name =
    lpstat
     #......................................................................................................................................#
    # Если вы имеете нестандартную систему печати, вам
     необходимо указать ее тип,
     # в противном случае этот параметр можно опустить.
     # В настоящее время поддерживаются следующие системы печати:
     # bsd, sysv, plp, lprng, aix, hpux, qnx.
    ; printing =
    bsd
     #......................................................................................................................................#
    # Раскомментируйте строчку Guest account для предоставления
    беспарольного ("гостевого")
    
    # входа на Samba-сервер. В /etc/passwd необходимо
    добавить pcguest, в противном случае 
    # будет использоваться учетная запись "nobody". 
    ; guest account =
    pcguest
     #......................................................................................................................................#
    # Для каждой машины %m, подключенной к Samba-серверу,
    использовать свой log-файл. 
    log file =
    /var/log/samba/log.%m
     #......................................................................................................................................#
    # Максимальный размер log-файла - 50 килобайт.
    max log size = 50
     #......................................................................................................................................#
    # Параметр Security определяет, каким образом будет
    осуществляться проверка пароля
    
    # пользователя. Security = user означает использование
    файла паролей smbpasswd.
    
    # Более подробно см. в документации по Samba (файл security_level.txt).
    
    security = user
     #......................................................................................................................................#
    # В случае, если Security = server, проверка пароля производится
    другим сервером. 
    # Параметр Password server используется только совместно
    с опцией Security = server. 
    # Password server = [IP-адрес аутентифицирующего сервера].
    ; password server =
    <Имя NT-сервера>
     #......................................................................................................................................#
    # Опция включает поддержку шифрованных паролей. Почитайте
    сначала ENCRYPTION.txt,
    # Win95.txt и WinNT.txt из документации по Samba.
    
    # Не включайте данный параметр до тех пор, пока
    полностью не изучите его назначение. 
    # К сведению: ОС Win95, Win98 и WinNT отсылают
    пароли в зашифрованном виде. 
    encrypt passwords =
    yes
     #......................................................................................................................................#
    # Используя следующий параметр, вы сможете создать отдельную
    конфигурацию для 
# каждой машины домена.
     
    # Вместо пары символов %m при входе подставляется NetBIOS-имя машины.
    
    
    ; include =
    /usr/local/samba/lib/smb.conf.%m
     #......................................................................................................................................#
    # В документации и в полезных советах говорится, что с
    помощью следующего параметра
    # можно повысить производительность Samba-сервера.
    Возможно, вы захотите
    # поэкспериментировать с этим. Подробности смотрите
    в документации (man pages) по
    # Samba и в файле Speed.txt.
    socket options =
    TCP_NODELAY
     #......................................................................................................................................#
    # По умолчанию демон Samba слушает все активные сетевые
    интерфейсы. С помощью
    # параметра Interfaces можно выбрать
    только те интерфейсы, которые необходимо
    # прослушивать.
    
    ; interfaces =
    192.168.8.2/24 192.168.12.2/24
     #......................................................................................................................................#
    # Установите Local master в "no", чтобы Samba-сервер не мог
    стать обозревателем
    # сети (в противном случае сервер будет принимать
    участие в выборах обозревателя
    # сети - прим. перев.)
    local master =
    yes
     #......................................................................................................................................#
    # Параметр OS Level задает приоритет данного сервера при выборах
    обозревателя сети
    # (master browser) . Обычно значение
    по умолчанию подходит для большинства
    # случаев.
    ; os level =
    33
     #......................................................................................................................................#
    # Параметр Domain master делает Samba-сервер главным обозревателем
    домена 
    # (Domain Master Browser). Это позволяет Samba выполнять
    функции контроллера 
    # домена, а также создавать список машин из других
    подсетей, имеющих 
    # отношение к данному домену.
    # Не используйте этот параметр, если в вашей сети
    уже имеется контроллер домена 
    # на Windows NT/2000, выполняющий те же функции. 
    domain master =
    yes
     #......................................................................................................................................#
    # Параметр Preferred master позволяет Samba-серверу при старте
    инициировать выборы 
    # обозревателя сети; при этом Samba-сервер получает довольно
    высокие шансы на 
    # победу в этих выборах. 
     # Если в сети имеется более одного сервера, то наиболее
    желательным (favorite) для 
    # клиентов будет "предпочтительный обозреватель" (preferred master).
preferred master =
    yes
     #......................................................................................................................................#
    # Используйте следующую опцию только в случае, если в вашей
    сети имеется
    # Windows NT/2000 сервер, работающий в качестве PDC.
    ; domain controller =
    <SMB-имя контроллера домена>
     #......................................................................................................................................#
    # Для того, чтобы клиенты Windows 9x/Me могли использовать сервер
    Samba для 
    # входа в домен, укажите следующий параметр.
    
    domain logons =
    yes
     #......................................................................................................................................#
    # Если параметр Domain logons установлен в "yes", вы имеете
    возможность указывать
    # для пользователя (%u) или рабочей станции (%m) свой
    сценарий входа (logon script).
    
    # Сценарий входа для рабочей станции: 
    ; logon script =
    %m.bat
    
     # Сценарий входа для пользователя:
     ; logon script =
    %U.bat
     #......................................................................................................................................#
    # Данный параметр задает место размещения перемещаемых
    профилей (roving (или 
    # roaming - прим. перев.) profiles). 
    # Вместо %L подставляется NetBIOS-имя данного сервера,
    вместо %U - имя пользователя.
     # Не забудьте раскомментировать секцию [Profiles] в
    конфигурационном файле. 
    ; logon path =
    \\%L\Profiles\%U
     #......................................................................................................................................#
    # Поддержка WINS - службы имен Windows (WINS - Windows Internet Name Service).
    # Данный параметр указывает демону NMBD включить свой сервер WINS.
    # WINS, подобно службе DNS, сопоставляет IP-адрес машины с ее именем.
     ; wins support =
    yes
     #......................................................................................................................................#
    # Параметр WINS Server задает IP-адрес WINS-сервера,
    используемого в сети, и 
    # указывает на то, что в этом случае Samba-сервер
    является WINS-клиентом. 
    # Не забывайте, что Samba-сервер может быть либо
    WINS-сервером, либо  
    # WINS-клиентом (но не обоими сразу).
    ; wins server =
    192.168.8.1
     #......................................................................................................................................#
    # Samba умеет определять не-WINS клиентов, находящихся в сети.
    Для этого нужно 
    # указать параметр WINS Proxy = yes. Для правильной
    работы WINS Proxy необходимо, 
    # чтобы в сети имелся по крайней мере один WINS-сервер.
    # Значение по умолчанию - "no".
    ; wins proxy =
    yes
    #......................................................................................................................................#
    # Если задан параметр DNS Proxy, Samba будет пытаться выполнять
    преобразование 
    # NetBIOS-имен посредством запросов к DNS. По умолчанию
    для версии 1.9.17 этот 
    # параметр установлен в "yes". Начиная с версии  1.9.18
    параметр DNS Proxy по 
    # умолчанию равен "no".
    # dns proxy = yes
     # dns proxy = no (преобразование имен ведется с помощью файла lmhosts)
    #......................................................................................................................................#
    # Параметр Logon drive задает букву диска, к которому будет
    монтироваться домашняя 
    # (home) директория пользователя. Эта опция имеет смысл,
    только если Samba настроена 
    # в качестве Logon server'а. Если параметр Logon drive
    не задан, используется Z:.
     logon drive = P:
     #......................................................................................................................................#
    # После удачного входа на Samba-сервер на машине клиента выполняется
    сценарий 
    # SAMBA.BAT (полный путь - /etc/samba/netlogon/SAMBA.BAT),
    который с помощью
    # команды "net use" производит подключение сетевых дисков (а
    также может выполнять 
    # другую полезную работу, например, синхронизацию времени -
    прим. перев.)
    
    logon script =
    SAMBA.BAT
    
     #============== Определение разделяемых ресурсов
    ================#
    
    # Персональная директория для каждого пользователя. 
    # Диск P: 
    
    [homes]
     comment = Домашние директории
     browseable = no
     writable = yes
     readonly = no
     force create mode = 0700
     create mode = 0700
     force directory mode = 0700
     directory mode = 700
    
     #------------------------------------------------------------------------------------------------------------#
    # Директория для временных файлов. 
    # Диск T: 
    
    [tmp]
     comment = Временные файлы
     path = /tmp
     readonly = no
     public = yes
     writable = yes
     force create mode = 0777
     create mode = 0777
     force directory mode = 0777
     directory mode = 0777
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Привод CD-ROM сервера. 
    # Диск L: 
    
    [cdrom]
     comment = CD-ROM
     path = /mnt/cdrom
     public = yes
     writable = no
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Ресурс группы ("/home/grp.имя_группы"), к которой принадлежит пользователь (%u).
    
    # /home/%u/group является ссылкой на
    "/home/grp.имя_группы". 
    # "grp.имя_группы" имеет права доступа 770.
    
    # Диск G: 
    
    [group]
     comment = Директория группы
     path = /home/%u/group
     writable = yes
     readonly = no
     force create mode = 0770
     create mode = 0770
     force directory mode = 0770
     directory mode = 0770
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Этот ресурс предназначен для хранения приложений, дистрибутивов, 
    # корпоративного ПО (corporative software) и т. д. 
    # Права доступа для /net и /net/install - 755, то есть владелец ресурса - root. 
    # Диск N: 
    
    [net]
     comment = Ресурс Net
     path = /net
     writable = yes
     readonly = no
     force create mode = 0750
     create mode = 0750
     force directory mode = 0750
     directory mode = 0750
    
     #------------------------------------------------------------------------------------------------------------#
    [netlogon]
     comment = Logon Services in the Network
     path = /etc/samba/netlogon
     guest ok = yes
     writable = no
     locking = no
     public = no
     browseable = yes
     share modes = no
    
    
    #------------------------------------------------------------------------------------------------------------#
    #============================================================#
И пакет Samba, и многие другие инструменты Linux находятся в
    непрерывном развитии, поэтому вполне возможно, что некоторые детали,
    имеющиеся в этой заметке, могут потерять свою актуальность.
    В ходе развития Samba некоторые параметры конфигурационного
    файла слегка изменялись, чтобы добиться стройности системы.
    
    Если при конфигурации Samba-сервера вы получите сообщения о
    неизвестных параметрах, есть пара способов разрешить эту
    проблему:
    
Samba - программный продукт, распространяемый под лицензией
    GPL.
    Linux - зарегистрированная марка Линуса Торвальдса (Linus Torvalds).
    Solaris - операционная система и зарегистрированная марка Sun Microsystems.
    MS Windows - операционная система и зарегистрированная марка Microsoft.
    Использование Samba дает большую экономию на лицензионных отчислениях для Microsoft.
    
| 
 | 
| Webpages maintained by the LinuxFocus Editor team © Sebastian Sasías, FDL LinuxFocus.org Click here to report a fault or send a comment to LinuxFocus | Translation information: 
 | 
2002-06-20, generated by lfparser version 2.19