web-dev-qa-db-ja.com

cifs共有をマウントするときにNT_STATUS_INVALID_PARAMETERをデバッグする方法は?

1つのホスト(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

smbclientを使用してhostyのcifs共有に接続してみましたが、次のようになりました。

[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

fedora20を実行しているローカルシステム
mount.cifsバージョン:6.3
smbclientバージョン:4.1.6
Debian6.0.10を実行しているhostx
hostx上のSambaバージョン:2:3.5.6〜dfsg-3squeeze11
Red Hat Enterprise LinuxESリリース4を実行しているhosty
hostyのSambaバージョン: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.

これは、問題がActiveDirectoryドメインコントローラーによるパスワードの承認にあることを示唆しています。

2
Piotr Dobrogost

Hostxでsmbclientを実行し、結果を共有することもできますか?それが機能する場合は、両方のホストのsmb confファイルを比較する必要があります(結果から、ファイル/etc/samba/smb.confのようです)。サーバーにSPNEGOが設定されていることを確認しましたか?そうでない場合は、hostyのsmb.conf設定にこれを追加して無効にする必要があります。

[グローバル]

クライアントはspnegoを使用=いいえ

1
HIKster