cifs, smb - 공유 폴더를 마운트(권한 거부)하거나 탐색할 수 없습니다.

cifs, smb - 공유 폴더를 마운트(권한 거부)하거나 탐색할 수 없습니다.

최근에이 문제에 직면했습니다. 나는 일반적으로 Linux 시스템에서 smb를 통해(즉, smb:를 사용하는 파일 관리자에서) 로컬 네트워크 공유 폴더를 탐색합니다. 이제 바로가기에 액세스하거나 자격 증명을 다시 입력하려고 할 때마다 사용자, 도메인 및 비밀번호를 묻는 대화 상자 창이 계속 나타납니다.

그래서 cisf-utils를 사용하여 수동으로 위치를 마운트해 보았습니다.

sudo mount -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/used_shared/ -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

나는 얻다 mount error(13): Permission denied.

내 사용자가 해당 폴더에 대한 권한을 가지고 있다고 확신합니다. Windows 컴퓨터에서 해당 폴더에 액세스할 수 있기 때문입니다.

또한 다음을 통해 해당 위치에 개인 폴더를 마운트하려고 하면:

sudo mount -t cifs //fileshare1/docs5/francesco.azzarello/ /home/frank/mnt_folder -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

문제없이 접근할 수 있어요.

참고로 저는 4.2.0-36-generic 커널을 사용하고 있으며 mount.cifs 버전은 6.4입니다.

두 방법 중 하나를 작동시키는 방법에 대한 아이디어가 있습니까?


업데이트Rgarding ponsfrilus 답변

숫자 1: 자세한 옵션은 다음을 반환합니다.

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,uid=1000,gid=1000,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

2번은 기본적으로 동일합니다.

_ mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

vers=2.1에서는 아무것도 변경되지 않았습니다.

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,vers=2.1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

4번의 경우 docs1을 문제 없이 마운트할 수 있지만 사용자의 공유 폴더로 이동할 수 있습니다.

답변1

오늘 Ubuntu 16.10에서 이와 똑같은 문제가 발생했다고 확신합니다. 이 스레드의 모든 제안을 여러 번 시도했고 Windows Server 2016을 사용하여 똑같은 공유를 마운트할 수 있었고 smbclient( smbclient -U brainstrust //WINBOX01/shared)를 사용하여 찾아볼 수 있었습니다. 외부 자격 증명 파일도 사용해 보았습니다.

결국 문제를 해결하는 데 어려움을 겪었습니다. Windows 상자에서 공유에 대한 로컬 사용자를 만들었지만 도메인에도 가입되어 있었습니다. 기본적으로 도메인을 로컬 컴퓨터로 설정하면 -o domain=WINBOX01내 문제가 즉시 해결되었으므로 누군가에게 유용할 것이라는 희망으로 여기에 의견을 남깁니다.

내가 사용한 완전한 최소 명령은 다음과 같습니다.

sudo mount.cifs -v //WINBOX01/shared /home/geoff/winbox01  --verbose -o user=brainstrust,password=topsecret,domain=WINBOX01

답변2

서버에 잘못된 보안 유형이 있는 것 같습니다. 오류 13은 서버가 사용자를 허용하지 않는다는 의미입니다.

mount 명령에서 올바른 보안 모드를 선택해야 하며 다음과 같이 -o를 통해 sec 옵션을 추가해야 합니다.[참조]:

sec=
   Security mode. Allowed values are:
   ·   none - attempt to connection as a null user (no name)
   ·   krb5 - Use Kerberos version 5 authentication
   ·   krb5i - Use Kerberos authentication and forcibly enable packet 
       signing
   ·   ntlm - Use NTLM password hashing
   ·   ntlmi - Use NTLM password hashing and force packet signing
   ·   ntlmv2 - Use NTLMv2 password hashing
   ·   ntlmv2i - Use NTLMv2 password hashing and force packet signing
   ·   ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message
   ·   ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message, and force packet signing

답변3

  1. 자세한 출력을 얻으려면 "-v" 옵션을 추가해 보십시오:

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o \
       username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
    
  2. mount 명령에 대해 다음 옵션을 사용하여 테스트합니다.

    iocharset=utf8,rw,file_mode=0777,dir_mode=0777:

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o 
       username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    
  3. SMB 버전 옵션(vers=2.1) 지정을 테스트합니다.삼바 위키. mount.cifs 매뉴얼 페이지에서:

    vers=
    SMB 프로토콜 버전. 허용되는 값은 다음과 같습니다.

    • 1.0 - 클래식 CIFS/SMBv1 프로토콜입니다. 이것이 기본값입니다.

    • 2.0 - SMBv2.002 프로토콜. 이는 Windows Vista 서비스 팩 1 및 Windows Server 2008에서 처음 도입되었습니다. Windows Vista의 초기 릴리스 버전에서는 지원되지 않는 약간 다른 방언(2.000)을 사용했습니다.

    • 2.1 - Microsoft Windows 7 및 Windows Server 2008R2에 도입된 SMBv2.1 프로토콜입니다.

    • 3.0 - Microsoft Windows 8 및 Windows Server 2012에 도입된 SMBv3.0 프로토콜입니다.

  4. 마지막으로 첫 번째 공유만 마운트해 보세요.

    sudo mount -v -t cifs //fileshare1/docs1/ /home/frank/mnt_folder \
       -o username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    

공유할 수 있는 자세한 출력이 도움이 될 수 있습니다.

답변4

sec=ntlm마운트 명령에 옵션을 추가하면 문제가 해결되었습니다.

예:

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/

관련 정보