이 절은 다음 항목으로 구성되어 있습니다.
NFS 프로토콜에 대한 자세한 내용은 다음 항목을 참조하십시오.
NFSv2 및 NFSv3 보안(RFC 2623) (http://www.ietf.org/rfc/rfc2623.txt)
NFSv4 Protocol (RFC 3530) (http://www.ietf.org/rfc/rfc3530.txt)
다른 지원되는 프로토콜에 대한 자세한 내용은 다음 절을 참조하십시오.
각 공유에는 해당 공유에 대해 서로 다른 프로토콜의 동작을 정의하는 프로토콜 관련 등록 정보가 있습니다. 이러한 등록 정보는 각 공유에 대해 정의하거나 공유의 프로젝트에서 상속할 수 있습니다. 다음 표에서는 NFS 프로토콜 등록 정보 및 가능한 값을 보여줍니다.
|
클라이언트별 공유 모드 또는 예외사항을 설정하여 클라이언트 또는 클라이언트 모음에 대해 전역 공유 모드 예외사항을 정의할 수 있습니다. 특정 클라이언트에 대한 액세스를 제한하려면 전역 공유 모드를 none으로 설정하고 더 작은 그룹에 액세스 권한을 점점 더 부여하십시오. 예를 들어 전역 공유 모드가 none으로 설정된 공유를 만든 다음(이 경우 모든 클라이언트에 대한 액세스가 거부됨) 클라이언트의 하위 세트에 읽기 전용 액세스 권한을 부여할 수 있습니다. 그런 다음 클라이언트의 더 작은 하위 세트에 읽기/쓰기 액세스 권한을 부여하고 최종적으로는 신뢰할 수 있는 호스트만 읽기/쓰기 및 루트 사용 액세스 권한을 가지도록 할 수 있습니다.
클라이언트별 공유 모드는 전역 공유 모드보다 우선적으로 사용됩니다. 예외사항에 지정된 클라이언트별 공유 모드에 따라 클라이언트에 액세스 권한이 부여됩니다. 예외사항이 없으면 전역 공유 모드에 따라 클라이언트에 액세스 권한이 부여됩니다.
|
각 클라이언트 또는 클라이언트 모음의 경우 공유에 대해 클라이언트에 읽기 전용 액세스 권한이 있는지 아니면 읽기/쓰기 액세스 권한이 있는지를 지정합니다. NFS 예외사항을 설정하는 경우에는 클라이언트에 루트 사용자 권한이 있는지 아니면 클라이언트가 루트 액세스 권한이 없는 사용자로 처리되는지도 지정합니다.
넷 그룹은 NFS 내보내기에 대한 액세스를 제어하는 데 사용할 수 있습니다. 하지만 넷 그룹은 관리가 복잡할 수 있습니다. 대신 IP 서브넷 규칙이나 DNS 도메인 규칙 사용을 고려해 보십시오.
넷 그룹이 사용되는 경우 어떤 서비스가 사용으로 설정되었는지에 따라 NIS 또는 LDAP에서 확인됩니다. LDAP가 사용된 경우 각 넷 그룹은 기본 위치인 ou=Netgroup(기본 DN)에 위치해야 하며 표준 스키마를 사용해야 합니다.
넷 그룹 항목의 사용자 이름 구성요소는 NFS에 영향을 주지 않습니다. 호스트 이름만 중요합니다. 넷 그룹에 포함된 호스트 이름은 표준 이름이어야 하며 DNS를 사용하여 확인된 경우 정규화된 이름이어야 합니다. 즉, NFS 부속 시스템에서 요청 클라이언트의 IP 주소가 지정된 FQDN, 또는 지정된 넷 그룹 중 하나의 멤버 중 하나와 일치하는 표준 호스트 이름으로 확인되는지 검증하려고 시도합니다. 모든 도메인 구성요소를 포함하여 이 일치는 정확해야 합니다. 그렇지 않으면 예외가 일치하지 않고 다음 예외가 시도됩니다. 호스트 이름 확인에 대한 자세한 내용은 DNS를 참조하십시오.
2013.1.0 소프트웨어 릴리스부터 UNIX 클라이언트 사용자는 성능 저하 없이 최대 1024개 그룹에 속할 수 있게 되었습니다. 이전 릴리스에서는 UNIX 클라이언트 사용자당 최대 16개 그룹을 지원했습니다.
CLI에서 모든 NFS 공유 모드 및 예외사항은 sharenfs 등록 정보에 대한 단일 옵션 문자열을 사용하여 지정됩니다. 이 문자열은 값을 쉼표로 구분한 목록입니다. 이 문자열은 BUI에 대해 설명된 전역 공유 모드와 유사하게 ro, rw, on 또는 off 중 하나로 시작해야 합니다.
|
다음 예에서는 모든 클라이언트에 대한 공유 모드를 읽기 전용으로 설정합니다. 모든 클라이언트의 루트 사용자는 자신이 일반 "nobody" 사용자인 것처럼 공유의 파일에 액세스합니다.
set sharenfs=ro
nosuid 옵션과 anon 옵션 중 하나 또는 둘 다 추가될 수도 있습니다. 따라서 알 수 없는 모든 사용자를 uid 153762로 매핑하는 작업을 정의하려면 다음을 지정합니다.
set sharenfs="ro,anon=153762"
추가 NFS 예외사항은 "option=collection" 형식의 텍스트를 추가하여 지정할 수 있습니다. 여기서 "option"은 클라이언트 모음에 부여될 액세스 권한의 유형을 정의하는 ro, rw, root 중 하나입니다. 모음은 클라이언트 유형 테이블의 접두어 문자 및 DNS 호스트 이름/도메인 이름 또는 CIDR 네트워크 번호에 의해 지정됩니다. 예를 들어, sf.example.com 도메인의 모든 호스트에 읽기/쓰기 권한을 부여하고 192.168.44.0/24 네트워크의 호스트에 루트 액세스 권한을 부여하려면 다음을 사용해야 합니다.
set sharenfs="ro,anon=153762,rw=.sf.example.com,root=@192.168.44.0/24"
개별 정규화된 호스트 이름을 사용할 수 있는 모든 위치에서 넷 그룹 이름을 사용할 수 있습니다. 예를 들어, 다음과 같이 "engineering" 넷 그룹에 읽기/쓰기 액세스 권한을 허용할 수 있습니다.
set sharenfs="ro,rw=engineering"
일반적으로 파일 이름에 사용되는 문자 세트 인코딩은 지정되지 않습니다. NFSv3 및 NFSv2 프로토콜은 문자 세트를 지정하지 않습니다. NFSv4는 UTF-8을 사용해야 하지만 일부 클라이언트의 경우 이러한 기능이 지원되지 않으며 이러한 제한 사항은 서버에서 적용되지 않습니다. UTF-8 전용 옵션이 공유에 대해 사용 안함으로 설정된 경우 이러한 파일 이름은 인코딩에 대한 지식 없이 파일 시스템에 문자 그대로 쓰여집니다. 즉, 이러한 파일 이름은 동일한 인코딩을 사용하는 클라이언트만 해석할 수 있습니다. 그러나 SMB의 경우 파일 이름을 서버측에서 해석할 수 있도록 UTF-8로 저장해야 합니다. 이렇게 하면 SMB에 대한 액세스 권한은 계속 허용하는 반면 임의의 클라이언트 인코딩을 지원할 수 없습니다.
이러한 구성을 지원하려면 문자 세트 인코딩을 공유 전체적으로 또는 클라이언트 기준별로 설정해야 합니다. 지원되는 문자 세트 인코딩은 다음과 같습니다.
|
기본 동작은 문자 세트 인코딩을 계속 지정되지 않은 상태로 유지하는 것입니다(pass-through). BUI에서는 표준 예외 목록 메커니즘을 통해 문자 세트를 선택할 수 있습니다. CLI에서는 각 문자 세트 자체가 호스트가 하나 이상인 옵션이 되며 여기서 '*'는 공유 전체 설정을 나타냅니다. 예를 들어, 다음 명령의 경우
hostname:shares default> set sharenfs="rw,euc-kr=*"
'euc-kr'을 기본 인코딩으로 사용하여 파일 시스템을 공유합니다. 다음 명령의 경우
hostname:shares default> set sharenfs="rw,euc-kr=host1.domain.com,euc-jp=host2.domain.com"
각각 'euc-kr' 및 'euc-jp'를 사용할 'host1' 및 'host2'를 제외한 모든 클라이언트에 대해 기본 인코딩을 사용합니다. 호스트 목록의 형식은 다른 CLI NFS 옵션의 형식을 따릅니다.
일부 NFS 클라이언트는 대체 로케일을 올바르게 지원하지 않습니다. 자세한 내용은 NFS 클라이언트 설명서를 참조하십시오.
보안 모드는 공유별로 설정됩니다. 다음 목록은 Kerberos 보안 설정에 대해 설명합니다.
krb - Kerberos V5를 통한 최종 사용자 인증
krb5i - krb5 및 통합 보호(데이터 패킷이 변조 방지됨
krb5p - krb5i 및 개인 정보 보호(데이터 패킷이 변조 방지되고 암호화됨)
보안 모드는 "option=mode" 형식으로 텍스트를 추가하여 지정됩니다. 여기서 option은 sec이고, mode는 보안 설정입니다. 예를 들면 다음과 같습니다.
hostname: shares default> set sharenfs="sec=krb5"
Kerberos 유형 조합을 보안 모드 설정에 지정할 수 있습니다. 다음 표에 표시된 것처럼 조합된 보안 모드를 통해 클라이언트가 나열된 Kerberos 유형을 사용하여 마운트할 수 있습니다.
|
예약된 포트
시스템 인증에 대해 예약된 포트를 설정하려면 이 예에 표시된 것처럼 resvport를 사용합니다.
set sharenfs="sec=sys,rw,resvport"
resvport는 시스템 인증 보안 모드 sec=sys에서만 사용할 수 있습니다.