Я пытаюсь запустить:
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)
Что я делаю не так?
Я использовал неправильный URL. Это должно было быть: //user.my-backup.com/backup
возможно, это помогает с этим, mount error(22): Invalid argument
..., возможная ошибка является argument/s (режим) на команде монтирования.
проверяют Ваш вход в систему ошибки, с которыми встречаются.
tail -f /var/log/kern.log
удаляют недействительный аргумент
В моем случае была вызвана эта проблема, потому что я смонтировал каталог, полный символьных ссылок. После исследования символьных ссылок в Windows я получил их "реальные" пути и смонтировал их вместо этого.
deb http://download.opensuse.org/repositories/home:/jgeboski/<version> ./
– Nostromov
7 May 2017 в 11:41
После обновления до 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
У меня была та же проблема о Дуге 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
Другой возможной причиной является присутствие 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
, если не необходимо.
Можно добавить информацию о версии для SMB для решения проблемы. То, что я сделал, я добавил vers=1.0. Это - версия 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
Я использую CentOS. Я знаю, что это Ubuntu, но потерпите меня, это все еще занимает первое место в Google. Люди правы, говоря, что mount -a
выдаст вам ошибку.. на centos вам нужно ввести # dmesg
, который подробно расскажет вам, что на самом деле было не так
Для меня мне пришлось изменить
# cat /etc/centos-release
CentOS 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: неизвестная опция монтирования "umask = 0777"
обратите внимание, что umask больше не разрешено
Та же ошибка при попытке смонтировать каталог, который на самом деле является символической ссылкой.
Решение: добавьте доменное имя в директиву search
в /etc/resolv.conf
search example.org
После этого мне удалось успешно смонтировать цель.