여러 사용자로 구성된 삼바 서버가 있습니다.
기본적으로 cifs 공유는 탑재 시 제공된 자격 증명만 사용하여 탑재됩니다. 마운트 지점에 대한 액세스 권한이 있는 모든 사람은 자격 증명이 사용되는 사용자로서 파일에 액세스할 수 있습니다.
사용자가 마운트 지점에 액세스할 때 사용자 자신의 자격 증명을 자동으로 사용하도록 클라이언트를 구성하는 방법을 찾고 있습니다.
로그인 사용자 이름과 비밀번호는 삼바 서버에 액세스하는 데 사용된 것과 동일합니다.
답변1
그리고multiuser
마운트 옵션을 사용하는 경우 사용자는 자신의 자격 증명을 사용하여 마운트 지점에 액세스합니다. 그러나 이를 위해서는 사용자가 공유에 액세스할 때 마운트를 사용할 수 있어야 하며, 공유를 마운트하려면 클라이언트에 유효한 자격 증명이 필요합니다(서버가 익명(게스트) 액세스를 허용하지 않는 경우).
pam_cifscreds
CIFS 공유에 액세스하는 데 사용되는 로그인 비밀번호를 캐시하는 데 사용할 수 있습니다. 또는 사용자가 사용할 수 있습니다cifscreds
비밀번호를 제공하세요. 두 경우 모두 pam_keyinit.so
로그인 시 세션 키링이 설정되도록 pam 세션 구성에서 이를 사용해야 합니다.
Debian 기반 시스템에서는 다음 구성을 추가하면 작동합니다.
/etc/pam.d/common-session(IP 주소 또는 호스트 이름으로 대체 {SAMBA_SERVER}
):
session required pam_keyinit.so
session optional pam_cifscreds.so host={SAMBA_SERVER}
/etc/pam.d/common-auth:
auth optional pam_cifscreds.so
답변2
yum install pam_cifscreds
(CentOS >=8만 해당. 7에서는 사용할 수 없음)
- 파일 편집
/etc/pam.d/
:
RHEL 문서를 참조하세요.https://access.redhat.com/solutions/3805741(액세스하려면 무료 개발자 계정을 개설하세요). 위와 같이 변경한 후에는 서비스를 다시 시작할 필요가 없습니다. 다음번 로그인 시 자동으로 적용됩니다.
- 다음 옵션을 사용하여 루트로 마운트하십시오
multiuser
.
mount -t cifs -o 사용자 이름=abc123,vers=1.0,noperm,multiuser,sec=ntlmssp //example.org/hello /mnt/hello
- SSH를 통해 루트가 아닌 사용자로 로그인합니다. 키 쌍을 사용하지 마세요. 비밀번호가 필요합니다. 로그인한 후 다음을 통해 비밀번호가 자동으로 캐시되었는지 확인하세요
pam_cifscreds
.
$ keyctl show
Session Keyring
804802868 --alswrv 4414294 100001 keyring: _ses
775789538 --alswrv 4414294 65534 \_ keyring: _uid.4414294
844620914 ----sw-v 0 0 \_ logon: cifs:a:example.org
마지막 것은 캐시됩니다 pam_cifscreds
.
이제 방문이
ls /mnt/hello
원활해졌습니다.GUI 로그인 시 비밀번호 캐싱에 대한 자세한 내용은 다음을 참조하세요.세바스의 솔루션.
(CentOS 9에서 답변을 확인했습니다)