내 사용 사례는 매우 간단해 보입니다. 이 다중 사용자 18.04 Ubuntu 시스템에 로그인할 때 각 사용자의 홈 디렉터리에 있는 파일 서버의 모든 사용자를 위해 존재하는 CIFS 폴더 CIFS1 및 CIFS2를 자동으로 마운트하고 싶습니다.
따라서 user1이 로그인하면 다음을 설치합니다.
- /홈/사용자1/CIFS1
- /홈/사용자1/CIFS2.
user2가 로그인하면 다음을 설치합니다.
- /홈/사용자2/CIFS1
- /홈/사용자2/CIFS2.
인증을 위해 Kerberos 티켓/SSSD를 사용하여 이 작업을 수행하는 작업 설치 명령이 이미 있습니다.
sudo mount -v -t cifs -o user=${USER},cruid=${USER},sec=krb5,uid=${UID} //isilon.mydataserver/CIFS1/${USER} /home/${USER}/CIFS1
sudo mount -v -t cifs -o user=${USER},cruid=${USER},sec=krb5,uid=${UID} //isilon.mydataserver/CIFS2/${USER} /home/${USER}/CIFS2
훌륭하게 작동하지만 지금은 원합니다자동 마운트로그인 후 해당 폴더로 직접 이동하여 올바른 ${USER} 정보를 삽입하세요.자동 파일 시스템구성.
그리고... 불가능할 것 같아서 직접 매핑이든 간접 매핑이든 자동 매핑을 수행하는 등 많은 방법을 시도했지만 성공하지 못했습니다.
autoconf 파일의 패턴은 [mountpoint] [option] [location]
환경 변수(USERS, UID 등) 주입을 허용합니다.옵션/위치 섹션에서만.
나는 sudo nano /etc/auto.master
다음을 가지고 있습니다 :
/- /etc/auto.cifs --ghost
직접 설치 sun autofs 패턴에 따라 [mountpoint] [option] [location]
내 /etc/auto.cifs
구성에는 다음이 포함됩니다.
/home/${USER}/CIFS1 -fstype=cifs,user=${USER},cruid=${UID},sec=krb5,uid=${UID} ://isilon.mydataserver/CIFS1/${USER}
/home/${USER}/CIFS2 -fstype=cifs,user=${USER},cruid=${UID},sec=krb5,uid=${UID} ://isilon.mydataserver/CIFS2/${USER}
구성 다시 로드:
sudo systemctl reload autofs
사용자 로그인 중에 이 구성은 또는 /home/${USER}/CIFS1
폴더 대신 폴더 를 생성합니다 ./home/user1/CIFS1
/home/user2/CIFS1
autofs 또는 Kerberos/SSSD/CIFS 인증과 호환되는 다른 방법을 사용하여 이 동작을 수행하는 방법이 있습니까(CIFS 폴더를 다중 사용자 환경에 마운트: /home/$USER 여기서 $USER = user1, user2, .. .) ?
편집 1:SSSD/AutoFS의 자동 마운트 기능을 사용하기 위해 Active Directory 스키마를 수정할 수 없다는 점을 독자들에게 분명히 말씀드립니다.
편집 2:auto.master
또한 with에서 bash 프로그램을 실행해 보았지만 프로그램이 [mountpoint] 부분이 아닌 [mountpoint] 부분 program:/etc/auto.cifs
만 반환할 수 있기 때문에 문제가 해결되지 않는 것 같습니다 .[option][location]
답변1
@reyman64 - 문제에 대한 해결책을 찾았나요? 저는 현재 위에 말씀하신 것과 같은 상황에 처해 있으며, 인터넷을 검색해 보았으나 아직 해결 방법을 찾지 못했습니다. 마운트 지점의 일부로 사용자 변수를 설정하는 방법을 알아낼 수 있다면 좋을 것입니다.
자세한 답변에 따르면여기, 키 위치의 사용자 변수는 항상 루트인 autofs 데몬을 실행하는 사용자로 설정됩니다. 유일한 가능한 해결책은 auto.master가 스크립트를 실행하도록 하는 것입니다.