macOS Big Sur 클라이언트와 Ubuntu 20.04 서버 2021 간에 nfsv4 ID 매핑 작업을 수행하는 방법

macOS Big Sur 클라이언트와 Ubuntu 20.04 서버 2021 간에 nfsv4 ID 매핑 작업을 수행하는 방법

Open Directory 서버 없이 macOS와 Linux 간에 nfsv4 ID 매핑이 작동합니까?

  1. nfs 버전은 4이고, 모든 버전 1~3은 비활성화됩니다.
  2. Kerberos는 MIT입니다.
  3. 공유 초는 krb5p입니다.
  4. 영역은 REALM.COM이고 nfs 및 kdc 서버이며 macOS 클라이언트에는 realm.com 도메인이 있습니다.

애플 시스템

/etc/nfs.conf:
nfs.client.default_nfs4domain=realm.com
CPU 이름
mac.realm.com
/etc/호스트:
1.2.3.4 server.realm.com

리눅스:

고양이 /proc/fs/nfsd/버전
-2 -3 +4 +4.1 +4.2
고양이/sys/모듈/nfsd/parameters/nfs4_disable_idmapping
질소
/etc/idmapd.conf:
[일반적인]
세부 수준 = 3
Pipefs 디렉터리 = /run/rpc_pipefs
[측량 및 매핑]
아무도 없음 - 사용자 = 아무도 없음
그룹 없음 = 그룹 없음
호스트 이름 --fqdn
server.realm.com
/etc/호스트:
127.0.1.1 server.realm.com 서버

맥에는 사용자:그룹이 있습니다:

  • 루트 단어: 바퀴
  • admuser: 직원
  • 아무도 : 아무도 없어

— Wheel과 Staff는 일반적인 BSD 그룹입니다.

Linux에는 user.group이 있습니다.

  • 루트.루트
  • admuser.admuser
  • 무인그룹

macOS에서는 admuser:staff가 mount 명령을 실행합니다.

mount -tnfs -overs=4,proto=tcp,port=2049,sec=krb5p server.realm.com:/files ~/files

현재 상태

현재 nfs 클라이언트 및 서버 구성에서는 둘 다 아무도 없습니다.nogroup 및 아무도: 아무도 없습니다.

tail --follow=name --retry /var/log/syslog | tail --follow=name --retry /var/log/syslog | egrep '^.{16}[^]* rpc.idmapd[[]'
2월 16일 10:17:11 서버 rpc.idmapd[3981346]: nfsdcb: authbuf=gss/krb5p authtype=user
2월 16일 10:17:11 서버 rpc.idmapd[3981346]: 서버: (사용자) id "0" -> 이름 "root@localdomain"
2월 16일 10:17:11 서버 rpc.idmapd[3981346]: nfsdcb: authbuf=gss/krb5p authtype=group
2월 16일 10:17:11 서버 rpc.idmapd[3981346]: 서버: (그룹) id "0" -> 이름 "root@localdomain"
2월 16일 10:17:19 서버 rpc.idmapd[3981346]: nfsdcb: authbuf=gss/krb5p authtype=user
2월 16일 10:17:19 서버 rpc.idmapd[3981346]: 서버: (사용자) id "65534" -> 이름 "nobody@localdomain"
2월 16일 10:17:19 서버 rpc.idmapd[3981346]: nfsdcb: authbuf=gss/krb5p authtype=group
2월 16일 10:17:19 서버 rpc.idmapd[3981346]: 서버: (그룹) id "65534" -> 이름 "nogroup@localdomain"

첫 번째 쌍은 설치용이고 두 번째 쌍은 액세스용입니다.

애플 시스템:

nfs4mapid 관리자
사용자 admuser는 ID 501에 매핑됩니다.
        GUID 126DA715-EAD2-48BB-9A40-653AED2D78CD를 통한 완벽한 매핑
nfs4mapid-u501
사용자 ID 501은 다음에 매핑됩니다.[이메일 보호됨]
        GUID 126DA715-EAD2-48BB-9A40-653AED2D78CD를 통한 완벽한 매핑
nfs4mapid -G 직원
그룹 개인은 ID 20에 매핑됩니다.
        GUID ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000014를 통한 완전한 매핑
nfs4mapid-g20
그룹 ID 20은 다음에 매핑됩니다.[이메일 보호됨]
        GUID ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000014를 통한 완전한 매핑
nfs4mapid 루트
사용자 루트는 ID 0에 매핑됩니다.
        GUID FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000을 통한 완전한 매핑
nfs4mapid-u0
사용자 ID 0은 다음에 매핑됩니다.[이메일 보호됨]
        GUID FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000을 통한 완전한 매핑
nfs4mapid -G 휠
그룹 휠은 ID 0에 매핑됩니다.
        GUID ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000000을 통한 완전한 매핑
nfs4mapid-g0
그룹 ID 0은 다음에 매핑됩니다.[이메일 보호됨]
        GUID ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000000을 통한 완전한 매핑
  • Linux의 최고 버전은 4.2입니다.
  • macOS의 최고 버전은 4.0입니다.

필수 매핑

macOS 클라이언트에서 ls -l을 실행하는 경우:

  • Linux 사용자 루트 -> macOS 사용자 루트
  • Linux 그룹 루트 -> macOS 그룹 휠
  • Linux 사용자 admuser -> macOS 사용자 admuser
  • Linux 그룹 관리자 -> macOS 그룹 직원

macOS에서 서버에 파일을 생성하는 경우

  • macOS 사용자 루트 -> Linux 사용자 루트
  • macOS 그룹 휠 -> Linux 그룹 루트
  • macOS 사용자 admuser -> Linux 사용자 admuser
  • macOS 팀원 -> Linux 팀 관리자

Open Directory 서버 없이 macOS와 Linux 간에 nfsv4 ID 매핑이 작동합니까?

디렉토리를 열어야 할 경우 어떻게 해야 합니까?

관련 정보