%EC%97%90%EC%84%9C%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%9C%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
이와 같이 컨텍스트를 전환하는 방법이 있습니까?
내 특별한 경우에 스크립트는 특정 작업을 수행하는 데 sudo 권한만 필요한 설치 프로그램 설치 후 스크립트였습니다.필요로그인한 사용자는 스크립트 끝에서 LaunchAgent를 실행합니다.
이 에이전트가 sudo 권한으로 시작되면 사용자별 로그 및 기타 리소스(사용자 디렉터리에 위치)에 대한 경로가 왜곡됩니다.
답변1
이것은 나에게 효과적입니다.
USER_NAME=$(printf '%s' "${SUDO_USER:-$USER}")
sudo -u $USER_NAME <command-to-exec-in-nonroot-context>