EXPORTS(5)

명칭
exports - NFS mount 요구에 대한 리모트 mount점을 정의한다

서식
exports

해설
exports 파일은 NFS 서버의 지정 1 개(살)에 대해 NFS mount 프로토콜에 대한 리모트 mount점을 지정합니다. RFC1094, Appendix A 및 Appendix I (을)를 참조해 주세요.

exports 파일의 각 행 (# 로 시작되는 주석행 이외)은, 1 개(살) 이상의 호스트전용으로, 1 개의 로컬 서버 파일 시스템내의 mount점 (복수)과 export 플래그를 지정합니다. 어느 호스트는, 서버의 각 로컬 파일 시스템에 관해서 다만 1 번만 지정 가능합니다. 또 다른 모든 호스트에 적용되는 디폴트 엔트리는, 각 서버 파일 시스템에 관해서 다만 1 개(살)만 지정할 수 있습니다. 후자는 ``세계''에 대해 그 파일 시스템을 공개하게 되므로, 그 파일 시스템이 공의 정보를 포함할 때 마셔 이용해야 합니다.

mount 엔트리내의 최초의 란 (복수)에는, 대응하는 클라이언트 (복수)가 mount 가능하다 서버 파일 시스템내 디렉토리 패스 (복수)를 지정합니다. 이 지정에는 2 개의 형식이 있습니다. 최초의 지정 형식은, 전mount점의 리스트이며, 절대 디렉토리 패스를 공백에서 단락지은 것입니다. 다음의 지정 형식은, 그 파일 시스템의 루트 패스명에 이어 -alldirs 플래그를 지정하는 것입니다. 이 형식은, 그 파일 시스템내의 임의의 점을 호스트 (복수)가 mount 하는 것을 가능하게 합니다. mountd(8) 그리고 -r 옵션을 이용하면, 임의의 점에는 통상 파일을 포함할 수가 있습니다. 패스 명중에는, 기호 연결을 포함하고는 되지않고, 또 ". " 또는 ".." (을)를 포함해 되지 않습니다. 1 개의 파일 시스템에 대한 mount점을 복수 지정하는 것이 가능하고, 각각 다른 호스트와 export 옵션의 조를 지정할 수가 있습니다.

행의 2 번째의 부분에는, 그 파일 시스템이 호스트의 조에 어떻게 export 되고 있는지를 지정합니다. 옵션 플래그는, 그 파일 시스템을 읽어내 전용으로 export 하고 있는 것인가 그렇지 않으면 읽고 쓰기가능으로 export 하고 있는지를 지정하거나 클라이언트의 UID 가 서버상의 유저 자격에 어떻게 MAP 되고 있는지를 지정합니다.

export 옵션은 이하대로입니다.

-maproot=user 지정된 유저의 자격을, root 에 의한 원격 접근에 대해서 사용합니다. 그 자격에는, 로컬 머신상에서 유저가 속하는 모든 그룹을 포함합니다 ( id(1) 참조). 유저는 이름 또는 숫자입니다.

-maproot=user:group1:group2:... 코론에 의해 단락지어진 리스트는, root 에 의한 원격 접근에 대해서 사용하는 정확한 자격을 지정하기 위해서 사용합니다. 리스트의 요소는 이름 또는 숫자입니다. 그룹을 포함하지 않는 자격을 유저에 관한 완전한 자격과 구별하기 위해서는, user: 를 사용해야 하는 것으로 주의해 주세요.

-mapall=user 또는 -mapall=user:group1:group2:... -maproot (와)과 같은 지정 방법으로, (root 를 포함한다) 모든 클라이언트의 UID 에 대한 매핑을 지정합니다.

-r 옵션은 -maproot (와)과 같은 의미입니다. 이것은 낡은 export 파일 형식과 호환성을 유지하기 위해서(때문에) 준비되었습니다.

-maproot 및 -mapall 옵션이 없는 경우에는, root 에 의한 원격 접근은 -2:-2 이라고 하는 자격을 이용하게 됩니다. 그 외의 모든 유저는 각각의 리모트 자격에 MAP 됩니다. -maproot 옵션을 지정하면(자), root 에 의한 원격 접근은 -2:-2 대신에 지정한 자격에 MAP 됩니다. -mapall 옵션을 지정하면(자), root 를 포함한 모든 유저는 그것들 자신의 자격대신에 지정한 자격에 MAP 됩니다.

-ro 옵션은, 파일 시스템이 읽어내 전용으로서 export 되는 것을 지정합니다 (디폴트는 읽고 쓰기가능). -o 옵션은 -ro (와)과 같은 의미입니다. 이것은 낡은 export 파일 형식과 호환성을 유지하기 위해서(때문에) 준비되었습니다.

사양 (RFC 2054 로 RFC 2055)에 엄밀하게 따른다 WebNFS export는 -public 플래그에서 실현됩니다. 그렇지만, 이 플래그 자신은, 파일 시스템중의 전파일에 대해서 읽고 쓰기 액세스를 줍니다만, 예약 포트를 필요로 하지않고, uid 의 매핑도 실시하지 않습니다. 이것은 사양을 만유익인 만큼 제공되고 있어 통상은 사용해야 하지는 않습니다. WebNFS export를 위해서(때문에)는, -webnfs 플래그를 사용합니다. 이것은 -public, -mapall=nobody, -ro (을)를 의미합니다.

-index=file 옵션을 사용해, 퍼블릭 파일 핸들 (WebNFS) (을)를 사용해 디렉토리가 검색되었을 때에 핸들이 돌려주어진다 파일을 지정할 수 있습니다. 이것은 URL 의 동작의 흉내를 합니다. -index 옵션이 지정되지 않으면 통상 대로 디렉토리 파일 핸들이 돌려주어집니다. -index 옵션은 -public 또는 -webnfs 플래그와 조합했을 때 마셔 의미가 있습니다.

-quiet 옵션을 지정하면(자), /etc/exports 안의 이상한 행에 관한 syslog 에의 진단 출력의 일부를 억제합니다. 기존이 있을 수 있는 문제에 의한 5월파리 있고 에러 메세지를 피하는데 유용합니다 (후술의 사용예 참조).

행의 3 번째의 부분에는, 그 행이 적용되는 호스트의 조를 지정합니다. 이 조는 3 개의 방법으로 지정할 수 있습니다. 최초의 방법은 호스트명 (복수)을 공백에서 단락지어 늘어놓는 방법입니다. (이름대신에, 표준적인 인터넷 ``닷''주소를 이용하는 일도 할 수 있습니다). 2 번째의 방법은 넷 그룹 파일 ( netgroup(5) 참조) 중(안)에서 정의한 ``netgroup''를 지정하는 방법입니다. 3 번째의 방법은, 1 개의 네트워크와 네트워크 마스크를 이용하는 것으로, 1 개의 인터넷 서스네트워크 워크를 지정하는 방법입니다. 이것은, 그 서스네트워크 워크내의 주소를 가지는 모든 호스트의 조로서 정의됩니다. 이 마지막 방법은 커널의 오버헤드를 낮게 누를 수 있기 (위해)때문에, 1 개의 관리 서스네트워크내가 많은 클라이언트를 export의 행이 참조하는 경우에 추천 됩니다.

최초의 2 개의 지정 방법에서는, 단지 공백에서 단락지어진 이름 (복수)을 늘어놓아 지정합니다. 모든 이름은, 우선 그것들이 ``netgroup''이름이든가 체크되어 그렇지 않으면 호스트명이라고 가정됩니다. 호스트명에 완전 도메인 지정을 하면, 넷 그룹과 같은 이름을 가지는 호스트의 문제를 통상 피할 수가 있습니다. 3 번째의 지정 방법은, -network=netname 플래그와 옵션의 -mask=netmask 플래그에 의해 지정합니다. 마스크가 지정되지 않으면 그 네트워크 클래스 (A, B, C 의 어떤 것인가입니다. inet(4) (을)를 참조해 주세요)에 대한 마스크가 됩니다. 후술의 사용예 참조.

mountd(8) 유틸리티에 exports 파일을 재차 읽어내게 하기 위해서(때문에)는, 행업 시그널을 다음과 같이 보냅니다:

    kill -s HUP `cat /var/run/mountd.pid`

SIGHUP 의 송신 후에 syslogd(8) 출력을 확인해, exports 파일중의 해석 에러를 mountd(8) 하지만 기록했는지 어떠했는지 봐 주세요.

관련 파일
/etc/exports
    디폴트의 리모트 마운트 포인트 파일

사용예

    /usr /usr/local -maproot=0:10 friends
    /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104. 48.16
    /usr -ro -mapall=nobody
    /u -maproot=bin: -network 131.104. 48 -mask 255.255. 255.0
    /u2 -maproot=root friends
    /u2 -alldirs -network cis-net -mask cis-mask
    /cdrom -alldirs, quiet, ro -network 192.168. 33.0 -mask 255.255. 255.0

/usr, /u, /u2 하지만 로컬 파일 시스템 mount점으로 하면(자), 위의 예는 이하를 지정합니다: /usr (은)는 넷 그룹 파일로 지정되는 호스트군 friends 에 export 되어 이 때 유저는 각각의 리모트 자격에 MAP 되어 root 는 UID 0 및 그룹 10 에 MAP 됩니다. 이 파일 시스템은 읽고 쓰기가능으로 export 되어 ``friends'' 안의 호스트는 /usr 와 /usr/local 의 어느쪽이나 mount 할 수 있습니다. 이 파일 시스템은 131.104. 48.16 및 grumpy.cis.uoguelph.ca 에 export 되어 이 때 유저는 각각의 리모트 자격에 MAP 되어 root 는 ``daemon''에 연결시킬 수 있었던 유저 및 그룹에 MAP 됩니다. 이 파일 시스템은 나머지의 세계에 읽기만으로 export 되어 이 때 모든 유저는 ``nobody''에 연결시킬 수 있었던 유저 및 그룹에 MAP 됩니다.

/u (은)는 서스네트워크 워크 131.104. 48 위의 모든 호스트에 export 되어 이 때 root 는 ``bin''의 UID 에 MAP 되어 그룹 액세스를 가지지 않습니다.

/u2 (은)는 ``friends''안의 호스트에 export 되어 그 때 root 는 ``root''에 연결시킬 수 있었던 UID 와 그룹에 MAP 됩니다. 이 파일 시스템은 ``cis-net''네트워크상의 모든 호스트에 export 되어 이 때 /u2 내의 어떤 디렉토리에도 mount를 허락합니다.

서브 디렉토리를 포함한다 /cdrom (을)를 뿌리로 하는 파일 시스템이, 네트워크 192.168. 33.0/24 에 읽어내 전용으로 export 됩니다. /cdrom (은)는 CD-ROM 디바이스의 관습적인 mount점이므로, 현재 CD-ROM 미디어가 mount되어 있지 않으면 이 export는 실패합니다. 왜냐하면, 이 행에는 -alldirs (이)가 있기 (위해)때문에, 루트 파일 시스템의 서브 디렉토리가 export 되려고 합니다만, 이것은 허가되어 있지 않기 때문입니다. -quiet 옵션은, 통상은 syslog 에 기록되어 버린다 이 조건의 에러 메세지를 억제합니다. CD-ROM 가 mount 되면(자), mount(8) 하 mountd(8) 에 이 상황을 통지해, /cdrom 파일 시스템이 의도 대로에 export 됩니다. -alldirs 옵션을 사용하지 않으면 export는 항상 성공하는 것에 주의해 주세요. 이 경우, /cdrom 아래에 CD-ROM 미디어가 mount되어 있지 않아도, 루트 파일 시스템중의 (통상은 하늘의) 디렉토리 /cdrom (을)를 export 합니다.

관련 파일
/etc/exports
    디폴트 리모트 mount점파일

관련 항목
netgroup(5), mountd(8), nfsd(8), showmount(8)

버그
export 옵션은 커널내에서는 로컬 mount점에 연결시킬 수 있습니다. 로컬 서버 mount점의 서브 디렉토리로 export 된 것에, export 옵션의 모순이 있어서는 안됩니다. 같은 파일 시스템내의 모든 export 된 디렉토리는, 나무를 내리는 순으로 서로 이웃이 된 행으로 지정되는 것이 추천 됩니다. 넷 그룹명과 같은 이름의 호스트명은 지정할 수 없습니다. 완전 도메인 지정으로 호스트명을 지정하면 통상은 문제 없습니다.