「chroot」の版間の差分
提供: セキュリティ
行1: | 行1: | ||
− | + | [[chroot]] とは、ルートディレクトリ を変更する[[システムコール]]、または、コマンドです。[[chroot]]は、チェンジ ルート(CHange ROOT)の略です。 | |
− | + | ||
− | + | ||
− | [[chroot]] | + | |
'''読み方''' | '''読み方''' | ||
− | ;[[chroot]]: | + | ;[[chroot]]:しーえいち るーと |
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[chroot]] は、ルートディレクトリを指定されたディレクトリに変更します。コマンド・プロセスは、新しいルートディレクトリの中に閉じ込められます。 | [[chroot]] は、ルートディレクトリを指定されたディレクトリに変更します。コマンド・プロセスは、新しいルートディレクトリの中に閉じ込められます。 | ||
アクセスを最小化するためのセキュリティの機能です。 | アクセスを最小化するためのセキュリティの機能です。 | ||
行17: | 行13: | ||
特定のディレクトリをルートディレクトリにすることで、「プロセスが影響を及ぼせる範囲」を最小化できます。 | 特定のディレクトリをルートディレクトリにすることで、「プロセスが影響を及ぼせる範囲」を最小化できます。 | ||
− | |||
== chroot システムコール == | == chroot システムコール == | ||
− | + | [[chroot]] システムコールは、カレントディレクトリに影響を及ぼさないため、別途 chdir ("/") を呼び出す必要があります。 | |
− | [[chroot]] システムコールは、カレントディレクトリに影響を及ぼさないため、別途 | + | |
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
行28: | 行22: | ||
chroot(const char *dirname); | chroot(const char *dirname); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== chroot コマンド == | == chroot コマンド == | ||
− | |||
[[chroot]] コマンドは、カレントディレクトリとルートディレクトリを新しいディレクトリ(newroot) に変更し、 command を実行します。 | [[chroot]] コマンドは、カレントディレクトリとルートディレクトリを新しいディレクトリ(newroot) に変更し、 command を実行します。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
chroot [-u user] [-g group] [-G group,group,...] newroot [command] | chroot [-u user] [-g group] [-G group,group,...] newroot [command] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[sshd]] | * [[sshd]] | ||
* [[sftp]] | * [[sftp]] | ||
* [[jail]] | * [[jail]] | ||
+ | <!-- vim: filetype=mediawiki | ||
+ | --> |
2015年9月22日 (火) 13:50時点における最新版
chroot とは、ルートディレクトリ を変更するシステムコール、または、コマンドです。chrootは、チェンジ ルート(CHange ROOT)の略です。
読み方
- chroot
- しーえいち るーと
概要
chroot は、ルートディレクトリを指定されたディレクトリに変更します。コマンド・プロセスは、新しいルートディレクトリの中に閉じ込められます。 アクセスを最小化するためのセキュリティの機能です。
ルートディレクトリを変更することにより、ルートディレクトリとなったディレクトリ上の階層には、アクセスできません。 /home/chroot に対して chroot した場合、 /home/chroot が / になります。プロセスは、 / の上には、アクセスができません。
特定のディレクトリをルートディレクトリにすることで、「プロセスが影響を及ぼせる範囲」を最小化できます。
chroot システムコール
chroot システムコールは、カレントディレクトリに影響を及ぼさないため、別途 chdir ("/") を呼び出す必要があります。
#include <unistd.h> int chroot(const char *dirname);
chroot コマンド
chroot コマンドは、カレントディレクトリとルートディレクトリを新しいディレクトリ(newroot) に変更し、 command を実行します。
chroot [-u user] [-g group] [-G group,group,...] newroot [command]