Cronがenvファイルを開こうとしましたが失敗しました:/ etc / environment

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. 私は何をすべきですか?

答え1

すべての質問に答えてください

  1. cron/pam_env/pam_unixが最初にファイルを開こうとするのはなぜですか?

バグ #646015 を参照。場合によっては(ロケール関連のエントリなど)、このファイルは廃止されました。ただし、これはシステム全体で使用され、欠落するたびにログが生成されます。

  1. 彼らが合理的に期待しているなら、なぜそこにいないのですか?

たぶんこのバ​​グがまったく修正されていないかもしれません。スティーブ・ランガチェック(バグ #646015postinst)は、アップグレードしている古いシステムにすでにファイルがある必要があるかのように、新しいシステムがスクリプトを使用してファイルを生成する必要があると言います。

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

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

答え2

エレガントではないが完全に有効な解決策は、これらのモジュールに必要なものを提供することです。つまり、rootとして実行します。

touch /etc/environment

次の場合に備えて、権限が正しいことを確認してください。

chmod 644 /etc/environment

関連情報