여러 사용자에 대해 CIFS 마운트 지점에 대한 액세스 제어를 활성화하는 방법은 무엇입니까?

여러 사용자에 대해 CIFS 마운트 지점에 대한 액세스 제어를 활성화하는 방법은 무엇입니까?

여러 사용자로 구성된 삼바 서버가 있습니다.

기본적으로 cifs 공유는 탑재 시 제공된 자격 증명만 사용하여 탑재됩니다. 마운트 지점에 대한 액세스 권한이 있는 모든 사람은 자격 증명이 사용되는 사용자로서 파일에 액세스할 수 있습니다.

사용자가 마운트 지점에 액세스할 때 사용자 자신의 자격 증명을 자동으로 사용하도록 클라이언트를 구성하는 방법을 찾고 있습니다.

로그인 사용자 이름과 비밀번호는 삼바 서버에 액세스하는 데 사용된 것과 동일합니다.

답변1

그리고multiuser마운트 옵션을 사용하는 경우 사용자는 자신의 자격 증명을 사용하여 마운트 지점에 액세스합니다. 그러나 이를 위해서는 사용자가 공유에 액세스할 때 마운트를 사용할 수 있어야 하며, 공유를 마운트하려면 클라이언트에 유효한 자격 증명이 필요합니다(서버가 익명(게스트) 액세스를 허용하지 않는 경우).

pam_cifscredsCIFS 공유에 액세스하는 데 사용되는 로그인 비밀번호를 캐시하는 데 사용할 수 있습니다. 또는 사용자가 사용할 수 있습니다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

  1. yum install pam_cifscreds

(CentOS >=8만 해당. 7에서는 사용할 수 없음)

  1. 파일 편집 /etc/pam.d/:

RHEL 문서를 참조하세요.https://access.redhat.com/solutions/3805741(액세스하려면 무료 개발자 계정을 개설하세요). 위와 같이 변경한 후에는 서비스를 다시 시작할 필요가 없습니다. 다음번 로그인 시 자동으로 적용됩니다.

  1. 다음 옵션을 사용하여 루트로 마운트하십시오 multiuser.

mount -t cifs -o 사용자 이름=abc123,vers=1.0,noperm,multiuser,sec=ntlmssp //example.org/hello /mnt/hello

  1. 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.

  1. 이제 방문이 ls /mnt/hello원활해졌습니다.

  2. GUI 로그인 시 비밀번호 캐싱에 대한 자세한 내용은 다음을 참조하세요.세바스의 솔루션.

(CentOS 9에서 답변을 확인했습니다)

관련 정보