- 다음과 같은 NFS 사용자 목록(클라이언트 목록)을 얻고 싶습니다.
smbstatus
- 어떤 사용자와 IP가 어떤 공유를 사용하고 있는지, 언제 연결되어 있는지 확인하고 싶습니다.
- nfs 사용자를 죽이고 싶습니다.
- "생성, 수정, 삭제" 등 사용자가 수행하는 작업을 기록하고 싶습니다.
nfs 사용자를 관리하고 싶지만 이 문제를 해결하기 위한 정보와 도구를 찾을 수 없습니다.
답변1
NFS의 구조는 SMB와 매우 다르기 때문에 귀하의 요청은 NFS에 적합하지 않습니다.
- NFS 마운트는 사용자가 아닌 시스템별로 수행됩니다.
showmount -d
서버가 이 정보를 공개하려는 경우 특정 서버에서 마운트된 NFS 공유가 있는 시스템을 알려줄 수 있습니다. Linux에서rpc_pipefs
가상 파일 시스템이 마운트되면 활성 NFS 연결에 대한 정보도 포함됩니다. Debian 9 및 관련 배포판에서 일반적인rpc_pipefs
마운트 지점은/var/lib/nfs/rpc_pipefs
또는 입니다./run/rpc_pipefs
NFSv4 서버에서 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
합니다 rquotad
. statd
t 인증정보를 사용합니다. NFSv4에서만 프로토콜의 모든 측면을 포괄하기 위해 인증이 완전히 통합되지만 여전히 선택 사항입니다.