CIFSドライブをマウントすると次のエラーが発生します:マウントエラー(22):引数が無効です


44

私は実行しようとしています:

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgres,file_mode=0660,dir_mode=0770

ただし、次のエラーが発生し続けます。

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

何が間違っていますか?


1
考えられる2つの問題:ソースは、解決できないか、Sambaを宣伝していないURLです。また、uid / gidは数値で表現する必要があります。参照manページを読みましたか?
douggro

3
マウントは実際により良いエラーメッセージを返すはずです。どの引数が無効であるかを知っていると、このエラーメッセージは非常に役立ちます。
グレゴリーアレニウス

1
詳細はログにあるため、マウントでは一般的なエラーが発生します。以下で説明しているように、tail -f /var/log/kern.logを使用して、何が起こっているのかを理解してください。
サム

1
dmesg | tailどのオプションが問題を引き起こしているかについてもう少し説明します。
HongboZhu

回答:


63

多分これはこれに役立ちます、mount error(22): Invalid argument...可能性のあるエラーは、mountコマンドの引数/ s(モード)です。

  1. 発生したエラーのログを確認してください。

    tail -f  /var/log/kern.log 
    
  2. 無効な引数を削除します


9
これは私のために働いた。エラーを見つけて、/ etc / fstab(bbs.archlinux.org/viewtopic.php?id=230952)にCIFS not working, kernel upgrade:No dialect specified on mount[追加] vers=1.0することで解決しました。カーネル4.13を使用していることが原因と思われます。
blaha

Jeez、stackoverflowの良さに感謝します。Ubuntuでも同じ問題が発生します。vers = 2.0を追加しましたが、動作します。現在のmount.cifsは6.4です。おそらく資格情報にいくつかの機能強化がありますが、今はCIFSを掘り下げていません
...-dturvene

6

Arch Linuxでも同じ問題が発生しましたが、このメッセージがログに記録されています。

kernel: CIFS VFS: cifs_mount failed w/return code = -22

私にとっての解決策は、cifsの古いバージョンを指定することでした(デフォルトでは3.0):

/etc/fstab

//my-router/share /media/share cifs ver="2.1",rw,soft,uid=ele,gid=ele,file_mode=0770,dir_mode=0770,credentials=/etc/router-credentials.conf 0 0

3

別の考えられる原因は、sec=ntlmin の存在であり、/etc/fstabSMB3などの新しいSMBプロトコルとの非互換性です。

OPの場合ではありませんが、これはmount error(22): Invalid argument、古いサーバーをアップグレードした後のように、エラーの原因にもなります。

kern.logへの提案が含まれていても、代わりspecify vers=1.0 on mountに削除または変更する方が安全sec=ntlmです。おそらくデフォルトを使用してSMBバージョンとセキュリティの自動ネゴシエーションを許可するか、などの互換性のあるオプションを指定しますvers=3.0,sec=ntlmssp

明らかに、これはSMBサーバーの機能に依存しますが、vers=1.0必要でない限り、私は試して回避します。



2

私の場合、この問題はシンボリックリンクでいっぱいのディレクトリをマウントしたために発生しました。Windowsでシンボリックリンクを調べた後、「実際の」パスを取得し、代わりにそれらをマウントしました。


2

SMBのバージョン情報を追加して、問題を解決できます。私がやったことは、vers = 1.0を追加したことです。これは、すべてのsmbドライバーで動作するSMBバージョン1です。あなたの場合、それは次のようになります

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,vers=1.0,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgre ,file_mode=0660,dir_mode=0770

1

Jessie Debianにアップグレードした後、パッケージが変更されている必要があります。guid=0次のfstabマウントから取り外したところ、すべて正常に機能しました。

//x.x.x.x/General/  /usr/local/share/general cifs uid=0,guid=0,rw,credentials=/etc/gen-cifspasswd 0 0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.