NFS 사용자 목록을 얻고 연결을 끊는 방법

NFS 사용자 목록을 얻고 연결을 끊는 방법
  1. 다음과 같은 NFS 사용자 목록(클라이언트 목록)을 얻고 싶습니다.smbstatus
  2. 어떤 사용자와 IP가 어떤 공유를 사용하고 있는지, 언제 연결되었는지 확인하고 싶습니다.
  3. nfs 사용자를 죽이고 싶습니다.
  4. "생성, 수정, 삭제" 등 사용자가 수행하는 작업을 기록하고 싶습니다.

nfs 사용자를 관리하고 싶지만 이 문제에 대한 정보와 도구를 찾을 수 없습니다.

답변1

NFS는 SMB와 구조가 매우 다르기 때문에 NFS 측면에서는 요청이 의미가 없습니다.

  1. 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
  2. 클라이언트 IP 주소는 이전 답변을 참조하세요. 개별 사용자는 그 자체로 "연결"되지 않습니다. 사용자가 여러 명인 경우에도 마운트된 파일 시스템당 하나의 연결만 있습니다. 결과적으로 "연결될 때"는 시스템이 마지막으로 부팅된 시간이나 시스템 관리자가 클라이언트에 NFS 공유를 마운트한 시간 중 더 늦은 시간만 알려줍니다.
  3. 공유 파일 시스템에 대한 권한 또는 ACL을 변경하여 사용자 액세스를 차단하거나 클라이언트에 연결하고 루트가 되어 lsof -N열린 NFS 파일 핸들로 사용자 프로세스를 식별하고 종료합니다. 또는 NFS 공유 내보내기를 취소하여 모든 NFS 사용자를 한 번에 "제거"합니다.
  4. NFS 서버의 감사 하위 시스템은 서버와 클라이언트의 UID/GID 번호가 서로 일치하는지(NFSv2 또는 v3) 또는 사용자 이름이 적절하게 매핑되었는지(NFSv4) 확신할 수 있다는 가정 하에 작업을 수행할 수 있습니다.

NFSv2 또는 v3에서 NFS 서버는 서버를 대신하여 적절한 사용자 식별 및 액세스 제어를 수행하기 위해 NFS 클라이언트를 기본적으로 신뢰했습니다. 그렇기 때문에 표준 조언은 NFS를 사용하여 신뢰할 수 있는 호스트 간에만 파일 시스템을 공유하는 것입니다.

Kerberos 기반 사용자 인증(및 선택적으로 데이터 암호화)은 이후 추가 기능이었습니다. 클라이언트와 서버가 모두 해당 옵션을 지원하는 경우 NFSv2 및 NFSv3과 함께 사용할 수 있지만 "사이드밴드 프로토콜"( lockd, 및 ) mountd은 지원하지 않습니다. 인증정보를 사용하지 마세요. NFSv4에서만 프로토콜의 모든 측면을 포괄하기 위해 인증이 완전히 통합되었습니다. 그러나 여전히 선택 사항입니다.rquotadstatd

관련 정보