`sudo는 어떤 PATH를 실행합니까?` 검색용 ``?

`sudo는 어떤 PATH를 실행합니까?` 검색용 ``?

내 홈 디렉토리에 Eclipse를 설치하고 PATH해당 경로를 ~/.profile.

그래서 그것이 작동하는 방식은

$ eclipse 

그러나 으로 호출하면 sudo아무것도 eclipse발견되지 않습니다.

$ sudo eclipse 
sudo: eclipse: command not found

어느 것을 검색 PATH할까요 ? 그것은 사용자 의 것인가 ?sudo eclipseeclipserootPATH

감사해요.

답변1

sudo기본적으로 사용됨가장 작은 PATH, 안전하게 사용할 수 있도록뿌리사용자. 이는 반드시 PATH로그인하여 얻을 수 있는 것과 동일한 결과 는 아닙니다.뿌리사용자 또는 다음을 수행하여

sudo su -

예를 들어 최신 Red Hat 버전에서는 경로가 생략된 것을 발견했습니다 /usr/local/bin.

"라는 제목의 장에 있는 매뉴얼 페이지안전 설명서:

sudo는 외부 명령을 실행할 때 보안을 보장하려고 시도합니다.

환경 변수를 처리하는 방법에는 두 가지가 있습니다. 기본적으로,env_resetsudoers 옵션이 활성화되었습니다. 이로 인해 다음을 포함하는 최소 환경에서 명령이 실행됩니다.TERM, PATH,HOME,SHELL,LOGNAME,USER그리고USERNAMEenv_checksudoers 옵션에서 허용하는 호출 프로시저의 변수 외에 env_keep. 실제로 환경 변수에 대한 화이트리스트가 있습니다.

추가 자료:

  • sudoers - 사용자가 어떤 작업을 수행할 수 있는지 목록

    secure_path
    sudo에서 실행되는 각 명령에 사용되는 경로입니다. sudo를 실행하는 사람이 일반 PATH 환경 변수를 가지고 있다는 것을 신뢰하지 않는 경우 이 방법을 사용할 수 있습니다. 또 다른 용도는 "사용자 경로"에서 "루트 경로"를 분리하려는 경우입니다. 지정된 그룹의 사용자exempt_group옵션은 영향을 받지 않습니다.secure_path. 이 옵션은 기본적으로 설정되어 있지 않습니다.

  • sudo - 다른 사용자로 명령 실행

관련 정보