Web パブリッシング ルーチンから FTP を根絶しようとしており、サーバーに Mercurial をインストールしました。私はしばらくの間、サーバー上のさまざまなユーザー アカウントにライブ リポジトリをプッシュしてきましたが、個々のサーバー ユーザー アカウントも chroot 環境にロックしたいと考えています。
問題は、chroot を使用してアカウントをロックダウンすると、そのアカウントは hg バイナリにアクセスできなくなり、更新を実行できなくなることです。
この記事を参照して、hg バイナリとさまざまな python ファイルを chroot 内のディレクトリにコピーしました: https://www.mercurial-scm.org/wiki/OpenBsdWebDirSetup
ただし、これは CentOS に固有のものではなく、レイアウトの一部が少し異なります。この回答にあるように、ユーザーの .profile に行を追加することで、Python エラーを修正できました: Python 実行可能ファイルが libpython 共有ライブラリを見つけられない
そして今、少なくとも私は hg から応答を得ていますが、その応答は次のとおりです:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "/bin/hg", line 10, in <module>
import os
ImportError: No module named os
ライブラリが間違った場所にある場合、それを修正するために .profile に入れることができるものはありますか、それともファイルを移動する必要がありますか?
/lib と /lib64 にあるすべてのファイルは、アカウントを chrooted ステータスに切り替えたときに Plesk によって作成されたものですが、上記のチュートリアルのすべてのファイルがすべて存在し、ldd からの出力と一致することを確認しました。