Debian ignoriert PAM-Umgebungsvariablen (Arch hingegen nicht)

Debian ignoriert PAM-Umgebungsvariablen (Arch hingegen nicht)

Ich habe ein seltsames Problem mit meinem Debian-Sid-System. Ich möchte eine globale Umgebungsvariable festlegen /etc/environment, die vom Modul gelesen werden soll pam_env. Leider ist die Variable nach dem erneuten Anmelden im System nicht festgelegt.

Auf einer anderen Arch Linux-Box ist dieselbe Variable etc/environmentwie erwartet definiert. Nur zum Testen habe ich versucht, eine lokale Umgebungsvariable einzurichten .pam_environment, und wieder ist sie unter Debian nicht definiert, während sie unter Arch definiert ist.

Ich verwende GDM unter Debian und SDDM unter Arch als Login-Manager. Was fehlt mir? Welche Konfigurationsdateien (PAM oder GDM) sollte ich mir ansehen?

EDIT: Ausgabe vongrep pam_env /etc/pam.d/*

$ grep pam_env /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/gdm-autologin:session required        pam_env.so readenv=1
/etc/pam.d/gdm-autologin:session required        pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/gdm-launch-environment:session required        pam_env.so readenv=1
/etc/pam.d/gdm-launch-environment:session required        pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/gdm-password:session required        pam_env.so readenv=1
/etc/pam.d/gdm-password:session required        pam_env.so readenv=1 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/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

Antwort1

Für die Nachwelt: Wenn Sie unter Debian hinzufügen

session required        pam_env.so user_readenv=1

dann /etc/pam.d/gdm-passwordwird PAM Ihre Umgebungsvariableneinstellungen tatsächlich anwenden, ~/.pam_environmentwenn Sie sich mit GDM per Passwort anmelden. Wenn Sie sich mit etwas anderem anmelden, suchen Sie unter nach der entsprechenden Datei /etc/pam.d.

verwandte Informationen