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

Отказано в доступе к общему ресурсу Samba из Windows 10

Версия Samba: Версия 4.1.17-Ubuntu

Ubuntu 15.10

При доступе к общему ресурсу Samba в Windows я вижу его, но всякий раз, когда я пытаюсь получить к нему доступ, вводя то же имя пользователя и пароль, что и пользователь Samba, созданный с помощью sudo smbpasswd -a benjamin (как системный пользователь), я получаю только «Доступ запрещен». Вот мои настройки smb

[global]
server string = %h server (Samba, Ubuntu)
#encrypt passwords = No
map to guest = Bad User
obey pam restrictions = Yes
passdb backend = tdbsam
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d

wins support = yes

name resolve order = wins lmhosts host bcast


[TVShare]
path = /media/MEDIA2/TV
available = yes
valid users = benjamin
read only = no
browsable = yes
public = yes
writable = no

куда ls -dl /media/MEDIA2/TV/ читает

drwxrwxr-x 40 benjamin benjamin 4096 Sep  5 16:18 /media/MEDIA2/TV/

Образец журнала:

[2015/12/20 12:52:02,  2] ../source3/lib/tallocmsg.c:124(register_msg_pool_usage)
  Registered MSG_REQ_POOL_USAGE
[2015/12/20 12:52:02,  2] ../source3/lib/dmallocmsg.c:78(register_dmalloc_msgs)
  Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
[2015/12/20 12:52:02.517860,  2] ../source3/param/loadparm.c:543(max_open_files)
  rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
[2015/12/20 12:52:02.517954,  2] ../source3/param/loadparm.c:3582(do_section)
  Processing section "[TVShare]"
[2015/12/20 12:52:02.518169,  2] ../source3/lib/interface.c:341(add_interface)
  added interface eth0 ip=192.168.0.5 bcast=192.168.0.255 netmask=255.255.255.0
[2015/12/20 12:52:02.522658,  0] ../lib/util/become_daemon.c:136(daemon_ready)
  STATUS=daemon 'smbd' finished starting up and ready to serve connectionsFailed to fetch record!

На ПК с Windows изменить HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel до 4

Сетевая безопасность: уровень проверки подлинности LAN Manager обычно установлен на Send LM & NTLM - use NTLMv2 session security if negotiated групповыми политиками для обеспечения совместимости резервного копирования со старыми клиентами.

Изменение LmCompatibilityLevel на 4 устанавливает это на Send NTLMv2 response only

Чтобы получить доступ к ресурсу самбы, обратите внимание на:

  1. Вам нужно было создать системного пользователя с тем же именем пользователя. В этом случае введите следующую команду: useradd -s /sbin/nologin benjamin
  2. Если вы используете систему с поддержкой SELINUX (например, CentOS), попробуйте временно отключить ее выдачу setenforce 0

РЕДАКТИРОВАТЬ: поскольку проблема не устранена, попробуйте следующее:

  1. возможно, ваш хост Windows добавляет к вашему имени пользователя неправильное доменное имя. На компьютере с Windows попробуйте войти, используя localhost\benjamin как имя пользователя
  2. выпуск pdbedit -L и проверьте, есть ли у пользователя benjamin указан. Если да, установите простой пароль (вы можете изменить его позже), используя smbpasswd benjamin
  3. если пользователь benjamin отсутствует в списке, попробуйте воссоздать его, выдав smbpasswd -a benjamin
  4. если не работает, удалите файл passwd (он называется passwd.tdb; для справки, в системе CentOS 6.x он находится в /var/lib/samba/private/). Затем воссоздайте своего пользователя, выдающего smbpasswd -a benjamin
  5. если он все еще не работает, попробуйте использовать корневую учетную запись, выдающую smbpasswd -a root и проверьте, можете ли вы войти в систему, используя пользователя root. Примечание: это только попытка. Покончив с этим, вы должен удалить корневую запись smbpasswd -x root

Возможно, вам нужно добавить соответствующего пользователя в вашу службу smb в Linux sudo smbpasswd -a myuser

У меня это сработало.