folder

На днях возникла необходимость предоставить удобный доступ к файлам сервера Windows машинам. Установка и настройка Samba севрера достаточно проста и быстра.

1. Установка Samba
apt-get install samba

2. Настройка демона Samba
Главный конфигурационный файл демона /etc/samba/smb.conf. Его я отредактировал следующим образом:

[global]
workgroup = HOMEWORKGROUP
server string = Boffin home server
; Для того что б слушать самбой не на всех интерфейсах
bind interfaces only = yes
interfaces = eth0 192.168.1.100
; Список хостов которым разрешен доступ
hosts deny = ALL
hosts allow = 192.168.1.100 192.168.1.150 127.0.0.1
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
passdb backend = tdbsam
security = user
null passwords = true
; Файл с адиасами имен юзеров
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast
wins support = yes
printing = CUPS
printcap name = CUPS
log file = /var/log/samba/log.%m
syslog = 0
syslog only = no
unix charset = utf8
dos charset = cp1251
display charset = cp1251
;название под которым будет доступна директория
[Storage]
; Путь к расшареной директории
path = /mnt/storage
; Разрешен ли просмотр
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755

3. Добавляем пользователей которым разрешён доступ и устанавливаем пароль
smbpasswd -a boffin

4. Активируем пользователя
smbpasswd -e boffin

5. В /etc/samba/smbusers помещаем алиасы (имена пользователей виндовых систем, которым будет предоставлен доступ от имени boffin):
boffin = Admin Administrator

6. Перезапускаем Samba
/etc/init.d/samba restart

7. Проверка работоспособности
boffin@boffin-desktop:~$ smbclient //192.168.1.100/Storage
Enter boffin's password:
Domain=[FORTRESS-SERVER] OS=[Unix] Server=[Samba 3.2.5]
smb: \> ls
. D 0 Wed Dec 3 11:02:08 2008
.. D 0 Thu Sep 11 11:22:07 2008
downloads D 0 Tue Dec 2 13:45:26 2008
restore D 0 Thu Oct 30 12:29:36 2008
trash D 0 Wed Dec 3 11:02:25 2008
lost+found D 0 Wed Oct 29 20:20:07 2008
photo D 0 Sun Nov 30 20:38:23 2008
multimedia D 0 Wed Dec 3 10:50:06 2008
install D 0 Thu Nov 13 09:34:14 2008
docs D 0 Wed Dec 3 10:59:18 2008
UkraineAuto.rar 131 Thu Nov 6 15:52:03 2008
.Trash-1000 DH 0 Wed Nov 12 21:39:53 2008
59146 blocks of size 16777216. 48672 blocks available
smb: \>

12 комментариев на «Настройка Samba в Ubuntu 9.04»

  1. nsp:

    не работает, выдает…. NT_STATUS_BAD_NETWORK_NAME =(

  2. admin:

    А smb.conf такой-же как в статье? Там случайно нет дополнительных параметров? К примеру msdfs proxy или еще чего?

  3. nsp:

    да конфиг такой же, до параметров нет..

  4. nsp:

    Windows машина видит расшаренную папку Storage а войти не может, «Нет доступа к \\10.10.0.10\Storage Возможно у вас нет прав на использование этого ресурса» Может я чего не так делаю….

  5. admin:

    Перепроверил конфиг, скопироал его начистый сервер и проверил. Все работает. Возникают такие вопросы:
    1. Какие права на папку, которую расшариваешь по smb?
    2. Windows запрашивает имя пользователя и пароль при подключении к шаре?

  6. nsp:

    То есть на папку Storage? права ставил и 0644 и 0700, винда первый раз запросила пароль а теперь не запрашивает!

  7. _andy:

    про алиасы спасибо, но народу нужно добавить, про создаваемые каталоги, их создавать и расшаривать нужно !, а не только в smb.conf указывать !

  8. Xpycm:

    в первой команде замени «isntall» на «install»

  9. Denis:

    для того, чтобы открыть доступ к папке на чтение всем пользователям, то надо прописать в конфиге для каждой папки так — например, открываем доступ к папке с обновлениями антивирусных баз kaspersky:
    [kaspersky]
    path = /opt/samba/kaspersky
    writeable = no
    guest ok = yes
    sync always = yes
    hide dot files = no
    map archive = no
    , где /opt/samba/kaspersky — адрес до вашей папки
    если Вы хотите, чтобы все могли читать, а Вы сами еще и записывать, то:
    [kaspersky]
    path = /opt/samba/kaspersky
    writeable = no
    guest ok = yes
    sync always = yes
    hide dot files = no
    map archive = no
    write list = denis
    , где denis — имя Вашего пользователя.
    И обязательно после этих манипуляций надо выполнить команду:
    chmod 777 -R /opt/samba/kaspersky
    Без этой команды — просто появится сетевая папка на сервере, даже если в ней что-то будет — в нее не попадете, а после команды — все только читают, а Вы еще и пишите

    Что касается статьи, в целом — хорошая, но хотел бы поправить:
    [Storage]
    ; Путь к расшареной директории
    path = /mnt/storage
    ; Разрешен ли просмотр
    browseable = yes
    read only = no
    guest ok = no
    create mask = 0644
    directory mask = 0755
    Здесь:
    /mnt/storage — mnt вообще то папка для временного монтирования (подключения) сетевых ресурсов на самом сервере с юникс подобной системой с других серверов и компов сети, обычно для шары используют /opt
    guest ok = no — как владелец статьи собирается расшаривать папку в сеть для чтения, если этой записью, Вы напрочь доступ обрубаете, необходимо ставить yes
    read only = no — здесь дается разрешение на чтение и запись пользователям, но каким? указываются пользователи так write list = denis или write list = denis,user или write list = @adm, где adm — зарегистрированная на сервере, например, группа админов, в нее могут входить и denis, и какой-нибудь vovan, и даже тот же user
    параметры create mask = 0644, directory mask = 0755 — не всегда обязательны

  10. Denis:

    Добавлю:
    Чтоб открыть папку только для Вас и на полный доступ:
    [denis_dir]
    path = /opt/denis_dir
    writeable = no
    guest ok = no
    sync always = yes
    hide dot files = no
    map archive = no
    valid users = denis
    write list = denis
    Затем команда chmod 777 -R /opt/denis_dir
    Она будет видна на сервере, но войти в нее никто не сможет, чтоб ее не видели по сети, то добавляем browseable = no

  11. admin:

    Спасибо, исправил.

  12. Dock:

    Доброго времени суток, статья полезна. Единственное что необходимо создавать правило для автозапуска после ребута, а так все супер.
    Хотел бы спросить такой вопрос, мне нужно что-б была шара, но в сети виндовыми средствами не отображалась — при просмотре машин относящихся к рабочим групам, но в то же время на нее должен быть доступ по следующей команде \\сервер\шара.
    Кто может помогите, какими средствами можно провернуть такой фокус!?

Оставить комментарий