我被要求检查在 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 方面检查什么吗?
编辑:我尝试了以下
文件夹的权限似乎没问题
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 测试
有人建议我检查 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
我发布它是为了防止其他人遇到同样的问题
文达卢人