Linux

使用 sudo 安全地使用 find

  • May 3, 2017

在 Linux 伺服器上,我需要從一組使用者中刪除 root 權限。但這些使用者有正當理由能夠使用“查找”實用程序根據文件名、修改日期和其他元數據搜尋文件。

在伺服器上,文件名不敏感,但文件內容可能。

我想使用 sudo 允許使用者在伺服器上的任何位置搜尋文件。“查找”實用程序很棒,但它允許各種副作用,例如使用“-exec”生成任意命令。

我可以find在我的限制下工作嗎?

定位呢?

locate 讀取由 updatedb(8) 準備的一個或多個數據庫,並將與至少一個 PATTERN 匹配的文件名寫入標準輸出,每行一個。如果未指定 –regex,則 PATTERN 可以包含萬用字元。如果任何 PATTERN 不包含 globbing 字元,則 locate 的行為就像模式是PATTERN一樣。

預設情況下,locate 不檢查數據庫中找到的文件是否仍然存在。locate 永遠不能報告在最近更新相關數據庫後創建的文件。

甚至可能slocate

Secure Locate 提供了一種安全的方式來索引和快速搜尋系統上的文件。它像 GNU locate 一樣使用增量編碼來壓縮其數據庫以加快搜尋速度,但它還將儲存文件權限和所有權,以便使用者不會看到他們無權訪問的文件。

本手冊頁記錄了 GNU 版本的 slocate。slocate 使系統使用者能夠搜尋整個文件系統而不顯示未經授權的文件。

引用自:https://serverfault.com/questions/847975