Samba (домашняя страница) предоставляет собой службу доступа к файлам и принтерам для различных клиентов MicrosoftWindows и может интегрироваться с операционной системой Windows Server, либо как основной контроллер домена (PDC), либо как член домена. Она также может быть частью домена Active Directory. По сути - та самая всеми любимая служба для доступа к “расшареным” папкам и принтерам. Несмотря на наличие некоторых других вариантов, этот сервис остается весьма популярным и востребованным в локальных сетях. Поэтому поднятие этой службы на Linux-машине - не редкость.
Простейшая настройка SAMBA заключается в конфигурировании сервиса в файле smb.conf (/etc/samba/smb.conf в centos или ubuntu). В данном примере мы настроим одну расшаренную папку и принтер в SAMBA.
[global]
null passwords = yes #разрешаем вход без пароля
encrypt passwords = yes
realm = host.workgroup #указываем имя хоста и рабочей группы
public = yes #виден в сети
winbind use default domain = false
passdb backend = tdbsam
template shell = /bin/false
netbios name = host #видимое имя
cups options = raw
server string = smitty
default = host.workgroup
workgroup = workgroup #имя рабочей группы
os level = 20
security = share
[printers] #[Принтер](/)
comment = All Printers #комментарий, не обязательный параметр, но лучше все-таки указывать
printable = yes #разрешить печать
path = /var/spool/samba #
guest ok = yes #разрешить гостевой доступ
browseable = yes #виден в сети
[share] #Шара
comment = Reports #комментарий, не обязательный параметр, но лучше все-таки указывать
path = /home/share #расшаренная папка
writeable = yes #разрешаем запись
browseable = yes #виден в сети
guest only = yes #разрешить только гостевой доступ, пароль не требуется
create mask = 0775
directory mask = 0775
Пример настройки SAMBA на Ubuntu Server 12.04 для использования в домашней или локальной сети без аутентификации
123456789101112131415161718192021
[global]
netbios name = router
read raw = no
write raw = no
socket options = TCP_NODELAY
debug level = 2
os level = 20
auto services = global
socket address = 10.0.0.1
security = user
map to guest = bad user
guest account = nobody
wins support = true
[share]
comment = RAID
path = /mnt
public = yes
guest_ok = yes
writeable = yes
browseable = yes
Socket address поставить свой, как и название шары (тут share). Debug можно уменьшить, 2 уровень стоит для отладки
* WARNING: The security=share option is deprecated
Такое больше не поддерживается, используете user и т.д.
Ошибка монтирования windows папок с кодом 22
Пытаемся монтировать шару:
1
mount -t cifs //COMPUTER/test -o username=user,password=pass /media/win/
Получаем:
123456
mount: wrong fs type, bad option, bad superblock on //atr-it4/test,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
В dmasg видим:
1
CIFS VFS: cifs_mount failed w/return code = -22
Исправление:
1
yum install cifs-utils
Unable to find the Domain Master Browser
123
find_domain_master_name_query_fail:
Unable to find the Domain Master Browser name WORKGROUP<1b> for the workgroup WORKGROUP.
Unable to sync browse lists in this workgroup.