SAMBA - описание настройки сервиса, примеры конфигураций
Samba (домашняя страница) предоставляет собой службу доступа к файлам и принтерам для различных клиентов Microsoft Windows и может интегрироваться с операционной системой Windows Server, либо как основной контроллер домена (PDC), либо как член домена. Она также может быть частью домена Active Directory. По сути - та самая всеми любимая служба для доступа к “расшареным” папкам и принтерам. Несмотря на наличие некоторых других вариантов, этот сервис остается весьма популярным и востребованным в локальных сетях. Поэтому поднятие этой службы на Linux-машине - не редкость.
Простейшая настройка SAMBA заключается в конфигурировании сервиса в файле smb.conf (/etc/samba/smb.conf в centos или ubuntu). В данном примере мы настроим одну расшаренную папку и принтер в SAMBA.
Пример простой настройки 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 для использования в домашней или локальной сети без аутентификации
[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 уровень стоит для отладки
Настройка iptables для SAMBA
Настройка для сервера:
/sbin/iptables -A INPUT -i eth0 -m pkttype --pkt-type broadcast -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp -m tcp -m multiport --dports 139,445 -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p udp -m udp -m multiport --dports 137,138 -j ACCEPT
Ошибки SAMBA
- WARNING: The security=share option is deprecated
Такое больше не поддерживается, используете user и т.д.
- Ошибка монтирования windows папок с кодом 22
Пытаемся монтировать шару:
mount -t cifs //COMPUTER/test -o username=user,password=pass /media/win/
Получаем:
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 видим:
CIFS VFS: cifs_mount failed w/return code = -22
Исправление:
yum install cifs-utils
- Unable to find the Domain Master Browser
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.
Добавьте в [global] опцию
workgroup = DOMAIN.LOCAL