Монтирование диска 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 argumentRefer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Что я делаю не так?

может быть, это поможет с этим, mount error(22): Invalid argument... возможной ошибкой является аргумент/s (mode) при команде монтирования.

  1. проверьте свои журналы на предмет обнаруженных ошибок.

    tail -f  /var/log/kern.log 
  2. удалите недопустимый аргумент

Другой возможной причиной является наличие sec=ntlm в /etc/fstab и это несовместимость с более новыми протоколами SMB, такими как SMB3.

Хотя это и не относится к 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 если в этом нет необходимости.

У меня была такая же проблема в 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

В моем случае эта проблема была вызвана тем, что я смонтировал каталог, полный символических ссылок. Изучив символические ссылки в Windows, я получил их "реальные" пути и смонтировал их вместо этого.

Вы можете добавить информацию о версии для SMB, чтобы решить проблему. Что я сделал, так это добавил vers=1.0. Это SMB версии 1, которая работает со всеми драйверами smb. В вашем случае это будет выглядеть примерно так

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

Я использовал неправильный URL-адрес. Это должно было быть: //user.my-backup.com/backup

Я нахожусь на CentOS, я знаю, что это Ubuntu, но потерпите, это все еще занимает первое место в Google. Люди правы, говоря, что mount -a выдаст вам сообщение об ошибке .. на centos вам затем нужно ввести # dmesg который подробно расскажет вам, что на самом деле было не так

Что касается меня, то я должен был измениться

# cat /etc/centos-releaseCentOS release 6.9 (Final)# nano /etc/fstab ------------------------------------------------ \\192.168.0.4\Work /mount/drive cifs user,rw,suid,uid=48,umask=0777,username=*****,password=******* 0 0

к

 # cat /etc/centos-release # CentOS Linux release 8.2.2004 (Core) # nano /etc/fstab ------------------------------------------------ \\192.168.0.4\Work /mount/drive cifs user,rw,suid,uid=48,file_mode=0770,dir_mode=0770,username=*****,password=******* 0 0

ошибка, которую я получил, была под dmesg был CIFS: Unknown mount option "umask=0777"

обратите внимание, что umask больше не разрешен

После обновления до 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

Та же ошибка при попытке смонтировать каталог, который на самом деле был символической ссылкой.

Решение: добавьте доменное имя в search директива в /etc/resolv.conf

search example.org

После этого я смог успешно установить цель.

Монтирование действительно должно возвращать лучшее сообщение об ошибке. Знание того, какой аргумент является недопустимым, сделало бы это сообщение об ошибке намного более полезным.

“dmesg | tail” расскажет вам немного больше о том, какой вариант доставляет вам проблемы.

Монтирование выдает общую ошибку, поскольку сведения содержатся в журнале. Как сказано ниже, используйте tail -f /var/log/kern.войдите в систему, чтобы понять, что происходит.

Две возможные проблемы: ваш источник - это URL-адрес, который либо может не разрешаться, либо не рекламирует Samba; и uid / gid необходимо выразить численно. Вы читали страницу упомянутого человека?