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


13

나는 최근 에이 문제에 부딪쳤다. 나는 보통 smb를 통해 Linux 컴퓨터에서 로컬 네트워크 공유 폴더를 탐색합니다 (예 : 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입니다.

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


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을 아무 문제없이 마운트 할 수 있지만 사용자의 공유 폴더로 이동할 수 있습니다.


vers=3.0, vers=2.0또는로 ponsfrilus의 tip # 3을 사용해보십시오 vers=1.0. 그래도 문제가 해결되지 않으면 서버에 더 넓은 범위의 smb 버전을 연결할 수 있습니다. smb3가 서버에 필요에 따라 설정 되었기 때문에이 문제가 발생했습니다. 서버가 필요한 삼바 버전을 2로 낮추기 전에는 리눅스와 연결할 수 없었습니다. 서버는 어떤 OS를 실행합니까?
emk2203

2
나는 그들 모두를 시도했다. 여전히 3.0, 2.1 및 2.0으로 "권한이 거부되었습니다"라는 메시지가 나타납니다. 1.0에서 "알 수없는 오류"가 발생하는 동안 직접 액세스 할 수 없으므로 Windows 서버 버전을 사용자로 확인하는 방법을 모르겠습니다.
Frankmtl

도와 드릴 수 없습니다. 죄송합니다. 서버를 제어 할 수 있었고 허용 된 SMB 버전을 완화 한 후에 문제가 해결되었습니다. 당신은 당신의 자신의 공유에 연결할 수 있습니다-리눅스의 잘못된 설정은 가능하지 않습니다; 창을 통해 연결하여 서버를 잘못 구성 할 수는 없습니다. 이것은 진짜 삼바 전문가를 요구합니다.
emk2203

답변:


10

오늘 우분투 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

이 의견을 여기에 남겨 주셔서 감사합니다.
dleerob

저도 도와주었습니다. mount -t cifs가 같은 문제를 겪고있는 것으로 나타남
Terminality

이것이 내 문제로 밝혀졌습니다. 나는 이미 ~/.smbcredentials파일을 가지고 있었다 . 로컬 NAS를 사용하여 오랫동안 잘못된 암호로 공유를 마운트 할 수 있다는 사실에 놀랐습니다.
Charlie

이상하게도 파일 서버의 호스트 이름이 아닌 도메인 NetBIOS 이름을 지정해야했습니다. 그럼에도 불구하고 지금은 효과가 있습니다.
bviktor

9

서버에 대한 보안 유형이 잘못되었다고 생각합니다. 오류 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

1
나는 그들 모두를 시도하고 sec 유형에 따라 "권한 거부"또는 "알 수없는 오류"를
받음

SMB와 관련된 최근의 모든 보안 문제를 감안할 때 최신 바이러스 검사와 같은 추가 보안 조치가 많이 필요한 경우에만 사용하는 것이 좋습니다.
Amias

sec = ntlmssp를 사용하고 samba 서버 구성이 비밀번호를 암호화하는지 확인하십시오.
겸손

내 하루를 구했다. 실제로 내가 한 것은 sec = ntlm을 제거한 다음 효과가있었습니다.
척척

요즘 SMB에서 멀어져 야합니다. 거의 끊임없이 공격과 특권 상승의 원천입니다.
Amias

4
  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)을 지정하여 테스트하십시오 (samba wiki 참조) . 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
    

공유 할 수있는 자세한 정보가 도움이 될 수 있습니다.


답변 주셔서 감사합니다. 질문을 업데이트하는 것보다 더 좋은 방법을 찾지 못했습니다. 업데이트에서 해당 명령의 출력을 찾을 수 있습니다
Frankmtl

@ Frankmtl docs1 및 docs5 fileshare1 내의 폴더 권한을 비교할 수 있습니까?
ponsfrilus

늦은 답변 죄송합니다. 폴더 권한을 마운트 한 후 폴더 권한을 의미하는 경우 둘 다 drwxr-xr-x
Frankmtl

Windows 2012 서버 공유 (smb2)에 액세스하려면 ,vers=2.1 uid = 1000 (일명 줄 끝) 뒤에 추가해야합니다 . "cifs-utils"패키지도 설치했습니다.
laugeo

2

6.0보다 높은 cifs를 사용할 때이 문제가 발생하는 경우 : 새로운 cifs 버전은 대신 도메인 변수를 사용하므로 Creadentials 파일은 다음과 같습니다.

username=<your username>
password=<your password>
domain=<your domain>

나를위한 해결책은 실제로 전후 공간이 없었습니다 =.
WM

2

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

예 :

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.