CentOS 7 到 Windows,可以列出 SMB 共享但无法挂载

CentOS 7 到 Windows,可以列出 SMB 共享但无法挂载

我被要求检查在 CentOs7 盒子上安装 Windows 共享,之前它可以工作,但现在却不能工作了(客户不知道可以做哪些更改)

本地挂载点/备份 Windows 共享//xx.xx.xx.xx/000_BCK

我可以毫无问题地 ping 通 Windows 机器

本地挂载点存在

ls /backup
Prod  Test

我可以通过 smbclient 看到共享,即使最后出​​现错误

smbclient -L xx.xx.xx.xx -U backup -m SMB2
Enter SAMBA\backup's password:

        Sharename       Type      Comment
        ---------       ----      -------
        000_BCK         Disk
        ADMIN$          Disk      Amministrazione remota
        B$              Disk      Condivisione predefinita
        C$              Disk      Condivisione predefinita
        IPC$            IPC       IPC remoto
        VBRCatalog      Disk
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to xx.xx.xx.xx failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available

使用 -d3 开关运行相同的命令

 smbclient -L xx.xx.0.39 -U backup -m SMB3 -d3
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[global]"
added interface ens160 ip=xx.xx.xx.xx bcast=xx.xx.3.255 netmask=255.255.252.0
added interface docker0 ip=xx.xy.0.1 bcast=xx.xy.255.255 netmask=255.255.0.0
added interface docker_gwbridge ip=xx.xz.0.1 bcast=xx.xz.255.255 netmask=255.255.0.0
Client started (version 4.10.16).
Connecting to xx.xx.0.39 at port 445
Enter SAMBA\backup's password:
GENSEC backend 'gssapi_spnego' registered
GENSEC backend 'gssapi_krb5' registered
GENSEC backend 'gssapi_krb5_sasl' registered
GENSEC backend 'spnego' registered
GENSEC backend 'schannel' registered
GENSEC backend 'naclrpc_as_system' registered
GENSEC backend 'sasl-EXTERNAL' registered
GENSEC backend 'ntlmssp' registered
GENSEC backend 'ntlmssp_resume_ccache' registered
GENSEC backend 'http_basic' registered
GENSEC backend 'http_ntlm' registered
GENSEC backend 'http_negotiate' registered
Cannot do GSE to an IP address
Got challenge flags:
Got NTLMSSP neg_flags=0x62898215
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215

        Sharename       Type      Comment
        ---------       ----      -------
        000_BCK         Disk
        ADMIN$          Disk      Amministrazione remota
        B$              Disk      Condivisione predefinita
        C$              Disk      Condivisione predefinita
        I$              Disk      Condivisione predefinita
        IPC$            IPC       IPC remoto
        VBRCatalog      Disk
Reconnecting with SMB1 for workgroup listing.
Connecting to xx.xx.0.39 at port 139
Connecting to xx.xx.0.39 at port 139
do_connect: Connection to xx.xx.0.39 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available

fstab配置如下

cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu Jul 26 12:32:02 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
//xx.xx.xx.xx/000_BCK          /backup   cifs    uid=1000,credentials=/var/.smb39,iocharset=utf8,noperm,vers=1.0 0 0

我验证了凭证文件并且它包含正确的凭证(我与 smbclient 一起使用的凭证)

如果我运行 sudo mount -a 我会收到“主机已关闭”消息

sudo mount -a
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

在 fstab 中注释该行,mount -a 工作正常,因此这是“有问题的”行

经过进一步搜索后,我尝试使用 smb 2,现在错误有所不同

我将 fstab 更改为

//xx.xx.xx.xx/000_BCK          /backup   cifs    uid=1000,credentials=/var/.smb39,iocharset=utf8,noperm,vers=2.0 0 0

现在错误是

mount error(13): Permission denied

在 dmsg 中我看到

[2227599.842439] Status code returned 0xc000006d STATUS_LOGON_FAILURE
[2227599.842455] CIFS VFS: Send error in SessSetup = -13
[2227599.842993] CIFS VFS: cifs_mount failed w/return code = -13

...但是(文章开头)使用 smbclient 时这些凭证似乎工作正常

这是 /var/.smb39 的内容

user=backup
password=yyyyyyyyyyyyyyyy

我尝试将用户更改为用户名,但结果似乎相同

凭证文件中未指定域/工作组。这可能是问题所在吗?

我应该要求客户在 Windows 方面检查什么吗?

编辑:我尝试了以下

  1. 文件夹的权限似乎没问题

    ls -l /备份总计 8 drwxr-xr-x 3 root root 4096 20 apr 21.30 Prod drwxr-xr-x 3 root root 4096 20 apr 21.45 测试

  2. 有人建议我检查 selinux 权限。Selinux 似乎在机器上被禁用了,所以它应该不会干扰我的工作

    getenforce 已禁用

    猫/etc/selinux/config

    SELINUX=已禁用 SELINUXTYPE=最低

感谢任何关于这个问题的提示

文达卢人

答案1

经过更多的谷歌搜索(以及客户告诉我们最近进行了 CentOs 更新后),我们发现了问题

https://shocksolution.com/2019/10/23/mount-cifs-error-13-after-update-centos-redhat-linux-7-6/

相关信息来自链接:

当作为本地用户进行身份验证时,您现在必须将主机指定为域。

解决方案是将域添加到凭证文件并切换到 cifs 2.1

我发布它是为了防止其他人遇到同样的问题

文达卢人

相关内容