/homeの一覧を見せなくする

Twitterで「丸見えじゃん」みたいな話題があったので確認しておいた。ACLとかxattrとか必要ない。

Linux的なものをインストールすると、普通はこんな感じだと思う。

# ls -ld /home/
drwxr-xr-x 3 root root 33 Mar 22  2017 /home/

これだと/home下にある各ユーザのホームディレクトリが一覧できることになり、どんなユーザが存在しているか丸わかりである。

別にいいってケースも多いだろうけど、たまに見せたくない状況もあるでしょう。そういう場合はこうすればいいです。

# chmod 711 /home/

そうするとこうなる。

# ls -ld /home/
drwx--x--x 3 root root 33 Mar 22  2017 /home/

rootユーザ以外の読み取り権限を外すわけですね。

ディレクトリの読み取り権限とは、まさにディレクトリの一覧取得なので、それを外すと一覧を取得できなくなります。一方で実行権限が残っているため、そのディレクトリへ移動することはできます。上記を設定して一般ユーザから色々してみます。

$ ls /home/
ls: ディレクトリ '/home/' を開くことが出来ません: 許可がありません
$ cd /home
$ ls
ls: ディレクトリ '.' を開くことが出来ません: 許可がありません

もちろんですが、/home下にあるユーザ自身のディレクトリへは移動できますし、一覧を取得することもできます。

一点、不都合があるとしたら、そのディレクトリでtab補完が効かないってことですかね。まー、/homeはそんなに必要ないよね。

そんな感じです。