如何取得 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_pipefs您可以在 NFSv4 伺服器的 上找到 NFSv4 用戶端訊息<rpc_pipefs mount point>/nfsd4_cb/clnt*/info,每個用戶端主機都有一個用戶端目錄。
  2. 對於客戶端 IP 位址,請參閱先前的答案。個人用戶本身並非「連結」;即使有多個用戶,每個已安裝的檔案系統也只有一個連線。因此,「連線時」僅告訴您系統上次啟動的時間,或係統管理員在用戶端上安裝 NFS 共享的時間,以較晚者為準。
  3. 更改共用檔案系統上的權限或 ACL 以阻止使用者的訪問,或連接到客戶端、成為 root、用於lsof -N識別具有開啟的 NFS 檔案句柄的使用者進程,然後終止它們。或取消匯出 NFS 共用以立即「殺死」所有 NFS 使用者。
  4. NFS 伺服器上的審核子系統可以完成這項工作,假設您可以確定伺服器和用戶端上的 UID/GID 編號相互匹配(NFSv2 或 v3)或使用者名稱已正確對應(NFSv4)。

對於 NFSv2 或 v3,NFS 伺服器基本上信任 NFS 用戶端代表伺服器執行適當的使用者識別和存取控制。這就是為什麼標準建議是使用 NFS 僅在受信任的主機之間共用檔案系統。

基於 Kerberos 的使用者驗證(以及可選的資料加密)是後來的附加元件:如果客戶端和伺服器都支援該選項,它可以與 NFSv2 和 NFSv3 一起使用,但「邊帶協定」(lockdmountd和)不會rquotadstatd

相關內容