UNIXファイルのセキュリティを向上させる--adduserとumaskを用いたポリシーの強制

文:Chad Perrin (Special to TechRepublic) 翻訳校正:村上雅章・野崎裕子
2009-11-30 11:22:01
  • このエントリーをはてなブックマークに追加

 UNIXのファイル権限設定についての記事に続き、本記事では新規ファイルの作成時に用いられるデフォルト権限の設定方法を解説する。

 筆者の記事「UNIXのファイル権限を理解する--基本を押さえてセキュリティ向上に役立てる」には、以下のような一節があったことを憶えておられる方もいるだろう。

 UNIXシステムにおいて、ファイルレベルの基本的なセキュリティを向上させるための重要な鍵は、システムの機能を損なうことなく、かつあなたが必要とするファイルへのアクセスが妨げられないレベルで権限を可能な限り制限しておくことにある。

 上記の記事で解説しているように、UNIXやLinuxのシステム管理者は、たいていの場合において、ファイルの所有者に対しては該当ファイルの全権限を与え、その他のユーザーに対しては該当ファイルに一切アクセスできないような設定をデフォルトとしておくべきである。こういったことを、管理者側の手間をかけず、スムーズに実現するための方法は、ファイルの新規作成時に適切なデフォルト権限が自動的に設定されるようにしておくことである。

ホームディレクトリのデフォルト権限を設定する

 まず最初に、新規ユーザーのホームディレクトリの権限は、「adduser」コマンドによって該当ユーザーを作成する際に設定することができる。実際の方法はシステムによって異なるため、詳細についてはmanページ(関連記事:manコマンドの活用法)を参照してもらいたい。例えばFreeBSDの場合、新規ユーザーのホームディレクトリの初期権限は「-M」オプションで設定することができる。このため、新たなユーザーアカウントを作成し、そのホームディレクトリの権限を750に設定したい場合、以下のコマンドを実行することになる。

adduser -M 750

 一方、Ubuntu Linuxの場合、同じことをするためには、/etc/adduser.confファイルの「DIR_MODE」行を以下のように編集する必要がある。

DIR_MODE=0750

 FreeBSDシステムでもUbuntu Linuxシステムと同じ方法で、すなわち/etc/adduser.confファイルを編集することで、すべてのユーザーアカウントに対するホームディレクトリのデフォルト権限を設定することができるものの、「adduser」コマンドの「-M」オプションを使用することで、同コマンドの実行時における/etc/adduser.confファイル中のデフォルト設定をオーバーライドすることができる。

 ホームディレクトリのデフォルト権限を設定しておくことで、そのホームディレクトリ自体は、rootレベルの権限を有していないすべてのアカウント(そのディレクトリを所有することになるアカウントや該当アカウントのデフォルトグループに属しているアカウントを除く)から一切アクセス(閲覧や読み込みを含む)できなくなる。また、ディレクトリの削除は、該当アカウントのデフォルトグループに属している他のアカウントからでも不可能となる。また、こういったディレクトリを作成した後、該当アカウントによって新規作成されることになるファイルのデフォルト権限も自動的に設定されるようにしておく必要がある。

  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]