원래 구성 파일이 있는 sudo

원래 구성 파일이 있는 sudo

루트 권한으로 애플리케이션을 실행해야 하는데 애플리케이션이 원래 사용자의 프로필에 액세스해야 합니다. 따라서 sudo로 애플리케이션을 실행하면 애플리케이션이 제대로 실행되지 않습니다.

원래 로그인한 사용자의 프로필을 계속 사용하도록 루트 권한으로 애플리케이션을 시작하려면 어떻게 해야 합니까?

맥 OS X 10.10 입니다

답변1

응용 프로그램은 일반적으로 환경 변수가 나타내는 디렉터리에서 각 사용자 파일을 읽습니다 HOME.

기본적으로 sudo 값은 변경되지 않으므로 HOME여전히 원래 사용자의 홈 디렉터리를 가리킵니다. 이를 대상 사용자의 홈 디렉터리로 변경하기 위해 sudo에 대한 여러 옵션이 있으므로 그 중 어느 것도 켜져 있지 않은지 확인하십시오.

  • always_set_home파일에서 이 옵션을 설정 하지 마십시오 sudoers.
  • env_reset옵션을 설정한 경우 해당 옵션을 목록 HOME에 포함하세요.env_keep
  • -H또는 명령줄 옵션을 -s전달 하지 마십시오 .-i

하나의 명령에 대한 옵션을 설정하려면 sudoers다음과 같은 것을 사용하십시오.

Defaults !myapp env_keep+=HOME,!always_set_home

변수가 유지되지만 애플리케이션이 그곳을 찾지 못하는 경우 , 홈 디렉토리에서 유효한 UID를 찾는 대신 변수 HOME에 주의를 기울이도록 지시하는 애플리케이션별 방법을 찾아야 합니다 .HOME

응용 프로그램이 루트로 실행되도록 요구하지만 실제 사용자에게 속한 파일을 읽는 것은 일반적이지 않습니다. 어쩌면 이러한 파일이 시스템 구성 디렉터리에 있어야 할까요?

관련 정보