无法使用与 CentOS 7 相同的配置在 Fedora 29 上访问 Samba 共享

无法使用与 CentOS 7 相同的配置在 Fedora 29 上访问 Samba 共享

当我尝试在 Fedora 29 上设置 Samba 共享时,我发现它无法通过网络访问。经过进一步检查,我还发现它也无法从本地机器访问。

我已经研究了几个小时但找不到问题的根源。

我的smb.conf(两台机器相同):

[global]
    workgroup = WORKGROUP
    server string = Samba server (%v) on %h
    hosts allow = 127. 10.0.1.
    ntlm auth = yes

    log file = /var/log/samba/log.%m
    max log size = 50

    security = user
    passdb backend = tdbsam

    load printers = yes
    cups options = raw

[mattd]
    path = /home/mattd
    comment = Share
    writable = yes
    valid users = mattd

Samba 服务处于活动状态并正在运行:

smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-01-31 04:57:12 EST; 3min 36s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 26861 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 4915)
   Memory: 9.0M
   CGroup: /system.slice/smb.service
           ├─26861 /usr/sbin/smbd --foreground --no-process-group
           ├─26863 /usr/sbin/smbd --foreground --no-process-group
           ├─26864 /usr/sbin/smbd --foreground --no-process-group
           └─26865 /usr/sbin/smbd --foreground --no-process-group

Jan 31 04:57:12 minedlands systemd[1]: Starting Samba SMB Daemon...
Jan 31 04:57:12 minedlands systemd[1]: Started Samba SMB Daemon.
Jan 31 04:57:12 minedlands smbd[26861]: [2019/01/31 04:57:12.514592,  0] ../lib/util/become_daemon.c:138(daemon_ready)
Jan 31 04:57:12 minedlands smbd[26861]:   daemon_ready: STATUS=daemon 'smbd' finished starting up and ready to serve connections

用户mattd(我的帐户)正在运行,我可以通过 SSH 正常登录。

我为该用户创建了一个 Samba 帐户:

$ smbpasswd -a mattd

Samba账户已启用:

$ smbpasswd -e mattd

并且可以确认这个Samba账号存在:

$ pdbedit -L
mattd:1000:Matt D.

我已设置 SELinux 选项以允许访问主目录共享:

$ setsebool -P samba_enable_home_dirs 1

然而,SELinux 已被禁用以setenforce 0进行测试。

Samba 可通过防火墙访问:

$ firewall-cmd --zone=public --permanent --add-service=samba
$ firewall-cmd --reload

当我尝试本地访问 Samba 共享(我通过 SSH 连接)时,我可以连接到 Samba 服务,它会要求我进行身份验证:

$ smbclient //localhost/mattd --user mattd
Enter WORKGROUP\mattd's password:

但我遇到了访问被拒绝错误:

session setup failed: NT_STATUS_ACCESS_DENIED

总之:

  • 这是我的账户。
  • 我有访问我自己的主目录(共享)的权限。
  • 除了我的用户帐户之外,我还创建了必要的 Samba 帐户。
  • 我通过localhost连接并与Samba服务实现通信。
  • 该错误消息表明身份验证存在问题。
  • SELinux 不是一个因素。
  • 防火墙不是一个因素。
  • 我的smb.conf与工作系统完全相同。
  • 我已经重新启动了 Samba 服务。

Samba 版本:

  • CentOS 7 正在运行 Samba 4.8.3。
  • Fedora 29 正在运行 Samba 4.9.4。

我可以使用 Fedora 机器连接到 CentOS 机器,smbclient因此可以进行连接。

我感觉我已经涵盖了所有基础知识,但就是行不通。虽然标题表明这两台机器的配置相同,但它们并不相同,或者这两个发行版之间存在一些需要注意的地方。

答案1

添加到 smb.conf

client lanman auth = yes

相关内容