공유 프로토콜 - NFS
표 12-7 공유 프로토콜 - NFS 등록 정보
|
|
|
공유 모드
|
off/ro/rw
|
공유를 읽기 전용, 읽고 쓰기 또는 둘 다 불가능하도록 지정할지를 결정합니다. CLI에서 "on"은 "rw"의 별칭입니다.
|
setuid/setgid 파일 생성 사용 안함
|
nosuid
|
이 옵션이 선택된 경우 클라이언트는 설정된 setuid(S_ISUID) 및 setgid(S_ISGID) 비트를 사용하여 파일을 만들 수 없거나 chmod(2) 시스템 호출을 통해 기존 파일에서 이러한 비트를 사용으로 설정할 수 없습니다.
|
클라이언트의 하위 디렉토리 마운트 금지
|
nosub
|
이 옵션이 선택된 경우 클라이언트는 하위 디렉토리를 직접적으로 마운팅할 수 없습니다. 클라이언트는 강제로 공유 루트를 마운트하게 됩니다. 주: 이는 NFSv4가 아닌 NFSv2 및 NFSv3 프로토콜에만 적용됩니다.
|
익명 사용자 매핑
|
anon
|
"root" 옵션이 특정 클라이언트에 대해 적용되지 않는 경우 해당 클라이언트의 루트 사용자는 알 수 없는 사용자로 처리되며 해당 사용자가 공유 파일에 액세스하려고 하는 모든 시도는 이 uid의 사용자에 의한 시도로 처리됩니다. 그런 다음 파일의 액세스 비트 및 ACL이 정상적으로 평가됩니다.
|
문자 인코딩
|
아래 참조
|
모든 클라이언트에 대해 기본 문자 세트를 설정합니다. 자세한 내용은 문자 세트 인코딩 절을 참조하십시오.
|
보안 모드
|
아래 참조
|
모든 클라이언트에 대한 보안 모드를 설정합니다.
|
|
클라이언트 또는 클라이언트 모음에 대해 전체 공유 모드에 대한 예외가 정의될 수 있습니다. 클라이언트가 액세스를 시도할 때 해당 액세스 권한은 클라이언트와 일치하는 목록의 첫번째 예외에 따라 부여됩니다. 또는 이러한 예외가 없는 경우 위에서 정의한 전역 공유 모드에 따라 부여됩니다. 이러한 클라이언트 모음은 다음 세 가지 유형 중 하나를 사용하여 정의할 수 있습니다.
표 12-8 클라이언트 모음 유형
|
|
|
|
호스트(FQDN) 또는 넷 그룹
|
none
|
IP 주소가 지정된 정규화된 이름으로 확인되는 단일 클라이언트 또는 클라이언트의 IP 주소가 확인되는 정규화된 이름을 포함한 넷 그룹
|
caji.sf.example.com
|
DNS 도메인
|
.
|
IP 주소가 이 접미어에서 끝나는 정규화된 이름으로 확인되는 모든 클라이언트
|
sf.example.com
|
네트워크
|
@
|
IP 주소가 CIDR 표기법으로 표시된 지정된 IP 서브넷 내에 있는 모든 클라이언트
|
192.168.20.0/22
|
|
지정된 클라이언트 또는 클라이언트 모음 각각의 경우에 대해 클라이언트에 공유에 대한 읽기 전용 또는 읽기/쓰기 액세스 권한이 허용되어야 할지 및 클라이언트의 루트 사용자가 루트 사용자(선택된 경우) 또는 알 수 없는 사용자로 처리되어야 할지를 지정하는 두 매개변수를 표현합니다.
netgroup이 사용되는 경우 해당 netgroup은 NIS(사용으로 설정된 경우)에서 확인된 다음 LDAP(사용으로 설정된 경우)에서 확인됩니다. LDAP이 사용되는 경우 넷 그룹은 기본 위치인 ou=Netgroup,(Base DN)에서 검색되어야 하며 표준 스키마를 사용해야 합니다. 넷 그룹 항목의 사용자 이름 구성 요소는 NFS에 영향을 주지 않습니다. 호스트 이름만 중요합니다. 넷 그룹에 포함된 호스트 이름은 표준 이름이어야 하며 DNS를 사용하여 확인된 경우 정규화된 이름이어야 합니다. 즉, NFS 부속 시스템에서 요청 클라이언트의 IP 주소가 지정된 FQDN 또는 지정된 넷 그룹 중 하나의 멤버 중 하나와 일치하는 표준 호스트 이름으로 확인되는지 검증하려고 시도합니다. 모든 도메인 구성 요소를 포함하여 이 일치는 정확해야 합니다. 그렇지 않으면 예외가 일치하지 않고 다음 예외가 시도됩니다. 호스트 이름 확인에 대한 자세한 내용은 DNS를 참조하십시오. 넷 그룹 관리는 복잡할 수 있습니다. 가능하면 IP 서브넷 규칙 또는 DNS 도메인 규칙을 사용하십시오.
2013.1.0 소프트웨어 릴리스부터 Unix 클라이언트 사용자는 성능 저하 없이 최대 1024개 그룹에 속할 수 있게 되었습니다. 이전 릴리스에서는 Unix 클라이언트 사용자당 최대 16개 그룹을 지원했습니다.
공유 프로토콜 - CLI
CLI에서 모든 NFS 공유 모드 및 예외는 "sharenfs" 등록 정보에 대한 단일 옵션 문자열을 사용하여 지정됩니다. 이 문자열은 위 테이블에 있는 값의 콤마로 구분된 목록입니다. 이 문자열은 BUI에 대해 설명된 전역 공유 모드와 유사하게 "ro", "rw", "off" 중 하나로 시작해야 합니다. 예를 들어,
set sharenfs=ro
이 명령은 모든 클라이언트에 대한 공유 모드를 읽기 전용으로 설정합니다. 모든 클라이언트의 루트 사용자는 자신이 일반 "nobody" 사용자인 것처럼 공유의 파일에 액세스합니다.
"nosuid" 옵션과 "anon" 옵션 중 하나 또는 둘 다 추가될 수도 있습니다. CLI에서 "=" 문자가 포함된 등록 정보 값은 따옴표를 붙여야 합니다. 따라서 알 수 없는 모든 사용자를 uid 153762로 매핑하는 작업을 정의하려면 다음을 지정합니다.
set sharenfs="ro,anon=153762"
추가 예외는 "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"
보안 모드는 "option=mode" 형식의 텍스트를 추가하여 지정할 수 있습니다. 여기서 option은 "sec"이며 mode는 "sys", "krb5", "krb5:krb5i", "krb5:krb5i:krb5p" 중 하나입니다.
set sharenfs="sec=krb5"
보안 모드
보안 모드는 공유 기준별로 설정되며 성능에 영향을 줄 수 있습니다. 다음 표에서는 Kerberos 보안 설정에 대해 설명합니다.
표 12-9 Kerberos 보안 설정
|
|
krb5
|
Kerberos V5를 통한 최종 사용자 인증
|
krb5i
|
krb5 및 통합 보호(데이터 패킷이 변조 방지됨)
|
krb5p
|
krb5i 및 개인 정보 보호(데이터 패킷이 변조 방지되고 암호화됨)
|
|
Kerberos 유형 조합을 보안 모드 설정에서 지정할 수 있습니다. 조합된 보안 모드를 통해 클라이언트가 나열된 Kerberos 유형을 사용하여 마운트할 수 있습니다.
표 12-10 보안 모드 설정
|
|
sys
|
시스템 인증
|
krb5
|
Kerberos v5 전용 – 클라이언트는 이 유형을 사용하여 마운트해야 합니다.
|
krb5:krb5i
|
Kerberos v5(통합 포함) – 클라이언트는 나열된 유형을 사용하여 마운트할 수 있습니다.
|
krb5i
|
Kerberos v5 통합 전용 – 클라이언트는 이 유형을 사용하여 마운트해야 합니다.
|
krb5:krb5i:krb5p
|
Kerberos v5(통합 또는 프라이버시 포함) – 클라이언트는 나열된 유형을 사용하여 마운트할 수 있습니다.
|
krb5p
|
Kerberos v5 프라이버시 전용 – 클라이언트는 이 유형을 사용하여 마운트해야 합니다.
|
|
NFS 및 Kerberos에 대한 자세한 내용은 다음을 참조하십시오.
문자 세트 인코딩
일반적으로 파일 이름에 사용되는 문자 세트 인코딩은 지정되지 않습니다. NFSv3 및 NFSv2 프로토콜은 문자 세트를 지정하지 않습니다. NFSv4는 UTF-8을 사용해야 하지만 일부 클라이언트의 경우 이러한 기능이 지원되지 않으며 이러한 제한 사항은 서버에서 적용되지 않습니다. UTF-8 전용 옵션이 공유에 대해 사용 안함으로 설정된 경우 이러한 파일 이름은 인코딩에 대한 지식 없이 파일 시스템에 문자 그대로 쓰여집니다. 즉, 이러한 파일 이름은 동일한 인코딩을 사용하는 클라이언트만 해석할 수 있습니다. 그러나 SMB의 경우 파일 이름을 서버측에서 해석할 수 있도록 UTF-8로 저장해야 합니다. 이렇게 하면 SMB에 대한 액세스 권한은 계속 허용하는 반면 임의의 클라이언트 인코딩을 지원할 수 없습니다.
이러한 구성을 지원하려면 문자 세트 인코딩을 공유 전체적으로 또는 클라이언트 기준별로 설정해야 합니다. 지원되는 문자 세트 인코딩은 다음과 같습니다.
-
cp932
-
euc-cn
-
euc-jp
-
euc-jpms
-
euc-kr
-
euc-tw
-
iso8859-1
-
iso8859-2
-
iso8859-5
-
iso8859-6
-
iso8859-7
-
iso8859-8
-
iso8859-9
-
iso8859-13
-
iso8859-15
-
koi8-r
-
shift_jis
기본 동작은 문자 세트 인코딩을 계속 지정되지 않은 상태로 유지하는 것입니다(pass-through). BUI에서는 표준 예외 목록 메커니즘을 통해 문자 세트를 선택할 수 있습니다. CLI에서는 각 문자 세트 자체가 호스트가 하나 이상인 옵션이 되며 여기서 '*'는 공유 전체 설정을 나타냅니다. 예를 들어, 다음 명령의 경우
set sharenfs="rw,euc-kr=*"
'euc-kr'을 기본 인코딩으로 사용하여 파일 시스템을 공유합니다. 다음 명령의 경우
set sharenfs="rw,euc-kr=host1.domain.com,euc-jp=host2.domain.com"
각각 'euc-kr' 및 'euc-jp'를 사용할 'host1' 및 'host2'를 제외한 모든 클라이언트에 대해 기본 인코딩을 사용합니다. 호스트 목록의 형식은 다른 CLI NFS 옵션의 형식을 따릅니다.
일부 NFS 클라이언트는 대체 로케일을 올바르게 지원하지 않습니다. 자세한 내용은 NFS 클라이언트 설명서를 참조하십시오.