назад Оглавление вперед

Samba 3 в примерах. От простого к сложному. Пример 1. Простой Samba-сервер. Доступ всем на все.

5. Конфигурирование сервера Samba

Теперь займемся сервером Samba. Конфигурационный файл для сервера Samba-3 находится в папке /etc/samba и называется smb.conf. После установки в нем написано много чего интересного, но мы не будем его править, а создадим свой. Сохраняем файл /etc/samba/smb.conf на память (и на всякий случай, там много чего есть интересного почитать, и вообще заведите себе привычку перед любым изменением любого конфигурационного файла делать его резервную копию):

# mv /etc/samba/smb.conf /etc/samba/smb.conf.default

Примечание: разработчики Samba настоятельно рекомендуют иметь файл smb.conf как можно более меньшего размера, а также не иметь внутри файла комментариев. Также они рекомендуют как можно более тщательно комментировать все изменения, какие вы делаете. Данные противоречивые рекомендации исполняются следующим образом: мы сделаем файл smb.conf.comment, в котором опишем все, что мы делаем, а потом из него получим рабочий файл smb.conf:

# touch /etc/samba/smb.conf.comment

Теперь заполним файл smb.conf.comment примерно таким содержимым:

#Глобальные параметры                   
[global]                                
#название рабочей группы, в windows по умолчанию WORKGROUP, если вы имеете домен, укажите имя вашего домена, тогда
#в сетевом окружении windows ваш файл-сервер будет в общей массе компьютеров                                      
workgroup = WORKGROUP                                                                                             
#NetBIOS-имя компьютера в вашей сети, имя, под которым файл-сервер будет отображаться в сетевом окружении         
netbios name = ALTSERVER                                                                                          
#режим безопасности                                                                                               
security = SHARE                                                                                                  
#то, как будет описываться в сетевом окружении                                                                    
server string = files and music                                                                                      

#описание наших общих папок
#секция music
[music]
#комментарий, то, как будет подписан наш общий ресурс в сетевом окружении
comment=Наша музыка
#путь к общей папке
path=/mnt/allfiles/sharefolder/music
#данные параметры необязательны, но для чего они потребовались тут, скажу ниже
create mask = 0777
directory mask = 0777
#принуждаем быть владельцем общего ресурса пользователя sambauser
force user=sambauser
#принуждаем быть владельцем общего ресурса группу users
force group=users
#указываем, что можно не только читать, но и записывать
read only=No
#открываем гостевой доступ, по сути всем
guest ok=Yes

[обмен файлами]
comment=файлообмен
path="/mnt/allfiles/sharefolder/обмен файлами"
create mask = 0777
directory mask = 0777
force user=sambauser
force group=users
read only=No
guest ok=Yes

Получим рабочий файл smb.conf, а заодно проверим, нигде ли мы не ошиблись при помощи команды testparm:

# testparm -s smb.conf.comment>smb.conf
Load smb config files from smb.conf.comment              
Processing section "[music]"                             
Processing section "[обмен файлами]"                     
Loaded services file OK.                                 
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.                    
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)         
Server role: ROLE_STANDALONE

Теперь у вас появился файл smb.conf, причем в нем нет ни одной строки с комментариями. Добейтесь, чтобы не было никаких ошибок, опечаток и т.п. Утилита testparm проверяет в основном опечатки, правильность заданных параметров она почти не контролирует. Например, если вы опечатались, сообщение об ошибке может выглядеть так:

# testparm -s smb.conf.comment>smb.conf
Load smb config files from smb.conf.comment
Unknown parameter encountered: "metbios name"
Ignoring unknown parameter "metbios name"
Processing section "[music]"
ERROR: Badly formed boolean in configuration file: "Yes/t".
lp_bool(Yes/t): value is not boolean!       
Processing section "[обмен файлами]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE

В данном случае опечатка metbios name вместо netbios name, а также ошибочное значение параметра в секции [music]

Примечание: параметр workgroup=WORKGROUP применяется по умолчанию, поэтому если у вас такая рабочая группа, то его можно не писать, а если какая то другая, то смело пишите, например, workgroup=MYNETWORK

Если вы игнорируете рекомендации разработчиков и нещадно редактируете непосредственно файл smb.conf, то для проверки запускать testparm без параметров.

Итоговый файл smb.conf получился таким:

[global]
        netbios name = ALTSERVER
        server string = files and music 
        security = SHARE

[music]
        comment = Наша музыка
        path = /mnt/allfiles/sharefolder/music
        force user = sambauser
        force group = users
        read only = No
        create mask = 0777
        directory mask = 0777
        guest ok = Yes

[обмен файлами]
        comment = файлообмен
        path = "/mnt/allfiles/sharefolder/обмен файлами"
        force user = sambauser
        force group = users
        read only = No
        create mask = 0777
        directory mask = 0777
        guest ok = Yes
назад Оглавление вперед