- 다음과 같은 NFS 사용자 목록(클라이언트 목록)을 얻고 싶습니다.
smbstatus
- 어떤 사용자와 IP가 어떤 공유를 사용하고 있는지, 언제 연결되었는지 확인하고 싶습니다.
- nfs 사용자를 죽이고 싶습니다.
- "생성, 수정, 삭제" 등 사용자가 수행하는 작업을 기록하고 싶습니다.
nfs 사용자를 관리하고 싶지만 이 문제에 대한 정보와 도구를 찾을 수 없습니다.
답변1
NFS는 SMB와 구조가 매우 다르기 때문에 NFS 측면에서는 요청이 의미가 없습니다.
- NFS 마운트는 사용자별이 아닌 시스템별로 수행됩니다.
showmount -d
서버가 해당 정보를 공개하려는 경우 특정 서버에서 마운트된 NFS 공유가 있는 시스템을 알려줄 수 있습니다. Linux에서rpc_pipefs
가상 파일 시스템이 마운트되면 활성 NFS 연결에 대한 정보도 포함됩니다. 일반적인rpc_pipefs
마운트 지점은 Debian 9 및 관련 배포판의/var/lib/nfs/rpc_pipefs
또는 입니다. NFSv4 서버의 각 클라이언트 호스트에 대해 하나의 클라이언트 디렉터리/run/rpc_pipefs
에서 NFSv4 클라이언트 정보를 찾을 수 있습니다 .<rpc_pipefs mount point>/nfsd4_cb/clnt*/info
- 클라이언트 IP 주소는 이전 답변을 참조하세요. 개별 사용자는 그 자체로 "연결"되지 않습니다. 사용자가 여러 명인 경우에도 마운트된 파일 시스템당 하나의 연결만 있습니다. 결과적으로 "연결될 때"는 시스템이 마지막으로 부팅된 시간이나 시스템 관리자가 클라이언트에 NFS 공유를 마운트한 시간 중 더 늦은 시간만 알려줍니다.
- 공유 파일 시스템에 대한 권한 또는 ACL을 변경하여 사용자 액세스를 차단하거나 클라이언트에 연결하고 루트가 되어
lsof -N
열린 NFS 파일 핸들로 사용자 프로세스를 식별하고 종료합니다. 또는 NFS 공유 내보내기를 취소하여 모든 NFS 사용자를 한 번에 "제거"합니다. - NFS 서버의 감사 하위 시스템은 서버와 클라이언트의 UID/GID 번호가 서로 일치하는지(NFSv2 또는 v3) 또는 사용자 이름이 적절하게 매핑되었는지(NFSv4) 확신할 수 있다는 가정 하에 작업을 수행할 수 있습니다.
NFSv2 또는 v3에서 NFS 서버는 서버를 대신하여 적절한 사용자 식별 및 액세스 제어를 수행하기 위해 NFS 클라이언트를 기본적으로 신뢰했습니다. 그렇기 때문에 표준 조언은 NFS를 사용하여 신뢰할 수 있는 호스트 간에만 파일 시스템을 공유하는 것입니다.
Kerberos 기반 사용자 인증(및 선택적으로 데이터 암호화)은 이후 추가 기능이었습니다. 클라이언트와 서버가 모두 해당 옵션을 지원하는 경우 NFSv2 및 NFSv3과 함께 사용할 수 있지만 "사이드밴드 프로토콜"( lockd
, 및 ) mountd
은 지원하지 않습니다. 인증정보를 사용하지 마세요. NFSv4에서만 프로토콜의 모든 측면을 포괄하기 위해 인증이 완전히 통합되었습니다. 그러나 여전히 선택 사항입니다.rquotad
statd