용도
디렉토리를 NFS 클라이언트로
반출 및 반출 취소합니다.
구문
/usr/sbin/exportfs [ -a ] [ -v ] [ -u ] [ -i ] [ - f파일 ] [ -F ] [ - o옵션 [, 옵션... ] ] [ -V 내보낸 버전 ] [ 디렉터리 ]
설명
exportfs 명령은
로컬 디렉토리를 NFS(Network File System) 클라이언트가 마운트할 수 있게
만듭니다. 이 명령은 일반적으로 /etc/rc.nfs파일에 의해 시스템 시작 중에 호출되며 /etc/exports 파일의 정보를 사용하여 전체 경로 이름으로 지정되어야 하는 하나 이상의 디렉토리를 반출합니다.
/etc/xtab 파일은
현재 반출된 디렉토리를 나열합니다. 이 파일을 표시하려면 플래그나
인수 없이 exportfs 명령을 입력하십시오. 파일을
변경하거나 그의 디렉토리 중 하나의 특성을 변경하려면, 루트 사용자가
/etc/exports 파일을 편집하고 exportfs 명령을 실행할 수 있습니다. 그런 변경은 언제든지 수행할 수 있습니다. 절대 /etc/xtab 파일을 직접
편집하지 마십시오.
참고:
- 상위 디렉토리이거나 현재 반출되고 동일한 파일 시스템
내에 있는 디렉토리의 서브디렉토리인 디렉토리는 반출할
수 없습니다.
- NFS 버전 2와 3에서는 디렉토리와 파일을 모두 반출할 수 있습니다. NFS 버전 4 액세스의 경우 디렉토리만 반출할 수 있습니다.
- 서로 다른 버전 2(또는 3)와 4를 갖는 동일한 디렉토리에 대한 두
항목이 /etc/exports 파일에 존재하는 경우 exportfs
명령은 두 항목을 모두 반출합니다.
- NFS 버전 2 (또는 3) 및 4에 대한 옵션이 디렉토리에 대해 동일한 경우, /etc/exports 파일에 다음과 같이 지정하는 하나의 항목이 있을 수 있습니다.-vers=3:4.
플래그
| 항목 |
설명 |
| -a |
exports 파일에 나열된 모든 디렉토리를 반출합니다. |
| -v |
반출 또는 반출 취소될 때 각 디렉토리의 이름을 인쇄합니다. |
| -u |
사용자가 지정하는 디렉토리를 반출 취소합니다. -a 플래그와 함께 사용되면
반출된 모든 디렉토리를 반출 취소합니다. -a 및 -f 플래그 모두와 사용되면
지정된 반출 파일의 모든 디렉토리를 반출 취소합니다. |
| -i |
exports 파일에 지정되지 않은 디렉토리의 반출을 허용하거나
exports 파일의 옵션을 무시합니다. -f 플래그를 사용하여
대체 파일을 지정하지 않는 한, exportfs 명령은
정상적으로 반출된 디렉토리와 연관된 옵션에 대해
/etc/exports 파일을 참조합니다. |
| -f 파일 |
/etc/exports 파일 대신, 사용자가 반출할 수 있는
디렉토리 리스트를 포함하는 반출 파일을 지정합니다. 이 파일은
/etc/exports 파일과 동일한 형식을 따라야 합니다. 주:
이 대체 파일은 시스템 및 NFS가 시작될 때 자동으로 디렉토리 반출에는
사용되지 않습니다. /etc/exports 파일이 시스템 시작 시에
반출할 디렉토리를 지정하기 위해 지원되는 유일한
파일입니다. |
| -F |
강제 반출 취소가 수행되어야 함을
지정합니다. 이 플래그는 -u 플래그와 함께만 사용하십시오. 이 플래그는
V2/V3 반출을 반출 취소할 때는 효과가 없습니다. V4 반출 취소는 연관된 상태로
인해 실패할 수 있습니다. 이 플래그는 V4 반출과 연관된 모든
상태의 해제를 강제 실행합니다. |
| -o옵션 |
반출될 디렉토리에 대한 선택적 특성을
지정합니다. 쉼표로 분리하여 둘 이상의 변수를 입력할 수
있습니다. Client 매개변수를 갖는 옵션의 경우 Client가
호스트 이름, 점 분리 IP 주소, 네트워크 이름 또는 서브넷 지정자를 지정할
수 있습니다. 서브넷 지정자는 "@host/mask" 양식을 갖는데,
여기서 host는 호스트 이름 또는 점 분리 IP 주소이고 mask는
액세스를 검사할 때 사용할 비트 수입니다. mask가 지정되지 않으면
전체 마스크가 사용됩니다. 예를 들어, 지정자 @client.group.company.com/16은
company.com 서브넷의 모든 클라이언트와 일치합니다. 지정자
@client.group.company.com/24는 group.company.com
서브넷의 클라이언트와만 일치합니다. 다음 옵션 중에서 선택하십시오.
- ro
- 읽기 전용 권한으로 디렉토리를 반출합니다. 지정하지 않으면,
디렉토리는 읽기-쓰기 권한으로 반출됩니다.
- ro=클라이언트 [:Client]
- 읽기 전용 권한을 갖는 디렉토리를 지정된 클라이언트로
반출합니다. 읽기/쓰기 권한을 갖는 디렉토리는 리스트에서 지정되지 않은
클라이언트로 반출합니다. 읽기/쓰기 리스트가 지정된 경우
읽기 전용 리스트는 지정할 수 없습니다.
- rw
- 읽기/쓰기 권한을 갖는 디렉토리를 모든 클라이언트로 반출합니다.
- rw=클라이언트 [:Client]
- 읽기/쓰기 권한을 갖는 디렉토리를 지정된 클라이언트로
반출합니다. 읽기 전용 디렉토리를 리스트에 없는 클라이언트로 반출합니다. 읽기 전용 리스트가 지정된 경우 읽기/쓰기 리스트는 지정할 수
없습니다.
- 익명 =UID
- 요청이 루트 사용자로부터 오는 경우 UID 값을 유효 사용자 ID로
사용합니다.
이 옵션의 디폴트 값은
-2입니다. NFS 버전 2 및 NFS 버전 3에서, anon 옵션의 값을 -1로
설정하면 익명 액세스가 불가능합니다. 따라서 기본적으로 보안 NFS는
비보안 요청을 익명으로 수락하고, 추가 보안을 원하는 사용자는
anon을 -1의 값으로 설정하여 이 기능을 사용 안할 수 있습니다.
- root=클라이언트 [:Client]
- 리스트의 지정된 클라이언트로부터의 루트 액세스를 허용합니다. 호스트를
루트 리스트에 넣어도 다른 옵션의 시맨틱을 재정의하지
않습니다. 예를 들어, 이 옵션은 루트 리스트에 존재하지만 액세스 리스트에는
없는 호스트로부터의 마운트 액세스를 거부합니다.
- access=클라이언트 [: 클라이언트, ...]
- 나열된 각 클라이언트에게 마운트 액세스를 제공합니다. 클라이언트는 호스트
이름 또는 네트 그룹 이름일 수 있습니다. 리스트의 각 클라이언트는 먼저
/etc/netgroup 데이터베이스에서 검사된 후 /etc/hosts 데이터베이스에서 검사됩니다. 디폴트 값을 사용하면 모든 머신이 주어진 디렉토리를 마운트할 수 있습니다.
- secure
- 클라이언트에게 디렉토리에 액세스할 때 추가 보안 프로토콜을
사용하도록 요구합니다.
|
| -o Options(계속) |
- sec=flavor [:flavor ...]
이 옵션은 반출된 디렉토리에 있는 파일에 액세스하는 데 사용할
수 있는 보안 메소드 리스트를 지정하기 위해 사용합니다. 대부분의 exportfs 옵션은 sec 옵션을 사용하여 클러스터할 수 있습니다. sec 옵션 다음에 오는 옵션은 이전 sec 옵션에 속하는 것으로 간주됩니다. 임의의 수의 sec 스탠자를 지정할 수 있지만 각 보안 메소드는 한 번만 지정할 수 있습니다. 각 sec 스탠자 내에서 ro, rw, root및 access 옵션을 한 번 지정할 수 있습니다. public, anon 및 vers 옵션만 내보내기에 대해 글로벌로 간주됩니다. sec 옵션을 사용하여 보안 메소드를 지정하는 경우 모든 보안 메소드를 지정하는 데 사용해야 합니다. sec 옵션이 없으면 모든 인증 특색이 허용됩니다.
가용 플레이버
값은 다음과 같습니다.
- sys
- UNIX 인증. 디폴트 메소드입니다.
- dh
- DES 인증.
- 없음
- 마운트 요청에서 반출에 지정되지 않은 인증 플레이버를
사용할 경우 익명 신임 정보로 마운트 요청을 진행할 수
있습니다.
- krb5
- Kerberos. 인증 전용입니다.
- krb5i
- Kerberos. 인증 및 무결성입니다.
- krb5p
- Kerberos. 인증, 무결성 및 개인정보 보호입니다.
secure 옵션을 지정할 수 있지만 sec 옵션과 함께 사용할 수는 없습니다. secure 옵션은 더 이상 사용되지 않으며 제거될 수 있습니다. sec=dh 를 대신 사용하십시오.
- vers=version_number [:version_number ...]
- 반출된 디렉토리에 액세스하도록 허용되는 NFS 버전을
지정합니다. 유효한 버전은 2, 3 및 4입니다. 버전 2 및 3은 단독으로
선택할 수 없습니다. 버전 2나 버전 3 중 하나를 지정하면 NFS 버전
2 및 NFS 버전 3 둘 다 액세스할 수 있게 됩니다. 버전 4는 단독으로
선택할 수 있습니다. 디폴트는 NFS 프로토콜 버전 2 및 3을
사용한 액세스를 허용하는 것입니다.
- ex name=외부 이름
- 지정한 외부 이름별로 디렉토리를 반출합니다. 외부 이름은 nfsroot 이름으로 시작해야 합니다. nfsroot 이름에 대한 설명은 /etc/exports 파일의 설명을 참조하십시오. 이 옵션은 NFS 버전 4 프로토콜에 의한 액세스를 위한 반출된
디렉토리에만 적용됩니다.
- deleg={yes | no}
- 지정된 반출에 대해 파일 위임을 사용 가능하게 하거나 사용 불가능하게 합니다. 이 옵션은 이 반출에 대한 시스템 범위의 위임 사용을 재정의합니다. 시스템 범위의 사용은 nfso를 통해 수행합니다.
|
| -o Options(계속) |
- refer=rootpath@host[+host] [:rootpath@host[+host]]
- 이름 공간 referral이 지정된 경로에 작성됩니다. referral은
클라이언트가 조작을 계속할 수 있는 지정된 대체 위치로
클라이언트를 보냅니다. referral은 특수 오브젝트입니다. referral이 아닌
오브젝트가 지정된 경로에 존재하는 경우 반출은 허용되지 않으며 오류
메시지가 인쇄됩니다. 지정된 경로에 아무 것도 없는 경우,
해당 오브젝트로 유도하는 경로 이름 디렉토리를 포함하는
referral 오브젝트가 그곳에 작성됩니다. 한 파일 시스템 안에 복수
referrals를 작성할 수 있습니다. nfsroot에 대한 리퍼럴을 지정할 수 없습니다.
localhost라는 이름은
hostname으로 사용할 수 없습니다. 이 refer 옵션은 버전 4내보내기에만 허용됩니다. 반출 스펙이 버전 2 또는 버전 3 액세스를 허용하는
경우, 오류 메시지가 인쇄되며 반출이 허용되지
않습니다. referral 오브젝트를 반출 취소하면 referral 오브젝트에서
referral 위치 정보를 제거하는 효과를 갖습니다. 오브젝트 자체는
반출 취소에 의해 제거되지 않습니다. 오브젝트를 제거하려면 rm 을 사용하십시오. 시스템 관리자는 적절한 데이터가
referral 서버에서 사용 가능한지 확인해야 합니다. 이 옵션은 AIX 5L 버전 5.3 (5300-03권장 유지보수 패키지 이상) 에서만 사용 가능합니다.참고: 참조 내보내기는 서버에서 복제가 사용 가능한 경우에만 작성할 수 있습니다. chnfs -R on 를 사용하여 복제를 사용으로 설정하십시오.
|
| -o Options(계속) |
- replicas=rootpath@host[+host] [:rootpath@host[+host]]
- 복제 위치 정보가 반출 경로와
연관됩니다. 복제 정보는 현재 서버가 사용 불가능하게 되는
경우 NFS 버전 4 클라이언트가 조작을 지정된 대체 위치로
방향 재지정하는 데 사용할 수 있습니다. 시스템 관리자는 복제 서버에서
적절한 데이터가 사용 가능한지 확인해야 합니다. 복제본
정보가 전체 파일 시스템에 적용되기 때문에 지정된 경로가
파일 시스템의 루트여야 합니다. 경로가 파일 시스템 루트가
아닌 경우 반출은 허용되지 않으며 오류 메시지가 인쇄됩니다.
localhost라는 이름은
hostname으로 사용할 수 없습니다. 이 replicas 옵션은 버전 4내보내기의 경우에만 의미가 있습니다. 옵션이 버전 2 또는 버전 3 액세스를
허용하는 반출에서 사용되는 경우, 조작은 허용되지만
복제 정보는 버전 2 및 버전 3 서버에서 무시됩니다. 반출될 디렉토리가 복제 리스트에 없는 경우 exported
directory@current host 항목이
첫 번째 복제본 위치에 추가됩니다. 이 옵션은 AIX® 5.3 5300-03 이상에서만 사용 가능합니다. 복제본 반출은 복제가 서버에서 사용 가능한 경우에만 수행할 수
있습니다. 기본적으로 복제는 사용으로 설정되지 않습니다. 복제본 내보내기가 시스템 부트 시 작성되는 경우 chnfs -R on 명령을 사용하여 복제를 사용으로 설정해야 합니다. nfsroot에 대한 복제본 위치도 지정할 수 있습니다. 이는 chnfs -R host[+host] 를 사용해서만 수행할 수 있습니다. 현재 호스트가 리스트에서 지정되지 않은 경우 첫 번째 복제본 호스트로서
추가됩니다. nfsroot 는 지정된 호스트의 nfsroots 에만 복제되므로 이 경우 rootpath 가 필요하거나 허용되지 않습니다. chnfs 프로그램을 사용하여 복제를 사용 또는 사용 안함으로 설정할 수 있습니다. 복제 모드 변경은 NFS 버전
4 반출이 활동 중인 경우에만 수행될 수 있습니다. 서버의 복제 모드가
변경되면, 이전 복제 모드 중에 서버가 발행한 파일 핸들은
서버에서 존중되지 않습니다. 이것은 이전 파일 핸들을
보유하는 클라이언트에서 애플리케이션 오류를 유발할 수 있습니다. 서버의
복제 모드를 변경할 때 주의하십시오. 가능한 경우, 서버에
마운트한 모든 클라이언트는 서버의 복제 모드가 변경되기 전에
마운트 해제되어야 합니다. 디렉토리와 연관된 복제본
위치 정보는 복제본 리스트를 수정하고 디렉토리를 재반출하여
변경될 수 있습니다. 새 복제본 정보가 이전 복제본
정보를 대체합니다. NFS 클라이언트는 정기적으로 복제본
정보를 갱신할 것으로 기대됩니다. 서버가 반출에 대한 복제본
정보를 변경하는 경우 클라이언트를 인지하는 데 시간이 걸릴 수 있습니다. 이것은 새로운 복제본 위치가 추가되는 경우 큰 문제가 되지 않습니다.
왜냐하면 미완료된 경우 이전 정보를 보유하는 클라이언트는 여전히 올바른
복제본 정보를 갖고 있기 때문입니다. 복제본 정보를 제거하면
클라이언트가 일정 기간 잘못된 복제본 정보를 보유할 수 있기
때문에 문제가 될 수 있습니다. 클라이언트가 새 정보를 발견하는 데 도움을 주기 위해 exportfs 는 복제된 디렉토리를 터치하려고 시도합니다. 이것은 디렉토리의 시간소인을
변경하고, 이것은 다시 클라이언트가 디렉토리의 속성을 다시 페치하게
만듭니다. 그러나 복제된 파일 시스템이 읽기 전용인 경우
이 조작은 불가능할 수 있습니다. 디렉토리에 대한 복제본
정보를 변경할 때, 정보 변경과 클라이언트의 새 정보
인지 사이에 약간의 대기 시간이 있을 수 있음을 주의하십시오.
|
| -o Options(계속) |
- noauto
- 복제본 스펙을 있는 그대로 승인합니다. 1차 호스트 이름이
지정되지 않은 경우 복제 위치 중 하나로 1차 호스트 이름을
자동 삽입하지 않습니다.
- scatter
- refer 또는 replicas 옵션에서 지정되는 서버에서
대체 위치 리스트가 생성되는 방법을 정의합니다. noauto
옵션이 사용되지 않는 경우 대체 위치 리스트는 1차 호스트
이름을 복제본 위치 중 하나로 포함합니다. scatter 옵션은 NFS 버전 4 프로토콜이 액세스하기 위해
반출되는 디렉토리에만 적용됩니다. scatter 옵션은 다음
세 가지 가용 값을 갖습니다.
- full
- 모든 서버가 대체 위치의 조합을 구성하도록 분산됩니다.
- 부분
- 모든 조합의 제1 위치는 refer 또는 replicas 옵션에 지정된 첫 번째 서버에 수정됩니다. 나머지 위치 및 첫 번째 위치는 다음을 사용하여 분산되는 것처럼 분산됩니다.scatter=full사용하십시오.
- 없음
- 분산을 사용하지 않습니다. 이 값은 이전에 사용 가능했던 경우 산포를
사용 불가능하게 하는데도 사용할 수 있습니다.
클라이언트 속성이 변경될 때마다
해당 클라이언트를 매개변수로 포함하는 모든 반출 항목을 다시 반출해야
합니다. 클라이언트 속성을 변경할 수 있는 이벤트로는 netgroup 수정이나
클라이언트의 IP 주소 변경이 있습니다. 그렇게 하지 못하면 서버가
이전 클라이언트 정보를 사용하게 됩니다.
|
| -V 반출된 버전 |
버전 번호를 지정합니다. 유효한 버전 번호는 2, 3 및
4입니다. |
Solaris 호환성
exportfs 명령은 share,
shareall, unshare 또는 unshareall로서 호출할 수 있습니다. exportfs 명령이 share 또는 shareall로서 호출될
때, sec 옵션을 사용하여 보안 메소드를 지정해야 한다는 점을
제외하면 각각 exportfs 및 exportfs -a와
동등합니다. exportfs 명령이 unshare 또는
unshareall로서 호출될 때 기능은 각각 exportfs -u
및 exportfs -u -a와 동등합니다.
보안
RBAC 사용자 및 Trusted AIX 사용자 주의: 이 명령은 특권 조작을 수행할 수 있습니다. 특권 사용자만 특권 조작을 실행할 수 있습니다. 권한 부여 및 특권에 대한 자세한 정보는 보안에서 특권 명령 데이터베이스를 참조하십시오. 이 명령과 연관된 특권 및 권한 부여 리스트는
lssecattr 명령 또는 getcmdattr 부속 명령을 참조하십시오.
예
- /etc/exports 파일의 모든 디렉토리를 반출하려면 다음을 입력하십시오.
- /etc/exports 파일에서 한 디렉토리를 반출하려면 다음을 입력하십시오.
In this example, the
/home/notes디렉토리를 내보냅니다.
주: 이 명령이 작동하려면 /home/notes 디렉토리를 /etc/exports 파일에 지정해야 합니다.
- 디렉토리를 반출 취소하려면 다음을 입력하십시오.
In this example, the/home/notes디렉토리를 내보내지 않았습니다.
- 현재 반출되고 있는 디렉토리의 이름을 표시하려면 다음을
입력하십시오.
- /etc/exports 파일에서 지정되지 않은 디렉토리를 반출하려면
다음을 입력하십시오.
In this example, the/home/zeus디렉토리를 제한 없이 내보냅니다.
- 디렉토리를 반출하고 네트 그룹 멤버에게 이 디렉토리에 액세스하는 권한을
부여하려면 다음을 입력하십시오.
exportfs access=cowboys:oilers /home/notes -o
In this example, the/home/notes디렉토리를 내보내고 사용자에게 다음을 허용합니다.cowboys및oilers호스트 시스템에 액세스할 수 있습니다.
- /etc/exports 파일로부터 다른 옵션과 함께 디렉토리를 반출하려면 다음을
입력하십시오.
exportfs -i -o root=zorro:silver /directory
In this example, the/directory디렉토리를 내보내고 루트 사용자 액세스를 허용합니다.zorro및silver/etc/exports 파일에 지정된 액세스 권한과 무관하게, 호스트 머신에 액세스할 수 없습니다.
- Kerberos 인증을 사용하여 클라이언트에 쓰기 권한이 있는 /common/docs 디렉토리를 내보내지만 UNIX 인증을 사용하여 클라이언트에 읽기 전용 권한을 부여하려면 /etc/exports 파일에 다음 텍스트를 추가하십시오.
/common/docs -sec=krb5,rw,sec=sys,ro
그런
다음 exportfs /common/docs를 입력하여 반출을 수행하십시오.
- /usr/info 에서
infoserver호스트의 /usr/info 디렉토리에 대한 리퍼럴을 작성하려면 /etc/exports 에 다음 행을 추가한 후 /usr/info을 내보내십시오./usr/info -vers=4,refer=/usr/info@infoserver
- 호스트
backup1 및 backup2에서 /common/info 디렉토리에 대한 복제본을 지정하려면 /etc/exports 에 다음 행을 추가한 후 /common/info을 내보내십시오./common/info -vers=4,replicas=/common/info@backup1:/common/info@backup2,<other options>
- 버전 3 및 버전 4 모두를 갖고 /common/docs 디렉토리를 반출하려면
다음 명령을 입력하십시오.
exportfs -V 3:4 /common/docs
- /etc/exports 파일에서 모든 버전 4 항목을 반출하려면
다음 명령을 입력하십시오.
exportfs -a -V 4
- 버전 3에 대해서만 /common/docs 디렉토리를 반출 취소하려면
다음 명령을 입력하십시오.
exportfs -u -V 3 /common/docs
- /etc/xtab 파일의 모든 버전 3 항목을 반출 취소하려면
다음 명령을 입력하십시오.
exportfs -ua -V 3
- 다음 이름의 호스트에서 /common/docs 디렉토리에 대한 리퍼럴을 지정하려면 다음을 수행하십시오.s1,s2및s3/etc/exports 파일에 다음 행을 추가한 후 /common/docs 디렉토리를 반출하십시오.
/common/docs -vers=4,refer=/common/docs@s1:/common/docs@s2:/common/docs@s3,scatter=full
- 이름 지정된 호스트에서 /common/docs 디렉토리의 복제본을 지정하려면 다음을 수행하십시오.s1,s2,s3및s4부분적으로 분산 (첫 번째 장애 복구 서버는s1다음 행을 /etc/exports 파일에 추가한 후 /common/docs 디렉토리를 반출하십시오.
/common/docs -vers=4,noauto,replicas=/common/docs@s1:/common/docs@s2:/common/docs@s3:/common/docs@s4,scatter=partial