Debian ですべての (nologin およびログインシェル) ユーザーの環境変数を追加する方法

Debian ですべての (nologin およびログインシェル) ユーザーの環境変数を追加する方法

環境変数の設定方法みんなユーザーログインしていない場合でも

特に、ユーザースクリプトとWebサーバーで使用されるパスを含むenv変数を設定したいと思います(www-dataはnologinシェルユーザーであるため、PAMの/ etc / environmentまたは/ etc / profileなどの利点はありません)。良い)

ベストアンサー1

基本初期化システムを使用しているとします。

https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html

基本環境=

実行されるすべてのプロセスに渡される管理者環境変数を設定します。スペースで区切られた変数割り当てのリストを取得します。環境変数の詳細については、Environ(7) を参照してください。

例:

DefaultEnvironment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6"

3つの変数「VAR1」、「VAR2」、「VAR3」を設定します。

ここで、「実行されたすべてのプロセス」とは、systemd で実行されるすべてのプロセスを意味します。通常、すべてのプロセスはsystemdによって開始されるか、そのプロセスの子プロセスです。しかし注意してください。それ以外の場合は、システムを復元するためになどを使用する必要がありますinit=/bin/sh:-).

一部のプロセスは、環境変数を消去するか、それを置き換える割り当てを行うことができます。私の考えでは、ユーザーログイン(PAM?)が重要な例になるようです。

あなたが言ったように、pam_env/ override all PAM sessionを使うことができます/etc/environment

おすすめ記事