
掛載由一台主機(hostx)導出的 cifs 共享工作正常:
[piotr@demon ~]$ sudo mount -t cifs //hostx.intranet.local/pdobrogost /home/piotr/remote/hostx/ --verbose -o credentials=/home/piotr/.config/cifs-credentials.conf,uid=piotr,gid=piotr
domain=domainx
mount.cifs kernel mount options: ip=1.2.3.4,unc=\\hostx.intranet.local\pdobrogost,uid=1000,gid=1000,user=pdobrogost,,domain=domainx,pass=********
這對於另一台主機(hosty)導出的 cifs 共用不起作用:
[piotr@demon ~]$ sudo mount -t cifs //hosty.intranet.local/pdobrogost /home/piotr/remote/hosty/ --verbose -o credentials=/home/piotr/.config/cifs-credentials.conf,uid=piotr,gid=piotr
domain=domainx
mount.cifs kernel mount options: ip=1.2.3.5,unc=\\hosty.intranet.local\pdobrogost,uid=1000,gid=1000,user=pdobrogost,,domain=domainx,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
/home/piotr/.config/cifs-credentials.conf
看起來像這樣:
username=my_cifs_username
password=my_cifs_password
domain=domainx
我嘗試使用主機連接到 cifs 共享smbclient
並得到以下資訊:
[piotr@demon ~]$ smbclient -d 3 -A /home/piotr/.config/cifs-credentials.conf -W domainx //hosty.intranet.local/pdobrogost
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
added interface p1p1 ip=10.92.2.80 bcast=10.92.2.255 netmask=255.255.255.0
Client started (version 4.1.6).
tdb(/var/lib/samba/gencache.tdb): tdb_open_ex: could not open file /var/lib/samba/gencache.tdb: Permission denied
resolve_lmhosts: Attempting lmhosts lookup for name hosty.intranet.local<0x20>
resolve_lmhosts: Attempting lmhosts lookup for name hosty.intranet.local<0x20>
resolve_wins: WINS server resolution selected and no WINS servers listed.
resolve_hosts: Attempting host lookup for name hosty.intranet.local<0x20>
Connecting to 1.2.3.5 at port 445
Doing spnego session setup (blob length=97)
got OID=1.2.840.113554.1.2.2
got OID=1.2.840.48018.1.2.2
got OID=1.3.6.1.4.1.311.2.2.10
got principal=cifs/[email protected]
Got challenge flags:
Got NTLMSSP neg_flags=0x60898215
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x60088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x60088215
SPNEGO login failed: Unexpected information received
session setup failed: NT_STATUS_INVALID_PARAMETER
本機系統運行 Fedora 20
mount.cifs 版本:6.3
smbclient 版本:4.1.6
hostx 在 hostx 上運行 Debian 6.0.10
Samba 版本:2:3.5.6~dfsg-3squeeze11
hosty 在 hosty 上運行 Red Hat ES sg-3squeeze11 hosty 在 hosty 上運行 Red4 Enterprise Linux 版本
Samba 版本:桑巴-3.0.33-0.19.el4_8.3
在 hosty 上的 samba 日誌中有以下項目:
Nov 14 15:09:37 hosty smbd[28956]: [2014/11/14 15:09:37, 0] rpc_client/cli_pipe.c:cli_pipe_verify_schannel(354)
Nov 14 15:09:37 hosty smbd[28956]: cli_pipe_verify_schannel: auth_len 56.
Nov 14 15:09:37 hosty smbd[28956]: [2014/11/14 15:09:37, 0] auth/auth_domain.c:domain_client_validate(260)
Nov 14 15:09:37 hosty smbd[28956]: domain_client_validate: unable to validate password for user pdobrogost in domain domainx to Domain controller A.INTRANET.LOCAL. Error was NT_STATUS_INVALID_PARAMETER.
這表示問題在於 Active Directory 網域控制站授權我的密碼。
答案1
您還可以在 hostx 上執行 smbclient 並分享結果嗎?如果它有效,您應該比較兩個主機的 smb conf 檔案(從您的結果來看,它似乎是檔案:/etc/samba/smb.conf)。您是否檢查過您的伺服器上是否配置了 SPNEGO?如果不是這種情況,您應該透過在 hosty 的 smb.conf 設定中新增以下內容來停用它:
[全球的]
客戶端使用 spnego = 否