이와 같이 컨텍스트를 전환하는 방법이 있습니까?
내 특별한 경우에 스크립트는 특정 작업을 수행하는 데 sudo 권한만 필요한 설치 프로그램 설치 후 스크립트였습니다.필요로그인한 사용자는 스크립트 끝에서 LaunchAgent를 실행합니다.
이 에이전트가 sudo 권한으로 시작되면 사용자별 로그 및 기타 리소스(사용자 디렉터리에 위치)에 대한 경로가 왜곡됩니다.
답변1
이것은 나에게 효과적입니다.
USER_NAME=$(printf '%s' "${SUDO_USER:-$USER}")
sudo -u $USER_NAME <command-to-exec-in-nonroot-context>