web-dev-qa-db-ja.com

Cronはenvファイルを開こうとしています(失敗しています):/ etc / environment

私はDevuan ASCII(多かれ少なかれDebian 9、Stretch)を使用しています)今、私の/var/log/auth.logには次のエントリがたくさんあります。

Jan  6 09:45:01 mybox CRON[20951]: pam_env(cron:session): Unable to open env file: /etc/environment: No such file or directory
Jan  6 09:45:01 mybox CRON[20951]: pam_unix(cron:session): session opened for user root by (uid=0)

これは明らかにsuのときに生成されます。

  1. なぜcron/pam_env/pam_unixは、そのファイルが存在するかどうかを確認するのではなく、最初にそのファイルを開こうとしているのですか?
  2. 彼らが正当にそれを期待するなら、なぜそこにないのですか?
  3. これについて私は何をすべきですか?
5
einpoklum

すべての質問に答える

  1. なぜcron/pam_env/pam_unixがそもそもそのファイルを開こうとしているのですか?

バグ#646015を参照 。場合によっては(ロケール関連のものなど)、このファイルは非推奨です。ただし、システム全体で引き続き使用され、欠落している場合は常にログが作成されます。

  1. 彼らが正当にそれを期待するなら、なぜそこにないのですか?

結局、バグが修正されていない可能性があります。 Steve Langasek( BUG#646015 )はそうであり、新しいシステムはpostinstスクリプトを使用してそのファイルを作成する必要があります。アップグレードされる古いシステムがすでにそのファイルを持っているはずです。

  1. これについて私は何をすべきですか?
  • dpkg-reconfigure libpam-modulesを実行し、postinstスクリプトを通じてファイルが作成されるかどうかを確認します。
  • それが機能しない場合は、touch /etc/environmentを使用して手動でファイルを作成します

Debian/Devuanフォークが発生する前にこの問題が解決されたので、問題の詳細と設定とともにDevuanプロジェクトに問題を報告することも興味深いです。

5
user34720

洗練されていませんが完全に有効なソリューションは、それらのモジュールに必要なものを提供することです。rootとして、実行します

touch /etc/environment

念のため、権限が正しいことを確認するには:

chmod 644 /etc/environment
3
einpoklum