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
두 가지 가능한 문제 : 소스는 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 명령의 인수 / 모드 (모드)입니다.

  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에 감사합니다. 우분투에서도 같은 문제입니다. vers = 2.0을 추가하고 작동합니다. 현재 mount.cifs는 6.4입니다. 자격 증명이 일부 향상되었지만 지금은 CIFS를 파고 들지 않는 것
같습니다

6

아치 리눅스에서 로그 에이 메시지와 같은 문제가있었습니다.

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/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

필자의 경우이 문제는 심볼릭 링크로 가득 찬 디렉토리를 마운트했기 때문에 발생했습니다. 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.