Applicable to:
- Plesk for Linux
使用方法
以下のコマンドを使用して、スクリプトをダウンロードし、展開し、実行可能にして、サーバ上で実行します。
# wget https://support.plesk.com/hc/article_attachments/115004544309/chroot_update.zip
# unzip chroot_update.zip
# chmod +x chroot_update.sh
# ./chroot_update.sh --help
このコマンドで、以下の "help" メッセージが表示されます。
# ./chroot_update.sh --help
Manage chrooted template in /var/www/vhosts/chroot and apply it to domains.
Usage:
./chroot_update.sh --install
./chroot_update.sh --update
Create default chrooted environment or update existing one
using actual libraries from the system.
./chroot_update.sh --add <path>
Add program to chrooted environment. All linked libraries
will be copied as well. Program will always be put in /bin
directory of chrooted environment.
./chroot_update.sh --devices
Add additional devices to chrooted environment template. List
of devices added includes: /dev/tty, /dev/urandom, /dev/ptmx
and /dev/zero. Useful for some commands like 'rsync', 'ssh' etc.
./chroot_update.sh --remove <domain,...>
./chroot_update.sh --remove all
Remove chrooted environment from specific domains (comma-separated
list) or all domains with enabled chrooted shell if no domains are
given. Useful if full re-initialization of chrooted shell environment
on domain is needed.
./chroot_update.sh --apply <domain,...>
./chroot_update.sh --apply all
Apply new chrooted template to specific domains (comma-separated
list) or all domains with enabled chrooted shell if no domains
are given. This operation is necessary to apply changes done by
'--install', '--add' and '--devices' commands to specific or all
domains.
例 1:SSH を追加する
chroot 環境テンプレートに SSH コマンドを追加するには、以下の手順に従います。
-
chroot 環境テンプレート内に標準デバイスを追加します。
/dev/tty
へのアクセス権がないと、SSH が機能しません。# ./chroot_update.sh --devices
-
SSH ユーティリティ自体を追加します。
# ./chroot_update.sh --add `which ssh`
-
/etc/resolv.conf
ファイルを chroot 環境テンプレートへ手動でコピーします(スクリプトはバイナリおよびそれに依存するライブラリまたはシェルスクリプトの追加のみを意図しているため)。# cp /etc/resolv.conf /var/www/vhosts/chroot/etc/
-
選択したドメインのいずれかに対して(コンマ区切りリスト形式で指定)、あるいは一度にすべてのドメインに、変更を適用します。
# ./chroot_update.sh --apply all
これで、ドメインのユーザとしてログインして SSH を使用できるようになります。
例 2:chroot 環境に PHP を追加する
一部のプログラムは、メインバイナリがリンクされたライブラリだけではなく、構成ファイルとプラグインも必要とします。そのようなプログラムには、たとえば PHP があります。
chroot 環境に PHP を追加してもウェブサイトの PHP スクリプトのセキュリティにメリットはありませんが(PHP スクリプトは Apache または FastCGI/CGI プロセスによって非 chroot コンテキストで実行されるため)、PHP スクリプトの開発やデバッグで有用です。
注: このセクションは、システム PHP のみが対象となり、追加の PHP は対象外となります。
chroot 環境テンプレートに PHP を追加するには、以下の手順に従います。
-
PHP バイナリ自体を追加します。
# ./chroot_update.sh --add `which php`
-
タイムゾーン定義を追加します。これらの定義がない場合、日付/時刻関数を使用すると、PHP が glibc detected php: free(): invalid pointer: 0x00007f11249fccd8 *** エラーを発生させます。
# mkdir /var/www/vhosts/chroot/usr/share
# cp -a /usr/share/zoneinfo /var/www/vhosts/chroot/usr/share -
PHP モジュールを追加します。これらは最初のステップで追加されません。これは、PHP バイナリはこれらのライブラリと動的にリンクされないためです。また、モジュールを追加すると、chroot 環境テンプレートの bin ディレクトリに配置されます。これらは後で削除する必要があります。
# for f in /usr/lib64/php/modules/*.so ; do ./chroot_update.sh --add $f ; done
# rm -f /var/www/vhosts/chroot/bin/*.so注: モジュールディレクトリへのパスは、システムによって異なる可能性があります。サーバのどこに PHP モジュールが保存されているかを確認するには、以下のコマンドを実行します。
# php -i | grep extension_dir
-
chroot 環境テンプレートの正しいディレクトリに PHP モジュールをコピーします。
# mkdir /var/www/vhosts/chroot/usr/lib64
# cp -a /usr/lib64/php /var/www/vhosts/chroot/usr/lib64 -
PHP 構成をコピーします。
# cp -a /etc/php.ini /etc/php.d /var/www/vhosts/chroot/etc
注: 構成ファイルへのパスは、OS に応じて異なる可能性があります。例えば、Debian でのデフォルト Plesk インストールの場合、ロードされた構成ファイルは /etc/php5/cli/php.ini に保存されます。追加の .ini ファイルは /etc/php.d ではなく /etc/php5/cli/conf.d に保存されます。
注: PHP を CGI/FastCGI アプリケーションとして使用するようにドメインをセットアップした場合、この手順は省略することをお勧めします。php.ini は Plesk によって管理されます。PHP 設定を調整するには、 [Websites & Domains]タブ > ドメイン >[PHP Settings] タブに進みます。
-
変更を適用します。
# ./chroot_update.sh --apply all
変更がすべてのドメインに必要ではない場合、以下のコマンドを実行することができます。
# ./chroot_update.sh --apply <domain,...>
注: 特定のユーザのシェルアクセスのタイプが /bin/false に設定されている場合(Plesk GUI では「禁止」)、変更は適用されません
重要なお知らせ
ドメイン所有者の chroot アクセスは、フルサーバアクセスに相当するように設計されていません。パーミッション変更、ファイルのコピー・移動、ファイルに対するテスト検索の実行など、基本的なオぺレーションを実行するのに便利なツールとして設計されています。少数の顧客に対してより多くのソフトウェアを chroot 環境テンプレートに追加する必要があると気付いた場合、ホスティングを専用サーバまたは仮想サーバにアップグレードすることを提案するか検討することができます。
コメント
0件のコメント
サインインしてコメントを残してください。