![NFS를 사용하여 홈 폴더 또는 opt 폴더를 공유하는 방법은 무엇입니까?](https://linux55.com/image/221120/NFS%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%99%88%20%ED%8F%B4%EB%8D%94%20%EB%98%90%EB%8A%94%20opt%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EA%B3%B5%EC%9C%A0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
새로운 폴더 공유에 대한 튜토리얼을 본 적이 있지만 이미 존재하는 폴더를 공유하고 싶다면(예 opt
: 하고 마운트하세요.home
mdkir /shared_folder
/etc/exports
내 문제는 폴더와 관련이 있습니다 home
. 2개의 컴퓨터가 있고 둘 다 동일한 사용자를 가지고 있습니다. 그러면 NFS를 사용하면 클라이언트 홈 폴더가 사라진다는 뜻입니까? 이 상황에 대한 적절한 튜토리얼을 찾을 수 없으며 지금까지 예를 들어 폴더를 다시 만든 /shared_folder/home
다음 해당 폴더를 공유에 사용해야 한다는 것을 알았습니다 . 이것은 심볼릭 링크가 필요하다는 뜻인가요? 설명해주실 수 있나요? 이것이 나의 첫 번째 설치입니다. 그리고 더 많은 사용자를 추가할 계획이라면 그냥 사용자 폴더를 공유하는 것이 더 낫다는 글도 읽었는데, 이제 그 폴더를 만들어야 한다는 뜻인가요 /shared_folder/home/user1
? 새 사용자를 만들 때마다 새 하위 폴더를 계속 추가해야 합니다 /shared_folder/home/user2
. 내 분석이 맞나요? 감사합니다
답변1
NFS 서버에서 폴더를 내보내고 이를 클라이언트 컴퓨터에 마운트하는 것은 서로 관련되어 있지만 서로 다른 두 가지 작업입니다.
NFS 서버에서는 내보낼 폴더를 지정합니다(폴더를 마운트할 수 있는 클라이언트, 읽기 전용인지 읽기-쓰기인지 등과 같은 기타 세부 정보와 함께).
NFS 클라이언트에서는 서버에서 마운트할 내보내기를 지정하고어디설치하세요.
이것어디매우 중요.
이는 기본적으로 로컬 디렉토리 트리의 특정 위치("마운트 지점")에 로컬 디스크의 파티션을 마운트하는 것과 같습니다(예: /dev/sda1은 / 파일 시스템일 수 있고 /dev/sda2는 /home으로 마운트됨). .
로컬 디스크 파티션이나 서버(또는 다른 유형의 파일 시스템)에서 내보낸 디렉터리를 로컬 시스템의 어느 곳에나 탑재할 수 있습니다.
그런데, 이것을 실행하는 이유는 mdkir /shared_folder
NFS 공유를 마운트하기 위해 로컬 파일 시스템에 마운트 지점을 생성하기 위한 것입니다. /home이 별도인 경우 /dev/sda2를 마운트하기 위해 /에 /home 하위 디렉터리가 있어야 하는 것과 같습니다. 파티션. 존재하지 않는 디렉토리에는 둘 다 설치할 수 없습니다. 마운트 지점은 단순히 파일 시스템을 마운트하기 위한 위치로 사용하는 디렉토리입니다.
개인적으로 저는 이것을 마운트 지점으로 사용하지 않을 것입니다 /shared_folder
. 너무 길고 불편하고 밑줄이 있어서 Shift 키가 필요합니다. 나는 /shared
또는 와 같이 더 짧고 덜 짜증나는 것을 입력할 것입니다 /nfs
.
내 홈 네트워크에는 다양한 디렉터리를 로컬 네트워크로 내보내는 컴퓨터가 여러 대 있으므로 이를 클라이언트 컴퓨터의 /nfs/hostname 아래에 마운트합니다. 예를 들어, 내 기본 파일 서버는 "ganesh"이므로 ganesh에서 내보낸 파일이 내 워크스테이션에 설치되어 있고 /nfs/ganesh/
mymytv 상자는 "indra"이므로 indra의 TV 녹화물이 아래에 설치되어 있습니다 /nfs/indra/
. 또한 /nfs/ganesh 및 /nfs/indra 아래의 특정 디렉터리에 대한 편리한 바로 가기로 다양한 기호 링크를 사용합니다.
내 문제는 홈 폴더에 있습니다. 2개의 컴퓨터가 있고 둘 다 동일한 사용자를 가지고 있습니다. 그러면 NFS를 사용하면 클라이언트 홈 폴더가 사라진다는 뜻입니까?
클라이언트의 사용자 홈 디렉토리에 설치하지 않는 한, 그게 당신의 일입니다.할 수 있는선택했지만 직접 수행하지 않는 경우~ 해야 하다하다. 사용자가 클라이언트 컴퓨터에 로컬 홈 디렉터리를 가지지 못하게 하거나 모든 파일을 서버에 두려는 경우 이 작업을 수행해야 합니다.
예를 들어 클라이언트 server:/home
에 설치하는 경우 클라이언트에서는 AND를 모두 사용할 수 있습니다./shared/home
/home/username
/shared/home/username
그런데 두 대 이상의 서로 다른 컴퓨터에 동일한 사용자가 있는 경우 모든 컴퓨터에서 동일한 UID를 갖는 것이 더 좋습니다(예를 들어, 사용자가 서버에 uid 1000을 가지고 있다면 사용자가 user1
uid 1000을 가지고 있는 것이 더 좋습니다) 서버에서는 user1
uid 1000, 클라이언트에서는 1000). NFS에는 uid 및 gid 매핑 기능이 있지만 내 경험에 따르면 관련 사용자 및 그룹이 두 시스템에서 동일한 UID 및 GID를 갖도록 함으로써 사용자 및 그룹 소유권 문제를 피하는 것이 가장 좋습니다. 대규모 환경(예: 기업 또는 학술 기관)에서는 일반적으로 nis, LDAP, Active Directory 또는 기타 네트워크 서비스를 사용하여 계정 세부 정보를 얻습니다. 가정이나 소규모 기업 환경에서는 이 값을 설정하는 것이 과도할 수 있으므로 계정과 그룹을 생성할 때 uid 및 gid에 주의를 기울이는 것이 더 쉽습니다.
이것은 심볼릭 링크가 필요하다는 뜻인가요?
당신이 원하지 않는 한. 심볼릭 링크는 매우 편리하므로 매번 전체 경로를 입력할 필요는 없지만 필수는 아닙니다.
예를 들어, 사용자는 "nfs" 또는 "server" 또는 홈 디렉터리를 가리키는 user1
이름의 심볼릭 링크를 가질 수 있지만 이는 선택 사항입니다. /shared/home/user1
필요한 경우 전체 /shared/home/user1/... 경로를 지정하면 됩니다.
더 많은 사용자를 추가할 계획이라면 사용자 폴더만 공유하는 것이 더 낫다는 내용도 읽었습니다. 그렇다면 이제 /shared_folder/home/user1을 생성해야 한다는 뜻인가요?
일부 사람들은 이렇게 하지만 이는 사용자 수가 많고(수백명 이상) 사용자가 로그인할 때만 사용자 디렉터리가 마운트되고(사용자가 로그인할 때 마운트 해제되도록) 자동 설치 프로그램을 실행하려는 경우에만 해당됩니다. 에서) 작동합니다. out) 또는 사용자 파일에 액세스할 때(예: cron 작업을 통해).
가정이나 소규모 기업 네트워크의 경우 이는 가치 있는 것보다 더 큰 문제입니다. 서버에서 /home을 내보내고 클라이언트에 마운트하면 모든 하위 디렉터리를 사용할 수 있습니다.