삼바 공유를 마운트하는 올바른 방법

삼바 공유를 마운트하는 올바른 방법

내 Arch Linux 시스템에 CIFS 네트워크 파일 시스템을 마운트하기 위해 삼바를 사용하고 싶습니다. 로그인할 때마다(ssh, TTY 또는 KDM을 통해) 이 파일 시스템을 마운트하고 싶습니다.

/etc/fstab에 네트워크 공유를 추가하면 원하는 결과에 매우 근접할 수 있습니다. 가장 큰 "문제"는 비밀번호를 하드코딩하거나 /etc/fstab사용자 이름과 비밀번호로 자격 증명 파일을 만들어야 한다는 것입니다. 권한을 600으로 설정하더라도 사용자 이름과 비밀번호를 일반 텍스트 파일에 저장하는 것은 안전하지 않은 것 같습니다.

네트워크 공유를 안전하게 자동 마운트하는 "올바른" 방법이 있습니까? PAM을 사용하여 이 작업을 수행할 수 있습니까(내 사용자 이름과 비밀번호는 두 컴퓨터 모두에서 동일합니다). 그렇다면 어떻게 해야 합니까?

답변1

방법 1 -/etc/fstab

대안을 찾고 계시다는 것을 알고 있지만 파일에서 자격 증명을 가져오는 구체적인 방법은 다음과 같습니다 /etc/fstab.

//WindowsHost/Sharename /LocalMountPoint cifs credentials=/etc/cifsauth 0 0

그런 다음 파일에서 /etc/cifsauth:

username=someuser
password=somepass

파일에 대한 권한을 부여하십시오 600(즉 chmod 600 /etc/cifsauth, .

방법 #2 - pam_mount

당신은 설치할 수 있습니다pam_mount그런 다음 로그인한 모든 사용자에 대해 다음과 같이 범용 설치를 설정합니다.

# /etc/security/pam_mount.conf.xml
<debug enable="1" />
<volume server="server" path="music" mountpoint="~/MyMusicFolder" options="cred=/home/%(USER)/.Music.cred" />

이 방법에는 자격 증명이 파일에 저장되는 방법 #1과 여전히 동일한 문제가 있습니다 /home/%(USER)/.Music.cred. 이는 첫 번째 방법과 동일한 자격 증명 파일 형식이므로 권한도 600인지 확인하세요.

방법 #3 - gvfs-mount 사용

이 U&L Q&A의 질문은 다음과 같습니다.비밀번호를 일반 텍스트로 저장하지 않고 cifs 공유를 자동 마운트할 수 있습니까?사용을 설명하는 @Gilles의 답변이 포함되어 있습니다.그놈 키체인CIFS 자격 증명을 유지하십시오.

그러면 다음 명령을 사용하여 CIFS 공유에 액세스할 수 있습니다.중력 가속도 센서- 그놈 가상 파일 시스템 - 다음과 같습니다:

$ gvfs-mount smb://username\;workgroupname@hostname/sharename

그러면 sharename이라는 호스트 이름의 공유가 매핑되고 마운트됩니다 $HOME/.vfs/sharename on hostname. 어떤 방식으로도 이를 제어할 수 없습니다. 찾아보니 항상 여기에 설치하라고 하드코딩되어 있더라구요!

그러나 마운트된 공유에 액세스할 수 있도록 이러한 마운트에 대한 링크를 생성할 수 있습니다. 일부 도구는 파일 탐색 시 도트 디렉터리를 나열하지 않기 때문에 사용하는 것은 불행한 일입니다 .gvfs. 그래서 제가 만든 링크가 해당 공유에 액세스하는 유일한 방법인 경우가 많습니다.

답변2

pam_mount이것이 올바른 접근 방식 임이 밝혀졌습니다 . 네트워크 공유를 추가합니다./etc/security/pam_mount.conf.xml

<volume user="yourUserName" fstype="auto" path="//path/to/the/network/share" mountpoint="/path/to/the/mount/point" options="username=yourUserName" />
<mkmountpoint enable="1" remove="true" />

%(USER)이론적으로는 , %(USERUID)및 변수를 사용하여 범용 설치로 만드는 것이 가능해야 %(USERGID)하지만 해당 부분이 Arch Linux에서 작동하도록 할 수 없습니다. 또한 사용할 시스템을 구성해야 하며 해당 로그인 관리자도 pam_mount수정해야 합니다 . /etc/pam.d/system-authKDM의 경우에도 마찬가지입니다 /etc/pam.d/kde. 수정에는 기본적으로 optional pam_mount.so두 파일의 각 섹션에 추가하는 작업이 포함되지만 순서가 중요하기 때문에 구체적인 내용은 까다롭습니다. 나는 팔로우한다아치스 위키.

이 설정과 서버 및 내 컴퓨터의 동일한 사용자 이름/비밀번호를 사용하면 자격 증명 파일을 어디에도 저장할 필요 없이 자동 마운트할 수 있습니다.

답변3

pam_mount자격 증명을 사용하기 위해 일반 텍스트로 저장할 필요는 없습니다. 파일 서버의 자격 증명은 로그인한 시스템의 사용자 이름/비밀번호와 동일해야 합니다.

여기에 좋은 예가 있습니다: https://wiki.ubuntu.com/MountWindowsSharesPermanently

원래:

  1. libpam-mount를 설치합니다:sudo apt-get install libpam-mount
  2. 섹션 주위의 /etc/security/pam_mount.conf.xml주석 표시( 및 )를 제거하려면 편집하세요 <!--. 완료되면 파일을 저장합니다. 이를 통해 사용자별 파일을 사용할 수 있습니다.--><luserconf name=".pam_mount.conf.xml" />pam_mount.conf
  3. 직접 만들고 ~/.pam_mount.conf.xml다음을 추가하세요.
<?xml version="1.0" encoding="utf-8" ?>
<pam_mount>
    <volume options="uid=%(USER),gid=100,dmask=0700" user="*" mountpoint="/media/windowsshare" path="sharename" server="servername" fstype="cifs" />
</pam_mount>

관련 정보