我正在尝试通过环境变量为脚本提供一个秘密值,但没有将其登录sudo
到auth.log
.
目前我有文件:
/etc/secret-key
export SECRET_CONFIG_KEY=K1PX7MZ8an8H2mRQR
该文件归 root:root (0400) 所有。
使用cron
and sudo
,我可以在用户下运行脚本www-data
,并提供这个值。
5 * * * * root . /etc/secret-key; sudo -u www-data --preserve-env=SECRET_CONFIG_KEY /path/to/script
但是该auth.log
文件随后包含以下行:
Aug 19 18:30:01 server sudo: root : TTY=unknown ; PWD=/root ; USER=www-data ; ENV=SECRET_CONFIG_KEY=K1PX7MZ8an8H2mRQR ; COMMAND=/path/to/script
小组中的任何人都可以阅读adm
,并且每天都通过 LogWatch 给我发电子邮件。
我很高兴考虑其他方法。
主要功能是使用帐户将此秘密值提供给脚本,www-data
其中该帐户仅在需要时才能访问此值(该帐户不应具有对密钥文件的读取权限)。
作为旁注,该www-data
帐户无法编辑其任何脚本,该帐户仅用于运行它们。
您可能应该使用
su
而不是sudo
为此。考虑类似的事情: