Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#24731 - [cronie] Cronie don't read environement variables (pam_env.so)

Attached to Project: Arch Linux
Opened by Romain Labolle (ravomavain) - Wednesday, 15 June 2011, 09:05 GMT
Last edited by Gaetan Bisson (vesath) - Wednesday, 15 June 2011, 11:24 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Gaetan Bisson (vesath)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Cronie don't read environment variables from /etc/environment or /etc/security/pam_env.conf
Those files are normally read by pam_env.so module, adding the following line at the beginning of /etc/pam.d/cron seems to fix the problem :
auth required pam_env.so

By the way, since /etc/pam.d/cron don't have any "auth" entry and already have a "session" for pam_env.so, this may be a pam bug (I don't know much about pam modules).

Additional info:
* package version(s)
cronie 1.4.7-8
pam 1.1.3-1
* config and/or log files etc.


Steps to reproduce:

I added some variables to /etc/environment, for example :
LANG=en_EN.UTF-8

I used the following command to dump environment variables (in /etc/cron.d/test):
* * * * * root perl -e 'foreach $c (keys %ENV) {print "$c \t".$ENV{$c}."\n";}'

Which returned something like that :
HOME /root
LOGNAME root
SHLVL 1
MAILTO root
_ perl -e 'foreach $c (keys %ENV) {print "$c \t".$ENV{$c}."\n";}'
PATH /sbin:/bin:/usr/sbin:/usr/bin
SHELL /bin/bash
PWD /root
USER root
This task depends upon

Closed by  Gaetan Bisson (vesath)
Wednesday, 15 June 2011, 11:24 GMT
Reason for closing:  Fixed
Additional comments about closing:  cronie-1.4.7-9 in [testing]
Comment by Gaetan Bisson (vesath) - Wednesday, 15 June 2011, 10:19 GMT
Nice catch!
The session entry for pam_env.so is never used because cronie gets the PAM environment before it opens a PAM session. That's a design choice for cronie, but a bug in our /etc/pam.d/crond. :)
I'll put a new package in [testing] soon.
Comment by Gaetan Bisson (vesath) - Wednesday, 15 June 2011, 10:22 GMT
By the way, nice perl script, but there is also the /usr/bin/env binary. :)
Comment by Romain Labolle (ravomavain) - Wednesday, 15 June 2011, 10:27 GMT
Was looking for something to dump env variables, and this script is the first thing google gave me.
I always thought /usr/bin/env was only used in shebang ^^

Loading...