특정 서비스 사용자가 사용하는 tmp 디렉토리를 변경하는 방법은 무엇입니까?

특정 서비스 사용자가 사용하는 tmp 디렉토리를 변경하는 방법은 무엇입니까?

jenkins특정 사용자( 제 경우) 가 사용하는 임시 디렉터리를 변경하고 싶습니다 .

문제는 이것이 Jenkins 사용자로 실행되는 모든 프로세스에 대해 유효해야 하며 .profile비대화형 로그인이므로 이를 변경하면 작동하지 않는다는 것입니다.

답변1

대부분의 시스템에서는 파일에 환경 변수를 설정할 수 ~/.pam_environment있으며 로그인 셸을 시작하지 않아 로드되지 않는 경우에도 모든 로그인 방법에 적용됩니다 .profile. 파일은 PAM 구성 파일 이나 pam_envPAM 구성 파일 에서 읽습니다. 로그인한 사용자를 위한 서비스의 경우 이 모듈을 언급해야 합니다./etc/pam.conf/etc/pam.d/XXXpam_env

구문은 한 줄에 하나씩 ~/.pam_environment입니다 . VARIABLE=VALUE다른 변수를 인용하거나 참조하는 등의 쉘 구문은 사용할 수 없습니다. 귀하의 경우에는 다음과 같은 줄을 넣을 것입니다

TMPDIR=/somewhere/tmp-for-builds

관련 정보