これは愚かな質問と見なすことができます。システム内のすべてのファイルとディレクトリには、一般ユーザーがさまざまなファイルを表示するのを防ぐための権限がありますが、追加のセキュリティとコンテキストを入力するには長すぎるため、その場所に移動できます。ユーザーグループが違うのですか?それとも、すべてのユーザーに該当しますか?
目標は、一般ユーザーが存在すら知らないファイルへの知識やアクセスを制限することです。ただし、rootアカウントとsudoアカウントは、まだルートmlocateデータベースを使用してシステム内のすべてを見ることができるはずです。
以前は、mlocateデータベースへの読み取りアクセスを制限していましたが、これは現在のシステムのオプションではありません。複数のインストールに対してスレッド移行を実行する方法がある場合は、2つだけが必要であり、容量の制限もありません。注意してください。ありがとう、
ベストアンサー1
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
これはsetgidのために機能し、locate
データファイルはそのグループにロックされます。
% 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
実際、通常のユーザーはデータベースファイルでさえ見つかりません:-)
% 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 でも機能します。