저는 Linux 시스템(OpenSUSE Tumbleweed)의 Windows 2012R2 서버에서 공유 드라이브를 정기적으로 마운트합니다. 지난 목요일부터 Windows 서버에 업데이트가 설치된 경우 오류 메시지와 함께 마운트가 실패합니다.
Aug 26 11:45:27 <linux server> kernel: CIFS: Attempting to mount //<windows server>/<share>
Aug 26 11:45:27 <linux server> kernel: CIFS: Status code returned 0xc000018d STATUS_TRUSTED_RELATIONSHIP_FAILURE
Aug 26 11:45:27 <linux server> kernel: CIFS: VFS: \\a-store Send error in SessSetup = -5
Aug 26 11:45:27 <linux server> kernel: CIFS: VFS: cifs_mount failed w/return code = -2
다양한 마운트 옵션(vers=2.0, 2.1, 3.0, sec=ntlm, ntlmssp)과 다양한 사용자를 시도했지만 모두 동일한 결과를 얻었습니다. Linux 서버는 다른 서버의 공유를 마운트할 수 있으며 Windows 서버의 공유는 (거의 모든) 다른 컴퓨터에서 액세스할 수 있습니다. 두 컴퓨터 모두에서 도메인을 다시 가입하려고 시도했지만 아무런 효과가 없었습니다.
현재 Windows 서버의 업데이트 중 하나가 문제의 원인이라고 말하고 싶습니다. 2012R2에서 실행되는 다른 서버가 아직 잘 작동하고 있으며 목요일에도 업데이트를 받았습니다. 유일한 차이점은 운영 체제의 언어(독일어/영어)입니다.
문제에 대한 추가 정보를 얻을 수 있는 방법이 있나요? "STATUS_TRUSTED_RELATIONSHIP_FAILURE"에 대한 문서는 그다지 도움이 되지 않습니다.
답변1
인증 문제인 것 같습니다. 다음을 시도해 보세요.
- 관련 오류를 파악하려면 Windows 서버의 로그 파일을 주시하세요.
- Linux에서 사용 중인 계정이 이 공유에 액세스할 수 있는 권한이 있는지 확인하세요(로컬 계정과 도메인 계정).
- 방화벽이 이를 허용하는 경우 Linux에서 Windows로 기본 ping을 시도하십시오.
- 다른 Linux 컴퓨터에서 시도해 보세요.
- 왜 "거의 모든 것"이라고 말합니까? 아마도 Linux를 차단하는 것과 연결되지 않은 다른 시스템 사이에 공통점이 있을 것입니다.
이 도움이 되길 바랍니다
답변2
문제는 Kerberos 인증을 사용할 수 없다는 점인 것 같았습니다. Windows 도메인에 가입하기 위해 winbind에서 sssd로 변경하고 mount.cifs 명령의 옵션으로 sec=krb5를 사용했습니다.
mount.cifs //server.tld/share /path/to/mount/point -o vers=3.0,sec=krb5
아쉽게도 SSD로 바꾸기 전에는 불가능했습니다.
[2021-02-21 편집]
이전에 winbind를 사용하다가 도메인에 가입하기 위해 sssd로 변경했습니다. 내가 변경한 내용을 모두 기억하지는 못하지만 /etc의 구성을 보면 다음과 같은 작업을 수행한 것 같습니다.
- /etc/sssd/sssd.conf에 sssd 구성을 추가했습니다.
- 다음을 사용하여 도메인에 가입했습니다
kinit
.net ads join
smb.conf에 대한 변경은 필요하지 않았습니다.