sudo 스크립트(OSX)에서 로그인한 사용자로 어떻게 실행합니까?

sudo 스크립트(OSX)에서 로그인한 사용자로 어떻게 실행합니까?

이와 같이 컨텍스트를 전환하는 방법이 있습니까?

내 특별한 경우에 스크립트는 특정 작업을 수행하는 데 sudo 권한만 필요한 설치 프로그램 설치 후 스크립트였습니다.필요로그인한 사용자는 스크립트 끝에서 LaunchAgent를 실행합니다.

이 에이전트가 sudo 권한으로 시작되면 사용자별 로그 및 기타 리소스(사용자 디렉터리에 위치)에 대한 경로가 왜곡됩니다.

답변1

이것은 나에게 효과적입니다.

USER_NAME=$(printf '%s' "${SUDO_USER:-$USER}")

sudo -u $USER_NAME <command-to-exec-in-nonroot-context>

관련 정보