cron 実行時の環境変数
cron から送られるメールのヘッダには「X-Cron-Env」という行があって、これでコマンド実行時の環境変数を知ることができる。
X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <MAILTO=ao> X-Cron-Env: <HOME=/home/ao> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=ao> X-Cron-Env: <USER=ao>
新規ユーザを作って $HOME を空にしてログインしたときの環境変数:
$ env USER=noprofile MAIL=/var/mail/noprofile HOME=/home/noprofile TERM=kterm-color LOGNAME=noprofile BLOCKSIZE=K PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/noprofile/bin SHELL=/bin/sh FTP_PASSIVE_MODE=YES
MAIL、BLOCKSIZE、FTP_PASSIVE_MODE は /etc/login.conf で設定されていた。
残りは login(1) によって設定されるらしい。
su - でログインしたときもほぼ同じになるが、LOGNAME が定義されていないという違いが。