Một số người đã trả lời rằng nó /etc/environment
bị lỗi và / hoặc không được sử dụng trong Debian nữa, và điều này là (như ở phiên bản 7) sai.
Tệp thực sự được đọc bởi PAM - cụ thể pam_env(8)
, thông qua mặc định cho envfile
cờ. Trang này cũng nêu mặc định này trong phần PHIM.
Các wiki được trích dẫn (đặc biệt là miền địa phương) chỉ nêu rõ rằng các biến môi trường dựa trên miền địa phương hiện có nghĩa là được đặt trong /etc/profile
. Tuyên bố của họ "(trong các phiên bản cũ hơn của Debian, cũng / etc / môi trường)" là mơ hồ và nằm trong bối cảnh của các địa phương.
Một grep nhanh thông qua các /etc/pam.d
chương trình:
root@box:/etc/pam.d# grep pam_env.so *
atd:auth required pam_env.so
cron:session required pam_env.so
cron:session required pam_env.so envfile=/etc/default/locale
login:session required pam_env.so readenv=1
login:session required pam_env.so readenv=1 envfile=/etc/default/locale
sshd:auth required pam_env.so # [1]
sshd:auth required pam_env.so envfile=/etc/default/locale
su:session required pam_env.so readenv=1
su:session required pam_env.so readenv=1 envfile=/etc/default/locale
Những dòng cấu hình đó là phụ gia, và như là dòng đầu tiên bị thiếu envfile
, do đó nó được mặc định là /etc/environment
.
Tất cả điều này, tất nhiên, phụ thuộc vào bất kỳ nhị phân nào bạn đang sử dụng ( crond
, shell đăng nhập, v.v.) được biên dịch theo PAM.
Cuối cùng, điều này ngụ ý rằng các hệ thống khác sử dụng PAM (ví dụ RedHat), hoạt động tương tự, như có thể thấy trong trang chủ tương ứng của nó.