/etc/crontabが環境でHOME = /を設定するのはなぜですか? [閉鎖]

/etc/crontabが環境でHOME = /を設定するのはなぜですか? [閉鎖]

/etc/crontab多くのRedHat(EL / Fedora)ベースのディストリビューションのシステムcrontabに次の行が含まれていることがわかりました。

ホームページ=/

この構成は、インターネット上の多くの文書/例にも表示されているように見え、削除されるまで何年もこの方法で存在していたようです。2010RPMバージョン1.10-34おそらくDebian /その他のインストールにも同様の設定があります。読者が同じ構成を持つディストリビューションについて明確なアイデアを持っている場合は、コメントを追加してください。ここでテキストを拡張します。

私がここで私に尋ねる質問は次のとおりです。
システムcrontabでHOMEをファイルシステムルートに設定する技術的な理由は何ですか?私は技術理論にのみ関心があり、可能であれば、この構成が特定のディストリビューションに長年存在しているかどうか、意見ではなく歴史的な理由に興味があります。この構成を削除すると、標準の以前のリリースでどのような問題が発生するのか疑問に思います。おそらく、これらの理由が削除されたアップストリームバージョンに存在しなくなったり、構成を削除した人がこの修正された根本的な問題を認識していない可能性があります。

私は最近、HOME=/EL6システムからこの構成を削除して問題を解決しました。これが解決するよりも多くの問題を引き起こす可能性があると思ったので、解決するのに役立つ可能性があるすべての状況に興味を持ち、それを取り除くことで自分自身を開くことができました。

背景として、問題はcronトリガーmysqladminコマンドがそれを無視し始めているようです。ホームディレクトリにあるものとは~/.my.cny異なるMySQLのインストールまたはアップデートを使い始めるようです。他の人が同様の問題に遭遇した場合に備えて、この内容を追加します。おそらく、この情報を使用してより速い解決策を見つけることができます。$HOME/.my.cnf.my.cnf/etc/passwd

ベストアンサー1

デーモンは通常、特定chdir("/")の(リモートでマウントされた)ディレクトリから起動しないように1つ以上の操作を実行するため、そのディレクトリの削除または再インストールは不必要に複雑になります。クローンジョブはHOME=/これを模倣する可能性があるため、ランダム(潜在的に長期実行)ジョブは不要に配置されません。 (もちろん、~/.my.cnfこれは必要でリモートインストールディレクトリにある場合は不要な脆弱性です。いつネットワークまたはリモートシステムがダウンすると、cron操作が不十分になります。 )

OpenBSDでは、rootcrontabファイルは実際には次のように設定されます。

HOME=/var/log

基本的に。設定がどこから来たのかわからないので、ホームディレクトリが何であるかをテストしたい、またはそれを知らせるcronタスクを作成するには(そして、cronがスパムを送信する前にそのディレクトリを削除したことを確認してください):

* * * * * /bin/pwd

返品!構成ファイルへのパスを正規化すると、環境設定がローカルディレクトリのローカルファイルに漏洩するか、ローカルファイルから漏洩し、誤った設定ファイルを選択するのを防ぐのに役立ちます。

(歴史的には、ファイルはroot特定の種類のUNIXにのみ存在/し、/root他の場所には存在せず、すべてが他の場所にもインストールできました。その時点でディスクははるかに高価です...)

おすすめ記事