mount.cifs는 smbclient가 사용하는 것과 동일한 자격 증명 파일을 사용할 수 없습니다


10

NetApp CIFS 공유를 서버 중 하나에 마운트하려고하는데 stderr에 "Permission Denied"가 계속 NT_STATUS_WRONG_PASSWORD인쇄되고 실행 중으로 인쇄됩니다 dmesg.

root@xxxehpvld05 ~ $ mount.cifs -vv //zhp-nas.xxx.com/perspectives /mnt/secure/cifs -o credentials=/etc/cifs.creds
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
root@xxxehpvld05 ~ $ dmesg | tail
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13

smbclient명령은, 그러나 똑같은 자격 증명 파일을 사용하여 문제없이 작동 :

root@xxxehpvld05 ~ $ smbclient -L //zhp-nas.xxx.com/perspectives -A /etc/cifs.creds
Domain=[XXX] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]

        Sharename       Type      Comment
        ---------       ----      -------
        IPC$            IPC       Remote IPC
        ZHPSubmit-dev   Disk
    [...snip...]

자격 증명 파일이 도메인 이름을 지정하기 때문에 특히 작동해야하는 것처럼 보입니다.


현상금은 어떻게 되었습니까?

현상금이 만료되어 모든 포인트가 dodo의 길을 갔을 때 저에게 도움이되는 답변을 얻지 못했습니다.
Bratchley

당신이 대답을 생각할 수 있다면, 나는 당신에게 새로운 현상금을 수여 할 것입니다.
Bratchley

그래서 비슷한 문제가 발생했습니다 (커널 모듈의 -13 오류). cifs-utils패키지 (Debian)를 설치 했는데 문제가 해결되었습니다. 패키지가 설치되지 않은 상태에서 지원을 기대 하지 않았기 때문에 이것을 디버깅하는 데 약간의 시간을 소비했기 때문에 이를 가정했습니다. 마운트에서 "알 수없는 파일 시스템"과 같은 것을 기대하고 있었지만 그렇게되지 않았습니다.
sherrellbc

답변:


7

더 많은 정보가 없으면 확실하게 말할 수는 없지만 이전 프로토콜 버전을 실행하는 이전 Windows 서버에 연결할 때이 문제가 발생했습니다. CIFS는 SMB의 "편향"(유형)으로 간주됩니다. 다른 유형이 있으며 이전 설정은 CIFS를 사용하지 않습니다.

기본적으로 두 사람이 말하는 것입니다. 한 명의 스페인어와 한 명의 영어, 그리고 영어를 모국어로 이해하지 못하는 사람들이 스페인어를 이해하지 못하도록 강요하려고합니다.

SMBclient는 보안 협상에 다른 방언을 사용합니다. (또는 적어도 다르게 감지).

시험

mount -t cifs // path / thing / / mount / point -o username = user, password = pass, sec = ntlm

무슨 일이 일어나는지보십시오. (sec = ntlm이 중요한 부분입니다)


NTLM 인증을 지정할 때도 동일한 문제입니다. 같은 내가 할 경우 ntlm또는 ntlmv2. 문제를 해결하는 방법을 잘 모르겠으므로 추가 정보가 필요하면 알려 주시면 질문을 업데이트하겠습니다. SAN 담당자가 놓친 NetApp 측에 액세스 제어가 있습니까?
Bratchley

서버 소프트웨어 버전에 라우터 나 스위치가 있습니까?
coteyr 2016 년

동일한 서브넷. 다른쪽에있는 Samba의 버전이 NetApp ONTAP 어플라이언스이므로 확실하지 않습니다.
Bratchley

4

명령을 가지고 놀면서 가능한 이유를 발견했습니다.

smbclient의 매뉴얼 페이지에서 :

   -A|--authentication-file=filename
       This option allows you to specify a file from which to read the
       username and password used in the connection. The format of the file is

           username = <value>
           password = <value>
           domain   = <value>

       Make certain that the permissions on the file restrict access from
       unwanted users.

mount.cifs의 매뉴얼 페이지에서 :

   credentials=filename
       specifies a file that contains a username and/or password and
       optionally the name of the workgroup. The format of the file is:

          username=value
          password=value
          domain=value

없이 첫 조각 하나에 보여 그 이름과 같이 그 때 나는,이 개 자격 증명 파일, 공백 하나를 생성 creds하고 creds.spacy.

큰 대결 :

creds파일 :

mount.cifs -vvv //host/path /local/path -o credentials=/path/creds

좋은 침묵, 오류 없음.

creds.spacy파일 :

# mount.cifs -vvv //host/path /local/path -o credentials=/path/creds.spacy
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

따라서 자격 증명 파일에는 공백이 포함되어 있으며 mount.cifs에서는 이해할 수 없습니다.

또한 smbclient공백이 있는지는 중요하지 않습니다. creds그리고 creds.spacy어떤 뇌조 발생하지 않았다.


파일 끝에 빈 줄이 추가되었지만 파일을 삭제 한 후에도 같은 결과가 나타납니다. 이것은 creds 파일에있는 약간 수정 된 버전입니다. 수정 된 실제 비밀번호는 "!"를 포함하는 대소 문자 혼합 비밀번호입니다. 특별한 성격으로.
Bratchley

이것에 대한 또 다른 측면이 있습니다.이 솔루션은 저를 찾았습니다 : 자격 증명은 올바른 순서, 즉 사용자 이름, 암호, 도메인이어야하며 도메인, 사용자 이름, 암호 (내가 가진 것)와 같은 다른 순서가 아니어야합니다. 이것도 잘 작동 smbclient하지만 실패합니다 mount.cifs. 여기서 인용 한 문서에 지정된 순서대로 주문을 변경하면 작동하기 시작했습니다. 공백을 잘못 처리하고 순서 문제를 일으키는 것처럼 보이는 것은 끔찍한 버그이며 유지 관리하는 사람이 쉽게 해결할 수 있습니다 mount.cifs.
leftclickben

2

sec = ntlm을 추가하면 문제가 해결되었습니다. 구형 NAS (netgear stora)가 있습니다. 최근 커널에서 cifs의 기본 보안은 ntlmssp입니다.


나도 일했다. 나는 진짜 원인을 아직 모른다. 누군가에게 도움이되는 경우 : 우분투 LTS 14.04에 isilon 마운트. isilon (일부 SAN)은 Windows Active Directory와 통신합니다. 같은 계정이 다른 컴퓨터의 매력처럼 창에 직접 마운트 할 때처럼 작동했습니다.
Reinout van Rees

추가 참고 사항 : 최신 업데이트가 적용된 12.04는 정상적으로 작동하며 14.04는 현재 문제의 일부입니다 (2015 년 4 월 말).
Reinout van Rees

마지막 추가 참고 : 핵심 문제는 EMC의 아이실론 스토리지 및 업데이트 KB3002657 알려진 마이크로 소프트 문제였다 (또는 내 시스템 관리자는 지금 나에게 말한다 있도록 :-))
Reinout 반리스

2

오늘 공유를 마운트하려고 할 때 발견 한 또 다른 가능성 은 도메인의 사용자를 신임 정보로 제공하는 구문을 smbmount지원 한다는 것 username=DOMAIN\\user입니다.

위해 mount.cifs(그리고 mount -t cifs일에),이 두 가지가 별도로 제공 할 수 있습니다 -o username=user,password=pass,dom=DOMAIN.


3.0 공유는 넷앱 클러스터 데이터 ONTAP에서 게재 된 SMB를 장착하려면 모두를 호출했다 sec=ntlmdom=DOMAIN
III

1

user55518이 설명했듯이 자격 증명 파일에 공백이 있더라도 공백이있을 수 있습니다. Windows에서 신임 정보 파일을 편집 한 경우 아마도 \r라인 끝에 있고 오류 13이 발생합니다.


vim에서 명령 세트 목록을 사용하여 추가 탭 / 공간을 확인할 수 있습니다.
vfbsilva

0

나는 당신의 모든 감사합니다 !!! 이 문제에 대해, 그것은 정말 많은 도움이됩니다!, 또한 매개 변수 "sec = ntlm"에 대한 중요한 정보를 찾았으므로 u 중 일부가 흥미 롭다면 아래 링크를 남겨 두십시오.

Microsoft NTLM

Windows 7 데스크탑에서 공유 디렉토리를 마운트하려고했지만 "sec = ntlm"매개 변수를 추가 할 때까지 불가능했으며 작동하지만 일부 중요한 세부 사항은 Windows 7 데스크탑이 도메인이 가장 중요하다고 생각합니다. 그러므로, 그것은 효과가 있습니다! 정말 감사합니다! 그리고 좋은 분위기! :디


0

필자의 경우 옵션 vers=3.0(CIFS는 버전 1이며 커널 4.13 이후 더 이상 지원되지 않으므로 서버에서 SMBv3으로 바로 전환했습니다) 옵션 만 추가 해야했지만 여전히 작동하려면 재부팅해야했습니다. /etc/fstab지금 마운트 라인 :

auto,rw,credentials=/usr/local/etc/smb.credentials,vers=3.0,file_mode=0664,dir_mode=0775,uid=myuser,gid=users

자격 증명 파일 :

username=myuser
password=****
domain=mydomain

실제로 domain는 필요하지 않지만 지금 mount.cifs 매뉴얼 페이지에 따라 사용하는 것이 올바른 옵션입니다.


0

나는 이것을 잠시 동안 고투 해왔다.

다음과 같은 오류가 있습니다.

mount error(112): Host is down

여기에서 vers = 1.0 옵션을 설정하는 데 도움이되었으며보고했습니다.

mount error(13): Permission denied

신임 정보 파일에 여분의 "문자 인 것으로 밝혀졌습니다.

원래 내가 가진 곳 :

# cat /etc/samba/cred-file
username="john"
password="secret"

어디에 있어야

# cat /etc/samba/cred-file
username=john
password=secret
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.