정기적으로 마운트하는 CIFS 드라이브가 있는데 여기에는 비밀번호가 필요합니다. 매번 비밀번호를 입력하는 것이 귀찮기 때문에 PASSWD 환경 변수를 설정하고 드라이브를 마운트한 다음 삭제하는 스크립트를 작성했습니다(CIFS는 묻기 전에 PASSWD 환경 변수를 확인합니다).
작동하고 내 비밀번호가 포함된 스크립트가 암호화된 파티션에 있지만 마음에 들지 않습니다.
대신에 내가 하고 싶은 일은 내 상자와 원격 드라이브가 동일한 일반 텍스트 비밀번호를 가지고 있기 때문에 로그인 관리자가 내가 입력한 비밀번호를 사용하여 드라이브도 마운트하려고 시도하는 것입니다. 이렇게 하면 내 비밀번호가 내 컴퓨터에 일반 텍스트로 기록되지 않지만 또 다른 비밀번호에 답할 필요가 없습니다.
CIFS 마운트 로그인을 개선하기 위한 다른 제안도 환영합니다. 드라이브를 호스팅하는 서버에 대한 루트 액세스 권한이 없다는 점을 명심하세요.
편집하다:
뭔가를 정리해야 해:
클라이언트(내 상자)에 대한 루트 액세스 권한이 있지만 서버에 대한 액세스 권한은 없습니다. 따라서 모든 솔루션은 클라이언트 측에서 이루어져야 합니다.
내 노트북에 물리적으로 접근하는 사람이 내 비밀번호의 일반 텍스트 복사본을 갖고 있는지 걱정됩니다. 현재 내 /home 파티션은 암호화되어 있으므로 노트북이 꺼져 있을 때 내 스크립트는 상당히 안전합니다.
그렇기 때문에 가능하다면 사용자 계정에 로그인하기 위해 정확한 자격 증명을 입력한다는 사실을 활용하는 솔루션을 원하는 것입니다.
답변1
나는 일반적으로 automount
정기적으로 마운트하고 사용하고 싶은 이와 같은 공유에 대해 서비스를 사용합니다. 일단 방법을 이해하고 나면 이를 설정하는 것은 매우 간단합니다.
1단계 - 자동 마운트 설정
패키지가 설치되어 있는지 확인해야 합니다. CentOS 6에서는 autofs
. 아마도 다른 배포판에서도 비슷한 이름을 사용할 것입니다. 그런 다음 다음 파일을 만들어야 합니다.
# /etc/auto.master
/mymountpt /etc/auto.mymountpt --timeout=600 --ghost
# /etc/auto.mymountpt
someshare -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/credentials.txt ://cifsserver/sharename
# /etc/credentials.txt
username=mydom\myuser
password=somepassword
이 마지막 파일에 대한 권한을 다음과 같이 설정해야 합니다.
$ sudo chmod 600 /etc/credentials.txt
또한 NSS(Name Service Switch)가 이 설정을 인식하는지 확인해야 합니다.
# /etc/nsswitch.conf
automount: files nisplus
이러한 파일이 있으면 이제 서비스를 시작할 수 있습니다 autofs
.
$ sudo service autofs start
2단계 - 테스트해보기
서비스가 시작되면 다음 경로에 마음대로 액세스할 수 있습니다.
$ cd /mymountpt/someshare
이제 이 공유의 마운트는 autofs
600초 동안 비활성 상태를 관찰한 후 공유를 마운트 해제하는 방식에 따라 결정됩니다.
이 접근 방식은 다소 부담스러워 보일 수 있지만 이런 방식으로 작업을 수행하면 부팅 시 사용 가능한 특정 CIFS 공유에 시스템이 의존하지 않아도 됩니다. 실제로 사용될 때 이제 요청이 가능하도록 이동했습니다.
루트 로그인이 없으면 어떻게 해야 합니까?
이러한 패키지가 설치되어 있지 않고 설치할 수 없는 경우 옵션이 훨씬 적어집니다.
나는 다음을 살펴볼 것이다.ArchLinux Wiki의 Samba 기사, 다른 방법도 다룹니다. FUSE를 사용하여 SMB/CIFS를 포함한 다양한 유형의 미디어를 로컬 디렉터리로 마운트할 수도 있습니다. 이 내용은Ubuntu Wiki의 FUSESmb 기사.