На днях возникла необходимость предоставить удобный доступ к файлам сервера 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: \>


не работает, выдает…. NT_STATUS_BAD_NETWORK_NAME =(
А smb.conf такой-же как в статье? Там случайно нет дополнительных параметров? К примеру msdfs proxy или еще чего?
да конфиг такой же, до параметров нет..
Windows машина видит расшаренную папку Storage а войти не может, «Нет доступа к \\10.10.0.10\Storage Возможно у вас нет прав на использование этого ресурса» Может я чего не так делаю….
Перепроверил конфиг, скопироал его начистый сервер и проверил. Все работает. Возникают такие вопросы:
1. Какие права на папку, которую расшариваешь по smb?
2. Windows запрашивает имя пользователя и пароль при подключении к шаре?
То есть на папку Storage? права ставил и 0644 и 0700, винда первый раз запросила пароль а теперь не запрашивает!
про алиасы спасибо, но народу нужно добавить, про создаваемые каталоги, их создавать и расшаривать нужно !, а не только в smb.conf указывать !
в первой команде замени «isntall» на «install»
для того, чтобы открыть доступ к папке на чтение всем пользователям, то надо прописать в конфиге для каждой папки так — например, открываем доступ к папке с обновлениями антивирусных баз 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 — не всегда обязательны
Добавлю:
Чтоб открыть папку только для Вас и на полный доступ:
[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
Спасибо, исправил.
Доброго времени суток, статья полезна. Единственное что необходимо создавать правило для автозапуска после ребута, а так все супер.
Хотел бы спросить такой вопрос, мне нужно что-б была шара, но в сети виндовыми средствами не отображалась — при просмотре машин относящихся к рабочим групам, но в то же время на нее должен быть доступ по следующей команде \\сервер\шара.
Кто может помогите, какими средствами можно провернуть такой фокус!?