如何为 www-data 设置环境变量?

如何为 www-data 设置环境变量?

我问了一个问题在 dba.se 上了解如何为 Perl CGI 脚本提供访问需要查询的 MySQL 数据库所需的密码。我只收到一个答案,但该答案建议我将密码保存为环境变量。

好的,apache2运行为www-data并根据/etc/passwd,用户的$HOME/var/www

$ grep www /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh

我尝试/var/www/.profile用这条线创建

export db_pass="password"

然后打印我的 Perl 脚本$ENV{"db_pass"},但失败了,变量为空。我查了一下$ENV{PATH},结果按预期打印了。

那么,如何为该用户设置任意环境变量呢?

服务器是在VM上运行的Ubuntu服务器(在Windows上运行,不是我的选择,不要问)。

$ apache2 -version
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Feb 14 2012 16:42:25

答案1

你使用阿帕奇环境变量操作

例如:

SetEnv db_pass swordfish

这可以在 httpd.conf 或 .htaccess 中完成。您还可以设置环境变量重写规则像这样:

RewriteRule someurl - [E=dbpass:swordfish]

相关内容