如何檢查遠端檔案系統掛載權限?

如何檢查遠端檔案系統掛載權限?

我正在工作中將測試伺服器安裝到共用檔案系統。這是一個 cifs 安裝,所以我正在查看此參考頁面:https://linux.die.net/man/8/mount.cifs

我想嘗試以「盡可能少地了解」的方式掛載,以防止人們在測試伺服器上捏造共享檔案系統。所以在文檔中我看到:

uid=arg 設定當伺服器不提供所有權資訊時將擁有已安裝檔案系統上的所有檔案或目錄的 uid。它可以指定為使用者名稱或數字 uid。未指定時,預設值為 uid 0。有關詳細信息,請參閱下面有關文件和目錄所有權和權限的部分。

聽起來不錯。但這是我的問題:

  • 如何檢查伺服器是否提供所有權信息,如果是,我如何找到它實際上是什麼?

獎金問題:

  • 當您可以覆寫權限時,提供權限有什麼意義file_mode=0777,dir_mode=0777

答案1

您正在查看 CIFS,而不是 NFS。我從未遇到過從 Windows cifs 與 Linux 工具共享中提取所有權資訊的方法(如果有人知道如何操作 - 證明我錯了!)。它是這樣運作的:

  • 在伺服器上,您提供的憑證決定您的存取權限。您不能使用 來“否決”只讀訪問file_mode=0777,在這種情況下嘗試寫入文件時您會被拒絕。
  • 由於預設 CIFS 共享不導出任何所有權信息,因此、 、 、 、uid選項gid提供umask了一種將 Linux 檔案安全置於已安裝共享之上的方法。這樣,您可以說只有特定的本機 Linux 用戶/群組才能讀取/寫入您已安裝的共用。如果在掛載期間未提供這些選項,則使用預設值(很可能適用於該共用內的所有目錄和檔案)file_modedir_modeuid=0, gid=0, umask=0
  • 看官方的文件,可以看出有“CIFS 的unix 擴充”,它允許導出uid / gid 所有權資訊。但不知道有沒有辦法判斷伺服器是否支援這些擴充功能。

相關內容