Библиотека сайта 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 |
