NFS 사용자 목록을 가져오고 연결을 종료하는 방법

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

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

답변1

NFS의 구조는 SMB와 매우 다르기 때문에 귀하의 요청은 NFS에 적합하지 않습니다.

  1. NFS 마운트는 사용자가 아닌 시스템별로 수행됩니다. showmount -d서버가 이 정보를 공개하려는 경우 특정 서버에서 마운트된 NFS 공유가 있는 시스템을 알려줄 수 있습니다. Linux에서 rpc_pipefs가상 파일 시스템이 마운트되면 활성 NFS 연결에 대한 정보도 포함됩니다. Debian 9 및 관련 배포판에서 일반적인 rpc_pipefs마운트 지점은 /var/lib/nfs/rpc_pipefs또는 입니다. /run/rpc_pipefsNFSv4 서버에서 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합니다 rquotad. statdt 인증정보를 사용합니다. NFSv4에서만 프로토콜의 모든 측면을 포괄하기 위해 인증이 완전히 통합되지만 여전히 선택 사항입니다.

관련 정보