web-dev-qa-db-ja.com

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

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

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)

何が間違っていますか?

44
Niels Kristian

間違ったURLを使用していました。 //user.my-backup.com/backupになっているはずです

2
Niels Kristian

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

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

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

62
user278458

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
6
Igor Avdeev

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

2
pzkpfw

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
2
Siddharth Kaul

別の考えられる原因は、sec=ntlm/etc/fstabが存在することであり、SMB3などの新しい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
drgrog

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

//x.x.x.x/General/  /usr/local/share/general cifs uid=0,guid=0,rw,credentials=/etc/gen-cifspasswd 0 0
1