삼바 공유를 장착하는 올바른 방법


9

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

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

네트워크 공유를 안전하게 자동 마운트하는 "적절한"방법이 있습니까? PAM을 사용하여이 작업을 수행 할 수 있습니까?


pam_cifs보셨습니까 ? "pam_cifs는 사용자별로 로그인 할 때 CIFS 공유를 마운트 및 마운트 해제하는 Linux-PAM 모듈입니다"
CVn

또는 pam_mount, 나는 특별한 경험이 없지만 이것을하기 위해 설계되었습니다.
EightBitTony

@EightBitTony pam_mount를 발견하면 질문을 할 수 있습니다.
StrongBad

답변:


8

방법 # 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 공유 마운트를 자동화 할 수 있습니까? CIFS 자격 증명을 유지하기 위해 그놈 키링 사용을 설명하는 @Gilles의 답변이 포함되어 있습니다 .

그런 다음 GVFS ( GNOME Virtual File System)를 사용하여 CIFS 공유에 액세스 할 수 있습니다 .

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

그러면 sharename이라는 호스트 이름에서 공유를 매핑하고 아래에 마운트합니다 $HOME/.vfs/sharename on hostname. 어떤 식 으로든 제어 할 수 없습니다. 항상 여기에 마운트되도록 하드 코딩되어 있습니다.

그러나 마운트 된 공유에 액세스 할 수 있도록 이러한 마운트에 대한 링크를 만들 수 있습니다. .gvfs일부 도구는 파일 찾아보기에 도트 디렉토리를 나열하지 않으므로 내가 만든 링크가 이러한 공유에 액세스 할 수있는 유일한 방법이기 때문에 사용 이 불행했습니다.


숨겨진 파일을 .cifsauth라고 말하고 'username ='이 필요하지 않은 경우 자격 증명 = / etc / .cifsauth만으로 충분합니다
Rahul Patil

@RahulPatil- .cifsauth을 제거하기 위해 자격 증명을 이름으로 만들어야 합니까 username=, 아니면 username=그저 필요하지 않다는 말입니까?
slm

네 ... 좋은 답변 .. !! pam_mount +1
Rahul Patil

@RahulPatil-어느 비트에 동의하십니까?
slm

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)그것은 일반적으로 장착 할 변수,하지만 난 아치 리눅스에서 작동하도록 그 부분을 가져올 수 없습니다. 또한 사용하도록 시스템을 구성해야합니다 pam_mount. /etc/pam.d/system-auth로그인 관리자와 해당 로그인 관리자를 모두 수정해야합니다 . KDM의 경우입니다 /etc/pam.d/kde. 수정에는 기본적으로 optional pam_mount.so두 파일의 모든 섹션에 추가 하는 것이 포함 되지만 순서가 중요하므로 정확한 세부 정보가 까다로워집니다. 나는 아치 위키를 따랐다 .

이 설정과 서버 및 내 컴퓨터에서 동일한 사용자 이름 / 암호를 사용하면 어디서나 자격 증명 파일을 저장하지 않고 자동 마운트 할 수 있습니다.


이것은 좋은 것입니다 ... 원칙적으로 fstab 솔루션을 선호합니다. 나는 pam개인적으로 싫어 하고 나머지는 시스템 설정에 더 많이 들어가는 경향이 있음을 알았습니다. 그러나 이것은 확실히 질문에 대한 답입니다. 자격 증명 저장에 반대하는 이유를 물어볼 수 있습니까? 사용자 권한 및 / 또는 파일 소유권 / 암호화가 충분해야합니다. 일부 시스템에서는 인증 후에 만 ​​액세스 할 수있는 펌웨어 변수에 이러한 정보를 저장할 수도 있습니다. ssh예를 들어, fs 권한을 기반으로 자격 증명을 저장합니까?
mikeserv

@mikeserv 우리는 단일 로그인 시스템을 사용하므로 자격 증명 파일을 사용하여 컴퓨터에 대한 루트 액세스 권한을 가진 시스템 관리자는 내 암호로 액세스 할 수있는 모든 서버에 대한 루트 액세스 권한이 없을 수 있습니다.
StrongBad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.