mount.cifsは、smbclientが使用するのと同じ認証情報ファイルを使用できない


10

NetApp CIFS共有をサーバーの1つにマウントしようとしていますが、「Permission Denied」がstderrに出力NT_STATUS_WRONG_PASSWORDされ、実行中のサーバーに出力され続けdmesgます。

root@xxxehpvld05 ~ $ mount.cifs -vv //zhp-nas.xxx.com/perspectives /mnt/secure/cifs -o credentials=/etc/cifs.creds
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
root@xxxehpvld05 ~ $ dmesg | tail
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13

smbclientこのコマンドは、しかし、まったく同じ資格情報ファイルを使用して、問題なく動作します:

root@xxxehpvld05 ~ $ smbclient -L //zhp-nas.xxx.com/perspectives -A /etc/cifs.creds
Domain=[XXX] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]

        Sharename       Type      Comment
        ---------       ----      -------
        IPC$            IPC       Remote IPC
        ZHPSubmit-dev   Disk
    [...snip...]

資格情報ファイルでもドメイン名が指定されているため、一方が機能するかどうかは特に問題ありません。


賞金はどうなりましたか?

うまくいった答えが得られなかったので、賞金は最終的に期限切れになり、それらのポイントはすべてdodoの方法になりました。
Bratchley 2014

あなたが答えを考えることができるなら、私はあなたに新しい報奨金を与えます、私が答えを得られないなら、私はポイントを失ってしまいたくないだけです。
Bratchley 2014

だから、私は同様の問題を抱えていました(カーネルモジュールからの-13エラーで)。cifs-utilsパッケージ(Debian)をインストールし、問題を解決しました。パッケージがインストールされていないとサポートが期待できなかったので、これをデバッグするのに少し費やしました。マウントから「不明なファイルシステム」のようなものが期待されていましたが、それは起こりませんでした。
sherrellbc

回答:


7

詳細は不明ですが、確かに言うことはできませんが、古いプロトコルバージョンを実行していた古いWindowsサーバーに接続すると、この問題が発生しました。CIFSはSMBの「方言」(タイプ)と見なされることを忘れないでください。他のタイプがあり、古いセットアップではCIFSを使用しません。

基本的には、2人が話していると言っているようなものです。1人のスペイン語と1人の英語、そしてあなたが英語を話す人にスペイン語を明確に理解させないように強制しようとするあなた。

SMBclientは、セキュリティネゴシエーションに別の方言を使用します。(または少なくとも別の方法で検出します)。

やってみる

mount -t cifs // path / thing / / mount / point -o username = user、password = pass、sec = ntlm

何が起こるか見てください。(sec = ntlmは重要な部分です)


NTLM認証を指定した場合でも同じ問題。ntlmまたはと同じですntlmv2。トラブルシューティングの方法がわからないので、さらに情報が必要な場合はお知らせください。質問を更新します。SANの担当者が見逃したNetApp側のアクセス制御はありますか?
Bratchley 2014年

サーバーソフトウェアのバージョン。ルーターやスイッチはありますか?
coteyr 2014年

同じサブネット。SambaはNetApp ONTAPアプライアンスであるため、反対側のSambaのバージョンがわからない。
Bratchley 14

4

コマンドをいじって、考えられる理由を見つけました。

smbclientのmanページから:

   -A|--authentication-file=filename
       This option allows you to specify a file from which to read the
       username and password used in the connection. The format of the file is

           username = <value>
           password = <value>
           domain   = <value>

       Make certain that the permissions on the file restrict access from
       unwanted users.

mount.cifsのmanページから:

   credentials=filename
       specifies a file that contains a username and/or password and
       optionally the name of the workgroup. The format of the file is:

          username=value
          password=value
          domain=value

それから私は、最初のスニペットと1なしで示し、それらを名前のように2つの資格証明ファイルが、スペースを持つものを、作成したcredscreds.spacy

大きな対決:

credsファイル:

mount.cifs -vvv //host/path /local/path -o credentials=/path/creds

良い沈黙、エラーなし。

creds.spacyファイル:

# mount.cifs -vvv //host/path /local/path -o credentials=/path/creds.spacy
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

したがって、認証情報ファイルにスペースが含まれていることは明らかです。これは、mount.cifsでは認識されません。

また、smbclientスペースがあってもかまいません。credsそして、creds.spacy任意のライチョウを引き起こしませんでした。


ファイルの最後に余分な空白行がありましたが、削除すると同じ結果になります。これは、credsファイルの内容を少し編集したバージョンです。編集されたパスワードと実際のパスワードは、「!」を含む大文字と小文字が混在したパスワードです。特殊文字として。
Bratchley 14

これには別の側面があり、このソリューションで私が見つけたものです。資格情報は正しい順序、つまりユーザー名、パスワード、ドメインでなければならず、ドメイン、ユーザー名、パスワード(私が持っていたもの)のような他の順序ではない必要があります。これはでも問題smbclientなく機能しmount.cifsますが、には失敗します。ここで引用したドキュメントで指定されている正しい順序に順序を変更すると、動作し始めました。このような(スペースの扱いと順序の問題の両方)は、保守している人なら誰でも簡単に修正できるひどいバグですmount.cifs
leftclickben 2016

2

sec = ntlmを追加すると、問題が修正されました。古いNAS(netgear stora)を持っています。最近のカーネルのCIFSのデフォルトのセキュリティはntlmsspです


私も働いた。本当の原因はまだわかりません。それが誰かを助ける場合:ubuntu LTS 14.04上のisilonマウント。isilon(一部のSANのもの)は、WindowsのActive Directoryと通信します。同じアカウントが他のマシンの魅力のように機能し、直接Windowsにマウントした場合。
Reinout van Rees、2015

補足:最新のアップデートを適用した12.04は問題なく動作し、14.04は現在問題の一部となっています(2015年4月下旬)。
Reinout van Rees、2015

最後の追加メモ:コアの問題は、emc isilonストレージと更新KB3002657に関する既知のMicrosoft問題でした(または、私のシステム管理者が今すぐ教えてくれます:
Reinout van Rees

2

今日共有をマウントしようとしたときに私が発見した別の可能性は、資格情報としてドメイン内のユーザーを提供する構文をsmbmountサポートしてusername=DOMAIN\\userいることです。

以下のためにmount.cifs(とmount -t cifs)仕事に、これらの二つは別々に提供されなければなりません:-o username=user,password=pass,dom=DOMAIN


NetApp Clustered Data ONTAPが提供するsmb 3.0共有をマウントするには、両方を呼び出す必要がsec=ntlmありましたdom=DOMAIN
iii

1

user55518が説明したように、クレデンシャルファイルが表示されない場合でも、おそらくクレデンシャルファイルにスペースが含まれています。Windowsで資格情報ファイルを編集した場合、おそらく\r行末にあり、エラー13をスローします。


vimでコマンドセットリストを使用して、追加のタブ/スペースを確認できます
vfbsilva '27

0

みんなに感謝したい!!! この問題については、それは本当に私を助けてくれます!また、「sec = ntlm」パラメータに関するいくつかの重要な情報を見つけました。

Microsoft NTLM

私はWindows 7デスクトップから共有ディレクトリをマウントしようとしていましたが、パラメーター "sec = ntlm"を追加するまで不可能であり、それは機能し、いくつかの重要な詳細は、私のWindows 7デスクトップがドメインなので、私が考慮すべき最も重要な詳細だったと思います。したがって、それは機能します!、本当にあなたに感謝します!そしていい感じ!:D


0

私の場合、オプションを追加するだけで済みvers=3.0(CIFSはバージョン1であり、カーネル4.13以降はサポートされなくなったため、サーバーでSMBv3に右に切り替えました)、それでも機能させるために再起動する必要がありました。これが私の/etc/fstab今マウントライン:

auto,rw,credentials=/usr/local/etc/smb.credentials,vers=3.0,file_mode=0664,dir_mode=0775,uid=myuser,gid=users

私の資格情報ファイル:

username=myuser
password=****
domain=mydomain

実際にdomainは必要ありませんが、mount.cifsのmanページに従って使用する正しいオプションです。


0

私はしばらくこれに苦労しています。

次のエラーが発生しました:

mount error(112): Host is down

ここでvers = 1.0オプションを設定するのに役立ち、それが報告されました

mount error(13): Permission denied

資格情報ファイルに余分な "文字が含まれていることがわかりました

もともと私が持っていた場所:

# cat /etc/samba/cred-file
username="john"
password="secret"

それがあるべき場所

# cat /etc/samba/cred-file
username=john
password=secret
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.