mount.cifsを使用できません:mount error(2):No such file or directory


17

コマンドmount.cifsは、systemdを使用したgentooシステムでは実行できないことがわかりました

ae429-1105 etc # mount -t cifs //file.abc.edu.au/user /home/directory/path -o credentials=/etc/user,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

マウントポイント/ home / directory / pathおよび資格情報ファイル/ etc / userの存在とアクセス可能性が確認されてい ます。また、関連するモジュールとサービスが有効になっています。つまり、

 ae429-1105 etc # lsmod |egrep 'fuse|cifs'
 fuse                   72589  5 
 cifs                  312131  0

そして

ae429-1105 etc # systemctl -t service -a |grep Samba
nmbd.service                         loaded active   running Samba NetBIOS                     name server
smbd.service                         loaded active   running Samba SMB/CIFS     server
winbindd.service                     loaded inactive dead    Samba Winbind daemon

この問題は、多くのユーザー、たとえば1つの例によって特定されています。また、私のUbuntu / debianシステムで実行された同じコマンドが正常にマウントできることに注意してください。

問題のあるマシンのその他の情報:

ae429-1105 etc # mount.cifs --version
mount.cifs version: 6.1

debian / ubuntuにインストールされているmount.cifsのバージョンは6.0


/home/directory/pathGentoo環境に存在することは確かですか?奇妙なことに、これは最初に発生する明らかな質問であるため、言及していない。
ホークレイジング14年

はい、マウントポイント/ home / directory / pathの存在とアクセシビリティを確認しました。
チェンミンチャン14年

他の読者がコメントを読んで取得する必要がないように、この情報を質問に追加する必要があります。
ホークレイジング14年

回答:


8

新しいバージョンのWindowsから共有をマウントしようとしている場合は、バージョン3.0を強制するために、mountコマンドにvers =オプションを指定する必要があります。ファイルサーバーの1つが最近2012R2にアップグレードされ、マウントが機能しなくなった。vers = 3.0に設定すると、問題が修正されました。ほとんどのSamba / CIFSエラーと同様に、「No such file or directory」というメッセージはあまり役に立ちません。

例として:

# mount -t cifs //win2012r2/someshare -o cred=/home/foo/.cifs_user, vers=3.0 /mnt/tmp

... cifs_userファイルに含まれるドメイン、ユーザー名、およびパスワードがあります。

どうやら、smbmountは問題や特別なオプションなしで機能するため、デフォルトでSMBプロトコルの新しいバージョンを使用します。

デフォルトのプロトコルバージョンは1.0です。

mount.cifsのマニュアルページから:

vers=
           SMB protocol version. Allowed values are:

           ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

           ·   2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and
               Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly
               different dialect (2.000) that is not supported.

           ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.

           ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.

「nounix」フラグについても同様の問題がありましたが、v1.0ではサポートされていません。v2.0(私が利用できる最新版)に変更すると、問題が修正されました。また、vers = 2.0(777ではなく755)を使用すると、ファイルのアクセス許可がより適切になります
-cxrodgers

2
vers =オプションに関連するソリューションに感謝します!私にとっては、逆方向にしか機能しませんでした... opensuse leapを42.3バージョンから15.1にアップグレードした後、動作するネットワークドライブをマウントするためのfstabエントリは、15.1で動作しなくなりました。オプションvers = 1.0を使用して、何を推測しますか?おそらく、leap 15.1は、リモートディレクトリを見つけることができなかった新しいバージョンのSMBプロトコルを使用しています。
ジョン

Ubuntu 19.04からWindows Server 2003でホストされている共有への接続は、オプションリストにvers = 1.0を追加するまで継続的に失敗しました。ありがとう!
user8675309

vers=2.05年前のNASシステムのSamba共有をマウントするにはバージョンTWO を指定する必要がありましたが、3.0では上記のエラーが発生しました。
フランクノッケ

etc/fstabユーザー:だけがそれを置くvers=3.0(または2.0 ...)あなたの他のオプションの前に右とspaceless、すなわちvers=2.0,guest,uid=1000,iocharset…
フランクNocke

5

使える nodfsオプションできますか?すなわち、-oオプション入力のために以下のように入力を渡します。

-o credentials=/etc/user,rw,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs

すなわち追加された ,nodfs

それは私のために働いた。


ありがとうございました!最初に他のすべての提案を試しましたが、以前は必要なかったfedora30でこれが必要でした
Jens Timmerman

2

secパラメーターの変更が必要になる場合があります。この設定により、セットアップで機能するようになりました。

mount.cifs ... -o sec=ntlm

関連抽出物man mount.cifs

sec=セキュリティモード。許可される値は次のとおりです。

  • none -nullユーザー(名前なし)として接続を試行します
  • krb5 -Kerberosバージョン5認証を使用する
  • krb5i -Kerberos認証を使用し、パケット署名を強制的に有効にします
  • ntlm -NTLMパスワードハッシュを使用する
  • ntlmi -NTLMパスワードハッシュを使用し、パケット署名を強制する
  • ntlmv2 -NTLMv2パスワードハッシュを使用する
  • ntlmv2i -NTLMv2パスワードハッシュを使用し、パケット署名を強制する
  • ntlmssp -Raw NTLMSSPメッセージにカプセル化されたNTLMv2パスワードハッシュを使用する
  • ntlmsspi -Raw NTLMSSPメッセージにカプセル化されたNTLMv2パスワードハッシュを使用し、パケット署名を強制する

    v3.8より前のメインラインカーネルバージョンのデフォルトはでしたsec=ntlm。v3.8では、デフォルトがに変更されましたsec=ntlmssp

    サーバーがプロトコルのネゴシエーション中に署名を必要とする場合、サーバーは自動的に有効になります。パケット署名は、で有効になっている場合、自動的に有効になる場合があります/proc/fs/cifs/SecurityFlags


1

Ubuntu 18.04でこれに遭遇しました。問題は、Kerberos認証(sec=krb5マウントオプション)を実行するためにkeyutilsパッケージが必要であり、cifs-utils(mount.cifsを提供)と共にインストールされなかったことです。パッケージ名がGentooで同じかどうかはわかりません。(ソリューションのhttps://forum.zentyal.org/index.php?topic=18601.0に感謝します。)


1

今日出会ったこの問題の別の原因を追加したかった。UNIXユーザーのユーザーIDを変更すると、smbpasswdで作成されたsmbユーザーがsamba共有に対して認証できなくなり、同じエラーが発生する場合があります。

したがって、unixユーザーIDを変更した場合usermod -u 1000 my_user、問題が発生する可能性があります。私の修正は、smbユーザーを削除してから追加し直すことでした:

smbpasswd -x my_user
smbpasswd -a my_user

本当ですが、これは元の質問とどのように関連していますか?
-RalfFriedl

先ほど言ったように、ユーザーのユーザーIDを変更すると、元の質問と同じエラーが表示されます。だから誰かが同じことをしてこのスレッドを見つけたなら、彼または彼女は私のヒントが役に立つと思うかもしれません。
リヤド

1

$このように最後にa を追加します//winserver/sharename$

mount.cifs -v -o username=myusername,domain=MYCODOMAIN //winserver/sharename$ /mnt/mymountpoint

うわー!「$」が何をするのか考えていますか?それは私のためにそれを修正しましたが、理由の手がかりはありません
ガブリエルフェア

$記号は、Windows共有コンテキストの管理共有です。システムによってアクティブ化された場合、管理権限を持つユーザーはすべてのパスにアクセスできます。例\\ MY-SERVER \ c $
Phil795

0

CentOS 7 VMでmount.cifsを使用して、同じ「マウントエラー(2):そのようなファイルまたはディレクトリはありません」というエラーが発生しました。デフォルトのntlmセキュリティ(およびその亜種)を使用しているときにエラーが発生した理由を正確に判断することはできませんでしたが、Kerberos認証を使用すると問題を回避できることがわかりました。そのため、私の最終的なコマンドラインは次のようになりました。

mount.cifs -v -o domain=MYCODOMAIN,sec=krb5 //winserver/sharename /mnt/mymountpoint

「このようなファイルまたはディレクトリがありません」というエラーが発生したこのコマンドは次のとおりです。

mount.cifs -v -o username=myusername,domain=MYCODOMAIN //winserver/sharename /mnt/mymountpoint

Kerberosを使用するには、「krb5-workstation」パッケージをインストールして構成しました。


0

パッケージkeyutilsのインストールを試行します。

sudo apt-get install keyutils

これがなぜ役立つのか正確にはわからない、おそらく他の誰かがここで答えを持っている。しかし、少なくともそれは私のためのトリックをしました:keyutilsでcifsマウントはうまく働きました。


質問に記載されている問題の解決方法に関する情報を追加してください。このパッケージは何をし、OPによって発生した問題をどのように理解しますか?
ハクシエル

良い質問。パッケージkeyutilsがどのように役立つかわかりません。私の場合、少なくともこれはトリックをやったことです。keyutilsのインストール後、cifsマウントは正常に機能しましたが、OPの場合と同様に、「mount error(2):No such file or directory」というエラーメッセージが表示される前に正常に動作しました。
クラウス



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