アクセス権のないフォルダ(ファイル)を非表示にしたい

提供:Samba-JP
ナビゲーションに移動検索に移動
KB番号 J0073
最終更新日 2007/07/12
作成者 たかはしもとのぶ
最終更新者 たかはしもとのぶ

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.2.1a以降

説明

一般的に、ユーザがディレクトリ内のファイルを一覧すると、アクセスできないフォルダ(ディレクトリ)やファイルなども表示されてしまいます。 適切なアクセス権が付与されていれば、実際のアクセスは拒否されますが、フォルダ名を「人事情報」といったわかりやすい名前にしてしまうと、ユーザが内容を類推できてしまい、無用の興味を喚起してしまうという問題があります。

通常、この問題に対処するためには、特定ユーザしかアクセスできないフォルダをまず作成して、そのフォルダの下に「人事情報」など、実際のフォルダを作成するという作業が必要になります。

これは、Windows の場合でも同様ですが、Windows Server 2003 SP1 以降では、後述する ABE 機能を利用することが可能です。

hide unreadableを利用する

Samba 2.2.1a以降では、hide unreadableというパラメータを使って、この機能を簡単に実現することが可能になりました。使い方は、図1のような記述をsmb.confの該当する共有(もしくは [global] セクション)に入れておくだけです。

[share]
  ...
  hide unreadable = yes
  ...

図1: hide unreadable パラメータの設定例

後は、UNIX上のアクセス権を設定して、アクセスを制限したいディレクトリを特定のユーザからしかアクセスできないように設定します。 Windowsマシンから設定を行なった共有に接続すると、パーミッションがないユーザからは、そのディレクトリの存在が完全に隠されていることが確認できます。

Windows Server 2003 以降の ABE 機能

Windows Server 2003 SP1以降では、ABE(Access-based Enumeration)という機能によって共有単位でアクセス許可のないフォルダやファイルを隠蔽する機能が追加されています。

ABEに関する詳細は File and Storage Services 中の Access-based Enumeration のページなどを参照してください。

関連情報

  • この技術情報は 「Linux Japan 2002年1月号: Samba-JP通信」の草稿を元に作成されています。