나는 리눅스에서 NFS4에 의해 약간 귀찮게했다. 일부 정보가 '외부'와 다른 정보와 충돌하는 것 같으며 다른 정보를 찾기가 어렵습니다. 그래서 여기 내 관심을 끄는 몇 가지가 있습니다. 희망을 가진 누군가가 이것에 대해 밝힐 수 있기를 바랍니다.
이 질문은 Kerberos 등이없는 NFS4에만 집중합니다.
1. 수출
exports
맨 페이지에는 / etc / exports 구조에 대한 모호한 정보가 있습니다 .
인용 exports(5)
:
또한 각 줄에는 경로 이름 뒤에 기본 옵션에 대해 대시 ( "-")와 옵션 목록이 차례로 나오는 사양이 하나 이상있을 수 있습니다.
옵션리스트는 해당 라인의 모든 후속 내보내기에만 사용됩니다.
"해당 라인에 대한 후속 수출 만"이란 무엇입니까?
1.2 fsid=0
더 이상 필요하지 않습니까?
fsid = 0이 더 이상 필요하지 않다는 linux-nfs 목록 에서 주석을 찾았을 때 fsid를 검색했습니다 . 이제 나는 혼란스러워 nfs4와 함께 필요합니까?
2. 익스포트되지 않은 디렉토리는 여전히 마운트 가능
다음과 같은 트리가 있다고 가정 해보십시오.
/exp
/exp/users
/exp/distr
/exp/distr/archlinux
/exp/distr/debian
이 fstab 항목에는 다음과 같은 항목이 있습니다.
/dev/disk/by-label/users /mnt/users ext4 defaults 0 0
/dev/disk/by-label/distr /mnt/distr ext4 defaults 0 0
/mnt/users /exp/users none bind 0 0
/mnt/distr /exp/distr none bind 0 0
그리고 내 수출은 정확히 다음과 같습니다.
/exp 192.168.1.0/24(fsid=0,rw,async,no_subtree_check,no_root_squash)
/exp/distr 192.168.1.0/24(rw,async,no_subtree_check,no_root_squash)
그리고 exportfs -arv
보여줍니다 :
exporting 192.168.1.0/24:/exp/distr
exporting 192.168.1.0/24:/exp
그렇다면 왜 내가 이것을 할 수 있고 클라이언트에서 오류가 발생하지 않습니까?
mount -t nfs4 server:/exp/users /tmp/test
/exp/users
수출되지 않더라도 ? 이 디렉토리를 내 보내지 않았으며을 /dev/disk/by-label/users
지정하지 않으면 내용을 볼 수 없지만 crossmnt
여전히 디렉토리에 쓸 수 있습니다. 기본 디렉토리로 간다에 모든 I의 쓰기의 /exp/users
한 때를 볼 수 있습니다 umount /exp/users; ls /exp/users
..
3. 이상한 경우 showmount -d server
에서 언급 한대로이 rpc.mountd(8)
명령은 클라이언트가 현재 마운트 한 디렉토리 또는 /var/lib/nfs/rmtab
읽을 수없는 디렉토리의 항목을 표시해야합니다 .
rpc.mountd 데몬은 / var / lib / nfs / rmtab 파일에 항목을 추가하여 모든 성공적인 MNT 요청을 등록합니다. NFS 클라이언트로부터 UMNT 요청을 수신 할 때, rpc.mountd는 해당 내보내기에 대한 액세스 제어 목록이 송신자가 내보내기에 액세스 할 수 있으면 / var / lib / nfs / rmtab에서 일치하는 항목을 제거합니다.
(...)
그러나 / var / lib / nfs / rmtab의 내용이 정확하다는 보장은 거의 없습니다. UMNT를 호출 한 후에도 클라이언트가 내보내기에 계속 액세스 할 수 있습니다. 클라이언트가 UMNT 요청을 보내지 않고 재부팅하면 / var / lib / nfs / rmtab에 해당 클라이언트에 대한 오래된 항목이 남아 있습니다.
이것을 읽은 후에 나는 확실히 궁금합니다.
- 이러한 유형의 고객 정보 만 노출하는 것이 몹시 안전하지 않습니까?
- 서버 관리자가 많은 부실한 클라이언트 가있는 rmtab을 가지고 있어야한다는 사실을 알지 못합니다 .
- 이와 NFS4 디렉토리 마운트 고객 이유가
mount -v
"장착 한 것도"GET과 같은 출력을 볼 수도 뭔가 불구 하고 장착?
나는 nfs4에 관해 다른 많은 질문을 가지고 있지만, 나는 이것을 잠시 동안 계속 유지할 것이다 .. :)