Назад | Перейти на главную страницу

Samba 4.1.17-Debian запрещен доступ к файлу

Я только что установил Debian 8 (Jessie) на виртуальную машину. Я установил сервер Samba 4.1.17, чтобы иметь общие папки в моей сети. Я ничего не менял в конфигурации, кроме того, что следующие строки были добавлены в конец /etc/samba/smb.conf файл:

[public]
comment = HTTPD public directory
read only = no
locking = no
path = /var/www
guest ok = no

Я добавил своих пользователей с помощью smbpasswd и убедился, что у пользователей есть 777 привилегий на /var/www каталог.

Я могу перечислить акции с smbclient -L \\\\debian64-plankje как с локального хоста, так и удаленно с моей старой виртуальной машины Debian 7. (debian64-plankje это имя хоста сервера)

Если я установлю guest ok = yes тогда я могу анонимно подключиться к общему ресурсу с smbclient \\\\debian64-public\\public, но с guest ok = no установить я получаю ошибку tree connect failed: NT_STATUS_ACCESS_DENIED.

Обширный поиск в Google не дал мне никаких подсказок для решения этой проблемы, которую я пытался решить последние несколько часов. Как и в случае с моим старым сервером, я использовал конфигурацию по умолчанию, к которой я добавил только упомянутые выше.

Ниже приведено содержание моих smb.conf файл, надеюсь, вы поможете мне понять, почему я получаю NT_STATUS_ACCESS_DENIED ошибка.

[global]
workgroup = WORKGROUP
dns proxy = no

log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d

server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user

[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

[public]
comment = HTTPD public directory
read only = no
locking = no
path = /var/www
guest ok = no

После проверки вывода smbtree -d3, мое внимание привлекла следующая строка: resolve_lmhosts: Attempting lmhosts lookup for name DEBIAN64-PLANKJ<0x20>. Оказывается, поскольку мое имя хоста анализируется как имя NETBIOS, я ограничен 15 символами. Мое исходное имя хоста debian64-plankje было 16. Это привело к некоторому неожиданному поведению сервера Samba, когда анонимное соединение было успешным, а соединение с необходимыми учетными данными - нет.

Переименование имени хоста моего сервера на deb64-plankje путем редактирования /etc/hostname и /etc/hosts, а затем перезагрузка (чтобы убедиться, что новое имя хоста было принято) решила проблему для меня :).