
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
hosty 上の 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 で Debian 6.0.10 を実行中
hostx 上の Samba バージョン: 2:3.5.6~dfsg-3squeeze11
hosty で Red Hat Enterprise Linux ES リリース 4 を実行中
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.
これは、Active Directory ドメイン コントローラーによるパスワードの承認に問題があることを示唆しています。
答え1
hostx で smbclient を実行して、結果を共有できますか? うまくいけば、両方のホストの smb conf ファイルを比較する必要があります (結果から判断すると、/etc/samba/smb.conf ファイルのようです)。サーバー上で SPNEGO が構成されていることを確認しましたか? そうでない場合は、hosty の smb.conf 設定に以下を追加して無効にする必要があります。
[グローバル]
クライアントはspnegoを使用する = いいえ