人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxで質問です。
あるアカウントを作ったのですが、他のアカウントの情報は見れなくさせたく思います。

現状は
/home/test/
の様になってしまい、一階層戻ると、home内のすべてのディレクトリが
見れてしまいます。
これを/home/test/しか見れないようにしたいのです。

SSHでも構いませんが
WebMinの操作方法だと、尚助かります。

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:HOME Linux SSH test アカウント
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Slight_Bright
●15ポイント

ん?testユーザーでログインしたときに、/homeで、lsした時に /home/test 以外見えなくしたい、の意?


2 ● deflation
●27ポイント

chrootコマンドを使って下記のようにすればできます。

chroot /home/test

3 ● gday
●27ポイント

これも参考になると思います。


sshログインしたユーザのディレクトリを制限するには

http://d.hatena.ne.jp/flageo/20090215/p1


4 ● JULY
●31ポイント

普通の方法では出来ません。

というのは、/home の下にどんなディレクトリやファイルがあるか、というのは、ディレクトリエントリに格納されていて、ディレクトリエントリの内容が読み出せるかどうかは、/home のパーミションで、読み込み権があるかどうかで決まり、ディレクトリエントリ内の個々のデータ、つまり、そのディレクトリ内にあるファイル名・ディレクトリ名に対して、個別のパーミションが設定できるわけではないからです。

但し、自分のホームディレクトリも含めて見えなくする事はできます。

今、CentOS 5.6 上で見たところ、

# ls -l / | grep home
drwxr-xr-x 10 root root 4096 5月 11 20:58 home

となっていました。この場合、

という事になります。ディレクトリに対して「実行可能」は、そのディレクトリをカレントディレクトリにする事ができる、という意味になります。

なので、この /home のパーミッションでは、

という状態にあることになります。

ここで、

# chmod o-r /home

として、root ユーザ、及び、root グループに属するユーザ以外の読み込み権を取り去ってしまえば、root 以外のユーザからは、

$ cd /home
$ ls -l
ls: .: 許可がありません

と、自分のホームディレクトリも含めて、存在を隠す事はできます。もちろん、この状態でも、自分のホームディレクトリは自由に使えます。

普通の方法では出来ない、と書きましたが、じゃぁ、普通じゃない方法でできるか、となると、具体的な方法は思いつきません。SELinux を有効にして頑張ればできるかもしれませんが、現実的ではないと思います。

...で、そもそも、/home 下にある他人のホームディレクトリ名を見せたくない、というのは、おそらく、そのマシン上にある他のユーザのアカウント名を知られたくない、という意図なんだと思いますが、であれば、単に /home 下のディレクトリ名を見せなくするよりも、他の方が紹介している、chroot 使う方法の方が堅牢だと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ