Я недавно установил (Jessie) Debian 8 на виртуальной машине. Я установил 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
от обоих localhost как удаленно от моего старого Debian 7 VM. (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: Попытка lmhosts найти имя DEBIAN64-PLANKJ <0x20>
. Оказывается, поскольку мое имя хоста анализируется как имя NETBIOS, я ограничен 15 символами. Моим исходным именем хоста debian64-plankje
было 16. Это привело к некоторому неожиданному поведению сервера Samba, когда анонимное соединение было успешным, а соединение с необходимыми учетными данными - нет.
Переименование имени хоста моего сервера на deb64-plankje
путем редактирования / etc / hostname
и / etc / hosts
с последующей перезагрузкой (чтобы убедиться, что новое имя хоста было принято) решила проблему для меня :).