匿名質問者

SSH ログイン可能な chroot ユーザーにcronの操作をさせたいのですが、どうしてもうまくいきません。

どなたかお知恵をお借しください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/05/03 12:10:03

ベストアンサー

匿名回答1号 No.1

通常、ユーザ毎の crontab は /var 以下にあると思いますが、chroot していると /var 以下にアクセス出来ません。
正確には /var として見えるのは chroot 前の /var とは異なり、どこか別のディレクトリ以下の var です。chroot とはそうやってファイルを保護する仕組みです。
それでも cron を使えるようにするには4つ方法があると思います。

  1. 元々の /var と chroot 後の /var が同じファイルシステムであればハードリンクを作る
  2. unionfsのような別ディレクトリをマウントして透過的に扱える仕組みを利用する
  3. 元々の crontab を chroot 後の場所へ移動して元々の所にシンボリックリンクを作る
    • もしかしたらダメかもしれない
  4. chroot 環境でも cron を動かす

4番目以外は、cron の実行自体は chroot 環境下ではないため、せっかくの chroot 環境に穴を開けることになります。
4番目は比較的安全な気がしますが、万が一でも root の crontab ファイルが置き換えられないよう、パス各過程でのパーミッションなどに気を使う必要があるかもしれません。

匿名質問者

回答ありがとうございました!たいへん勉強になりました!まだうまくはいっていませんが、4の方法で実装する方向でいろいろ調べてながら進めております。また、何かありましたら宜しくお願いします。

2013/04/30 08:35:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません