원격 홈 디렉토리 마운트

원격 홈 디렉토리 마운트

SAMBA/CIFS 서버가 있고 사용자는 자신의 디렉토리를 가지고 있습니다. 내 클라이언트 컴퓨터는 Linux 또는 Windows를 실행합니다. 내가 원하는 것은 두 운영 체제 모두에서 해당 공유를 사용하는 것입니다. 하지만 내 사용자는 어느 컴퓨터에서나 로그인할 수 있습니다. 내 문제는 다음과 같습니다. Linux에서는 /etc/fstab다음과 같은 내용을 변경하고 포함해야 합니다.

//sambaserver/username /mnt/samba smbfs username=<username>,password=<pass> 0 0  

내 문제는 사용자 이름과 비밀번호를 정적으로 설정할 수 없지만 필요하다는 것입니다.동적(정확한 용어인지는 모르겠습니다.) 간단히 말해서, 사용자가 시스템에 로그인할 때 공유를 자신의 홈 디렉터리로 마운트해야 하지만 사용자가 다른 컴퓨터에 로그인할 수 있으므로 /etc/fstab사용자 이름과 비밀번호를 "캡처"해야 한다는 점을 기억하세요.
내 질문이 명확해지기를 바랍니다. 미리 감사드립니다.

답변1

로그인한 사용자의 삼바 공유를 재사용 가능한 단일 위치에 마운트하려고 시도하는 대신(여러 사용자가 로그인한 경우 문제가 발생함) 각 사용자에게 고유한 위치(예: /home/<username>/sambaserver또는 /mnt/samba/<username>핀치) 에 마운트하는 것을 고려하십시오.

Linux를 사용하는 경우 smbmount간단한 사용자 공간 Samba 설치 프로그램이 필요에 적합합니다.

다음과 같은 작은 스크립트를 작성하십시오.

#!/bin/sh
# Default samba server to connect to
SAMBASERVER="sambaserver"
USERNAME="$USER"

if [ -n "$1" ]
then
  # We've been given a different samba server
  SAMBASERVER="$1"
fi

if [ -n "$2" ]
then
  # We've been given a different user on the samba server to use
  USERNAME="$2"
fi

CREDSFILE="${HOME}/.${SAMBASERVER}.credentials"

# Try and make the mount point if it doesn't yet exist (and set suitable mount dir perms)
if [ ! -d "${HOME}/${SAMBASERVER}" ]
then
  mkdir "${HOME}/${SAMBASERVER}" && chmod 0555 "${HOME}/${SAMBASERVER}" || exit 1
fi

if [ ! -f "$CREDSFILE" ]
then
  echo "$CREDSFILE not found!"
  exit 1
fi

smbmount "\\${SAMBASERVER}\${USERNAME}" "${HOME}/${SAMBASERVER}" -o user="$USERNAME",credentials="$CREDSFILE" || exit 1

(테스트되지 않음 - 조정/디버그 등이 필요할 수 있음)

그런 다음 각 사용자의 홈 디렉터리에 (예를 들어)라는 자격 증명 파일을 만들고 .sambaserver.credentials권한을 해당 사용자가 소유한 0600으로 설정합니다.

username=<samba user>
password=<samba password>

마지막으로 .profile에서 위의 마운트 스크립트를 호출하십시오. 예: /usr/local/bin/mount-user-home.sh또는 /usr/local/bin/mount-user-home.sh sambaserver somedifferentusername특별한 상황.

이는 여러 삼바 서버, 여러 사용자 및 여러 삼바 서버를 사용하는 여러 사용자에게 적용됩니다.

답변2

자동 마운트를 찾고 있을 수도 있습니다.

설명 automount 프로그램은 autofs(인라인 Linux 자동 마운트)에 대한 마운트 지점을 관리하는 데 사용됩니다. automount는 auto.master(5) 맵을 읽고 마스터 맵의 각 항목에 대한 마운트 지점을 설정하여 액세스 시 자동으로 마운트되도록 하는 방식으로 작동합니다. 파일 시스템은 일정 기간 동안 활동이 없으면 자동으로 마운트 해제됩니다.

따라서 고정 자격 증명이나 LDAP/AD 티켓을 사용하여 특정 사용자 디렉터리를 동적으로 마운트할 수 있습니다.

고정된 비밀번호 파일의 구성 예:

$ cat auto.homedir
* -fstype=cifs,rw,credentials=/home/&/.smbcredentials,uid=&,gid=&,file_mode=755,dir_mode=755,users,sec=ntlmssp ://nas.example.com/&

CentOS 8의 기본 구성은 비밀번호 파일이 존재하는지 확인합니다. 그렇지 않은 경우 Kerberos를 사용하려고 시도합니다.

관련 정보