12-02-2024, 02:42 PM
在水木社区上看到有人讨论文件搜索工具。我的系统里面装了plocate,就上它的官方网站看了看,发现了这么一个描述:
就是说一个用户如果能用 locate 找到一个文件的话,那么这个用户一定可以在文件系统里面看到这个文件,这样的话就不会因为用了 locate 而找到只有其他用户能找到的文件。
为了保证这个性质,就一定需要一些访问控制手段。首先 locate 的数据库一定不是所有用户可访问的,这个很容易看出来。
引用:Like mlocate and slocate, the returned file set is user-dependent, ie. a user will only see a file if find(1) would list it (all directories from the root have +rx permissions).
就是说一个用户如果能用 locate 找到一个文件的话,那么这个用户一定可以在文件系统里面看到这个文件,这样的话就不会因为用了 locate 而找到只有其他用户能找到的文件。
为了保证这个性质,就一定需要一些访问控制手段。首先 locate 的数据库一定不是所有用户可访问的,这个很容易看出来。
引用:-rwxr-x--- 1 root locate 30655064 12月 2日 09:47 /var/lib/plocate/plocate.db那么要让普通用户运行 plocate 可以读这个数据库,就需要对这个程序设置 SetGID 位了,实际情况也是如此。
引用:-rwxr-sr-x 1 root locate 325936 11月28日 02:24 /usr/bin/plocate