2011-09-24 6 views
2

forkの後に子プロセスでexec()を使用してバイナリを実行したいが、ファイルへのアクセスを特定のディレクトリのみに制限したい場合、それを行う?安全のために実行時にバイナリを正しく実行する(seteuidなど)

これは、unix/linuxで新しいユーザーを作成し、そのユーザーにuidを設定するか、グループ(たとえばwebapps)を作成してからsetguid?

もちろん、バイナリをそのまま実行することもできますが、セキュリティでいくつかの注意を払うことは決して悪い考えではないようです。

答えて

1

私はchrootを見ています。これは、システムの一部を分離する比較的簡単な方法です。

簡単に言えば、特定のプロセスのルートを変更するので、/ path/to/working/dirはそのプロセスの/になります。もちろん、必要なもの(ユーティリティ、ライブラリ、設定)をすべてこのフォルダに追加する必要があります。

+1

'chroot'は正しく設定するのがかなり難しく、UID0プロセスのルートディレクトリを制限するのに使うことはできません。そのように使われることは決してありません。 –

+0

trueですが、uid 0で誰かを制限するのは何ですか?私は彼のコードがrootで実行されていないと想定しています。私の最初の提案は、セキュリティを強化するため、ルートとして実行しないことです:)ルートの下で実行しなければならない部分を分離し、 – reto

関連する問題