Freebsd

每個使用者的不同 mlocate 數據庫?

  • February 23, 2020

這可能是一個愚蠢的問題,因為系統上的每個文件和目錄都可以並且將有權阻止普通使用者查看各種文件 - 但為了增加安全性和太長的上下文無法進入:可以 mlocate 有多個數據庫針對不同的使用者組?還是每個使用者都為此?

目標是限制對普通使用者甚至不應該知道存在的文件的了解或訪問——但 root 和 sudo 帳戶仍然應該能夠使用 root mlocate db 查看系統中的所有內容。

我以前只是限制了對 mlocate 數據庫的讀取訪問,但這不是目前系統上的選項。如果有一種方法可以為多個安裝執行緒 mlocate,我只需要兩個,並且沒有儲存限制,就像僅供參考一樣。謝謝,

mlocate,預設情況下,僅顯示使用者有權訪問的文件。至少在我的 CentOS 7 版本中:

例如:

% rpm -qf /usr/bin/locate
mlocate-0.26-8.el7.x86_64

% locate /root/.ssh

% sudo locate /root/.ssh
/root/.ssh
/root/.ssh/authorized_keys
/root/.ssh/known_hosts

這是有效的,因為locate是 setgid 並且數據文件被鎖定到該組:

% ls -l /usr/bin/locate              
-rwx--s--x 1 root slocate 40520 Apr 10  2018 /usr/bin/locate

% sudo ls -al /var/lib/mlocate
total 142820
drwxr-x---  2 root slocate      4096 Feb 23 03:38 .
drwxr-xr-x 45 root root         4096 Dec  6  2018 ..
-rw-r-----  1 root slocate 146233302 Feb 23 03:38 mlocate.db

而且,事實上,普通使用者甚至無法找到 db 文件:-)

% locate '/var/*mlocate*'       
/var/lib/mlocate

% sudo locate '/var/*mlocate*'
/var/lib/mlocate
/var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db.khYLWG

setgid 選項也可以在 FreeBSD 上工作。

引用自:https://unix.stackexchange.com/questions/569283