Debian Stretch에 Samba AD를 설정했습니다. 다른 확장 클라이언트 노드는 AD 자격 증명을 사용하여 인증할 수 있습니다.
도메인 사용자는 클라이언트 노드에 대해 제한된 권한을 가지므로 클라이언트에 아무것도 설치할 수 없습니다.
클라이언트 측에서는 다음 두 가지를 테스트했습니다.
비밀번호로 설치:
# mount -t cifs \\\\fileserver.my.org\\share /mnt -o user=domainUser1
그런 다음 도메인 비밀번호를 입력하라는 메시지가 표시되었습니다
domainUser1
. 그런 다음 공유가 마운트됩니다root
.Kerberos 티켓을 사용하여 설치:
# kinit domainUser1
# mount -t cifs \\\\fileserver.my.org\\share /mnt -o sec=krb5
klist
이렇게 하면 현재 세션에 Kerberos 티켓(확인됨)이 있는 경우 공유를 마운트할 수 있습니다.
수동 설치로 모든 것이 잘 작동합니다. AutoFS를 사용하여 공유를 마운트하려고 하면 문제가 발생합니다.
/etc/auto.master
내용은 다음과 같습니다.
+디렉토리: /etc/auto.master.d
+자동 마스터
/cifs /etc/auto.cifs
그리고 /etc/auto.cifs
썼다:
Share-fstype=cifs,multiuser,cruid=${UID},sec=krb5 ://fileserver.my.org/share
지난 한 시간 동안 AutoFS에 대해 읽은 내용에 따르면 이것이 작동할 것입니다. 하지만 어떤 이유에서인지 /cifs/
폴더는 항상 비어 있습니다. /var/log/messages
시도 했지만 /var/log/syslog
로그에서 주목할만한 내용을 찾지 못했습니다.
답변1
AutoFS 디버깅
autofs를 디버그하려면 서비스를 중지하고 명령줄에서 실행합니다.
sudo service autofs stop
sudo automount -f -d
또는 디버그 로깅을 켜십시오.
/etc/autofs.conf를 편집하고 로깅을 "debug" 또는 "verbose"로 설정합니다.
logging = "debug"
이것저것 가지고 놀지만..실제로는 기본값으로 두기에 충분한 세부 정보가 있습니다(예: 해당 줄에 주석 처리).
Kerberos 티켓 파일 이름이 올바른지 확인하세요.
이것이 우리에게 두통을 주는 것입니다. 생성된 Kerberos 키 파일의 파일 이름을 수정할 때까지 수년 동안 AutoFS는 Kubuntu 18.04에서 실행되지 않았습니다. daemon.log를 보면 검색 중인 파일이 /tmp/krb*에 표시된 파일과 이름이 같은지 확인하세요.
이는 daemon.log의 모습이며 압축된 파일 이름이 무엇인지 확인할 수 있습니다.
May 14 17:08:29 computer123 cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_12345678
나는 위의 내용이 /etc/autofs.conf의 주석 처리된 로그 줄인 기본 로깅 옵션을 사용하고 있다고 확신합니다. 실제로 소위 장황한 옵션 중 하나가 나타나지 않습니다..(?!)
해결 방법 - /etc/sssd/sssd.conf를 편집하고 [domain/yourAD_ServerName] 아래에 다음 콘텐츠를 추가해야 합니다.
krb5_ccname_template=FILE:%d/krb5cc_%U
이는 AutoFS에 필요한 파일 이름을 사용하여 kerboros 티켓을 생성하도록 sssd에 지시합니다. 변경 사항이 적용되기 전에 재부팅해야 했습니다(예, sssd-secrets, sssd, autofs 재부팅을 시도했습니다).