如何更改特定服务用户使用的tmp目录?

如何更改特定服务用户使用的tmp目录?

我想更改特定用户使用的临时目录(jenkins在我的例子中)。

问题是,这需要对以 Jenkins 用户身份运行的任何进程有效,并且更改它.profile不应该起作用,因为这些是非交互式登录。

答案1

在大多数系统上,您可以在文件中设置环境变量~/.pam_environment,它们将应用于所有登录方法,甚至是那些不启动登录 shell 并因此不加载.profile.该文件由 PAM 模块读取pam_env,即 PAM 配置文件/etc/pam.conf/etc/pam.d/XXX用于登录用户的服务应提及该pam_env模块。

的语法~/.pam_environmentVARIABLE=VALUE每行一个。您不能使用任何 shell 语法,例如引用或引用其他变量。在你的情况下,你会放一行像

TMPDIR=/somewhere/tmp-for-builds

相关内容