NFS를 사용하여 홈 폴더 또는 opt 폴더를 공유하는 방법은 무엇입니까?

NFS를 사용하여 홈 폴더 또는 opt 폴더를 공유하는 방법은 무엇입니까?

새로운 폴더 공유에 대한 튜토리얼을 본 적이 있지만 이미 존재하는 폴더를 공유하고 싶다면(예 opt: 하고 마운트하세요.homemdkir /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_folderNFS 공유를 마운트하기 위해 로컬 파일 시스템에 마운트 지점을 생성하기 위한 것입니다. /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을 가지고 있다면 사용자가 user1uid 1000을 가지고 있는 것이 더 좋습니다) 서버에서는 user1uid 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을 내보내고 클라이언트에 마운트하면 모든 하위 디렉터리를 사용할 수 있습니다.

관련 정보