/etc/environment は Debian Jessie のすべてのユーザーには機能しません。

/etc/environment は Debian Jessie のすべてのユーザーには機能しません。

私はDebian 8.6をインストールしました。すべてのユーザーに対してhttpプロキシ環境変数を設定したいので、/etc/environment次のガイドに従って編集しました。Debian Wiki。ただし、再起動後は、rootユーザーの環境変数のみが設定されます。

私の/etc/environmentコンテンツは次のとおりです。

http_proxy=http://localhost:8123/
https_proxy=http://localhost:8123/
ftp_proxy=http://localhost:8123/
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY=http://localhost:8123/
HTTPS_PROXY=http://localhost:8123/
FTP_PROXY=http://localhost:8123/
NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"

以下で結果を確認します。

echo $http_proxy

rootを使用してrootとしてログインするとsudo su正しい結果(http://localhost:8123/)が表示されますが、通常のユーザーを使用すると変数は設定されません。私もすべての環境変数を確認するためにenv

修正する:

より多くのテストが予定されています。

SET_BY_ETC_ENVIRONMENT="hello"/etc/environmentexport SET_BY_ETC_PROFILE="hello"に、/etc/profileおよびexport SET_BY_HOME_PROFILE="hello"に追加しました/home/perqin/.profile

結果は次のとおりです。

user   | login via                    | SET_BY_ETC_ENVIRONMENT | SET_BY_ETC_PROFILE | SET_BY_HOME_PROFILE
-------|------------------------------|------------------------|--------------------|--------------------
perqin | GUI                          | no                     | no                 | no
root   | GUI                          | no                     | no                 | no
perqin | sudo su in terminal from GUI | yes                    | no                 | no
root   | su in terminal from GUI      | yes                    | no                 | no
perqin | ssh                          | yes                    | yes                | yes
root   | ssh                          | yes                    | yes                | no

したがって、profilesshにログインしたときに実行してください。そしてそれらのどれもGUIに実装されていません!私はDebian 8.6とLXDEデスクトップ環境を使用しています。

12.14 アップデート

出力はgrep pam_env /etc/pam.conf /etc/pam.d/*次のとおりです。

/etc/pam.d/atd:auth required    pam_env.so
/etc/pam.d/cron:# Read environment variables from pam_env's default files, /etc/environment
/etc/pam.d/cron:# and /etc/security/pam_env.conf.
/etc/pam.d/cron:session       required   pam_env.so
/etc/pam.d/cron:session       required   pam_env.so envfile=/etc/default/locale
/etc/pam.d/lightdm:# Load environment from /etc/environment and ~/.pam_environment
/etc/pam.d/lightdm:auth      required pam_env.so envfile=/etc/default/locale
/etc/pam.d/lightdm-autologin:# Load environment from /etc/environment and ~/.pam_environment
/etc/pam.d/lightdm-autologin:auth      required pam_env.so envfile=/etc/default/locale
/etc/pam.d/lightdm-greeter:# Load environment from /etc/environment and ~/.pam_environment
/etc/pam.d/lightdm-greeter:auth      required pam_env.so envfile=/etc/default/locale
/etc/pam.d/login:# file /etc/security/pam_env.conf.
/etc/pam.d/login:session       required   pam_env.so readenv=1
/etc/pam.d/login:session       required   pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/polkit-1:session       required   pam_env.so readenv=1 user_readenv=0
/etc/pam.d/polkit-1:session       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
/etc/pam.d/sshd:# /etc/security/pam_env.conf.
/etc/pam.d/sshd:session    required     pam_env.so # [1]
/etc/pam.d/sshd:session    required     pam_env.so user_readenv=1 envfile=/etc/default/locale
/etc/pam.d/su:# file /etc/security/pam_env.conf.
/etc/pam.d/su:session       required   pam_env.so readenv=1
/etc/pam.d/su:session       required   pam_env.so readenv=1 envfile=/etc/default/locale

関連情報