Библиотека сайта rus-linux.net
Серверы Linux. Часть VI. Знакомство с сервером Samba
Оригинал: Getting started with sambaАвтор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 14 июля 2015 г.
Глава 10. Начало работы с сервером Samba
10.1. Файл конфигурации /etc/samba/smb.conf
10.1.1. Команда smbd -b
Настройка сервера Samba осуществляется с помощью файла конфигурации smb.conf
. Вы можете либо редактировать данный файл вручную, либо воспользоваться веб-интерфейсом, таким, как webmin или swat. Данный файл обычно расположен в директории /etc/samba. Вы можете определить точное расположение файла, воспользовавшись командой smbd -b
.
[root@RHEL4b ~]# smbd -b | grep CONFIGFILE CONFIGFILE: /etc/samba/smb.conf
10.1.2. Стандартный файл конфигурации smb.conf
В дистрибутиве RHEL/Fedora/CentOS стандартный файл конфигурации smb.conf содержит примеры использования параметров конфигурации сервера с пояснениями.
[paul@RHEL4b ~]$ ls -l /etc/samba/smb.conf -rw-r--r-- 1 root root 10836 май 30 23:08 /etc/samba/smb.conf
Аналогично, в стандартном файле конфигурации smb.conf из соответствующего пакета программного обеспечения дистрибутивов Ubuntu и Debian можно обнаружить примеры использования параметров конфигурации сервера и пояснения относительно их назначения.
paul@laika:~$ ls -l /etc/samba/smb.conf -rw-r--r-- 1 root root 10515 2007-05-24 00:21 /etc/samba/smb.conf
10.1.3. Минималистичный вариант файла конфигурации smb.conf
Ниже приведен пример минималистичного варианта файла конфигурации smb.conf
. Данный файл конфигурации позволяет запускать сервер Samba, причем компьютер, на котором запущен сервер, будет видим для других компьютеров в сети (в операционных системах от компании Microsoft список доступных компьютеров находится в меню "Сетевое окружение" и "Мое сетевое окружение").
[paul@RHEL4b ~]$ cat /etc/samba/smb.conf [global] workgroup = WORKGROUP [firstshare] path = /srv/samba/public
10.1.4. Команда net view в ОС Windows
В примере ниже приведен вывод команды net view
в ОС Microsoft Windows Server 2003 sp2. При рассмотрении данного вывода можно обнаружить, что серверы Samba, работающие под управлением дистрибутивов Red Hat Enterprise Linux 5.3 и Ubuntu 9.04, с минималистичными файлами конфигурации smb.conf видны компьютерам, работающим под управлением ОС от компании Microsoft, расположенным в той же сети.
C:\Documents and Settings\Administrator>net view Server Name Remark ---------------------------------------------------------------------- \\LAIKA Samba 3.3.2 \\RHEL53 Samba 3.0.33-3.7.el5 \\W2003 The command completed successfully.
10.1.5. Длинные строки в файле конфигурации smb.conf
Некоторые параметры в файле конфигурации smb.conf могут принимать значения, представленные в формате длинных списков других значений. Для улучшения читаемости файла конфигурации вы можете продолжать запись длинной строки в следующей строке, завершая первую строку символом обратного слэша.
valid users = Serena, Venus, Lindsay \ Kim, Justine, Sabine \ Amelie, Marie, Suzanne
10.1.6. Любопытная интерпретация файла конфигурации smb.conf
Любопытно, но факт: интерпретатор файла конфигурации smb.conf корректно обрабатывает такие синонимы в названиях параметров конфигурации, как create mode
и create mask
, а также (иногда) такие незначительные орфографические ошибки, как browsable
и browseable
. В некоторых случаях вы даже можете менять местами слова в названиях параметров конфигурации, к примеру, параметр конфигурации guest only
идентичен параметру конфигурации only guest
. А параметр конфигурации writable = yes
аналогичен параметру конфигурации readonly = no
.
10.1.7. Страница руководства man smb.conf
Вы можете ознакомиться с документацией, относящейся к файлу конфигурации, воспользовавшись командой man smb.conf
.
[root@RHEL4b samba]# apropos samba cupsaddsmb (8) - export printers to samba for windows clients lmhosts (5) - The Samba NetBIOS hosts file net (8) - Tool for administration of Samba and remote CIFS servers pdbedit (8) - manage the SAM database (Database of Samba Users) samba (7) - A Windows SMB/CIFS fileserver for UNIX smb.conf [smb] (5) - The configuration file for the Samba suite smbpasswd (5) - The Samba encrypted password file smbstatus (1) - report on current Samba connections swat (8) - Samba Web Administration Tool tdbbackup (8) - tool for backing up and ... of samba .tdb files [root@RHEL4b samba]#
10.2. Утилита /usr/bin/testparm
10.2.1. Проверка синтаксиса файла конфигурации smb.conf
Для проверки синтаксиса файла конфигурации smb.conf вы можете воспользоваться утилитой testparm
.
[paul@RHEL4b ~]$ testparm Load smb config files from /etc/samba/smb.conf Processing section "[firstshare]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
10.2.2. Команда testparm -v
Любопытным параметром утилиты testparm
является параметр -v
, который позволяет вывести список всех глобальных параметров с их стандартными значениями.
[root@RHEL52 ~]# testparm -v | head Load smb config files from /etc/samba/smb.conf Processing section "[pub0]" Processing section "[global$]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] dos charset = CP850 unix charset = UTF-8 display charset = LOCALE workgroup = WORKGROUP realm = netbios name = TEACHER0 netbios aliases = netbios scope = server string = Samba 3.0.28-1.el5_2.1 ...
В Samba 3.0.x в файле smb.conf могли использоваться около 350 параметров, имеющих соответствующие стандартные значения. Количество параметров возросло практически до 400 в Samba 3.5.x.
10.2.3. Команда testparm -s
Демоны Samba постоянно (раз в 60 секунд) проверяют содержимое файла конфигурации smb.conf, поэтому сокращение объема данного файла является разумной практикой. Но такой же разумной практикой является документирование вашего файла конфигурации, а также явное указание параметров конфигурации, которые имеют стандартные значения. Параметр -s
утилиты testparm
позволяет выполнить оба описанных выше действия. При использовании данного параметра будет сгенерирован файл конфигурации сервера Samba минимально возможного объема, в котором будут сохранены все установленные вами значения параметров конфигурации. Идея использования упомянутого параметра заключается в хранении параметров конфигурации вашего сервера Samba в отдельном файле (с таким именем, как smb.conf.full) и задействовании утилиты testparm для его разбора. В примере ниже показана последовательность выполнения описанных действий. В первую очередь в файле конфигурации с именем smb.conf.full осуществляется явная установка значения WORKGROUP параметра конфигурации workgroup.
[root@RHEL4b samba]# cat smb.conf.full [global] workgroup = WORKGROUP # Это пример документирования файла конфигурации smb.conf # Две этих строки будут удалены после использования команды testparm -s server string = Public Test Server [firstshare] path = /srv/samba/public
Далее мы используем утилиту testparm с параметром -s и перенаправим поток стандартного вывода данной утилиты в реальный файл конфигурации с именем smb.conf
.
[root@RHEL4b samba]# testparm -s smb.conf.full > smb.conf Load smb config files from smb.conf.full Processing section "[firstshare]" Loaded services file OK.
А ниже представлен конечный результат. В данном файле конфигурации уже нет двух строк комментариев и директивы для установки стандартного значения параметра конфигурации.
[root@RHEL4b samba]# cat smb.conf # Global parameters [global] server string = Public Test Server [firstshare] path = /srv/samba/public [root@RHEL4b samba]#
10.3. Утилита /usr/bin/smbclient
10.3.1. Использование утилиты smbclient для исследования сервера Samba
С помощью утилиты smbclient
вы можете получить информацию об используемых и разделяемых с помощью вашего сервера Samba ресурсах. Она выведет информацию обо всех ваших разделяемых ресурсах, вашей рабочей группе, а также имени системы, принимающей анонсы от компьютеров и доменов (Master Browser). Параметр -N был добавлен для того, чтобы пользователю не требовалось вводить пустой пароль. После параметра -L должно следовать имя узла для получения информации.
[root@RHEL4b init.d]# smbclient -NL rhel4b Anonymous login successful Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.10-1.4E.9] Sharename Type Comment --------- ---- ------- firstshare Disk IPC$ IPC IPC Service (Public Test Server) ADMIN$ IPC IPC Service (Public Test Server) Anonymous login successful Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.10-1.4E.9] Server Comment --------- ------- RHEL4B Public Test Server WINXP Workgroup Master --------- ------- WORKGROUP WINXP
10.3.2. Анонимное использование утилиты smbclient
В примере ниже утилита smbclient
используется для вывода информации об удаленном сервере Samba (в данном случае компьютер работает под управлением дистрибутива Ubuntu 11.10).
root@ubu1110:/etc/samba# testparm smbclient -NL 127.0.0.1 Anonymous login successful Domain=[LINUXTR] OS=[Unix] Server=[Samba 3.5.11] Sharename Type Comment --------- ---- ------- share1 Disk IPC$ IPC IPC Service (Samba 3.5.11) Anonymous login successful Domain=[LINUXTR] OS=[Unix] Server=[Samba 3.5.11] Server Comment --------- ------- Workgroup Master --------- ------- LINUXTR DEBIAN6 WORKGROUP UBU1110
10.3.3. Утилита smbclient и данные для входа в систему
В версиях ОС Windows, более новых, чем XP SP2 и 2003 SP1 не поддерживается возможность гостевого доступа к системе (при попытке осуществления гостевого доступа к системе возвращается ошибка NT_STATUS_ACCESS_DENIED). В данном примере показана методика передачи данных для входа в систему с помощью утилиты smbclient
.
[paul@RHEL53 ~]$ smbclient -L w2003 -U administrator%stargate Domain=[W2003] OS=[Windows Server 2003 3790 Service Pack 2] Server=... Sharename Type Comment --------- ---- ------- C$ Disk Default share IPC$ IPC Remote IPC ADMIN$ Disk Remote Admin ...
Предыдущий раздел: | Оглавление | Следующий раздел: |
Глава 9. Вводная информация о сервере Samba | 10.4. Утилита /usr/bin/smbtree |