sudo -H가 HOME 변수를 설정하지 않는 이유는 무엇입니까?

sudo -H가 HOME 변수를 설정하지 않는 이유는 무엇입니까?

방금 Manjaro(Arch Linux 기반)를 사용하기 시작했는데 재미있는 일이 발생했습니다.

$ sudo env | grep HOME
HOME=/root
$ sudo -H env | grep HOME
HOME=/root

매뉴얼 페이지를 보고 sudo내 홈 디렉토리가 실제로 에 있는지 확인했습니다 /etc/passwd. 제가 이해한 바에 따르면 위의 두 번째 명령의 출력은 다음과 같습니다.~해야 한다/home/laurence. 내가 무엇을 놓치고 있나요?

답변1

매뉴얼 페이지는 다음과 sudo같이 씁니다.

-H, --set-home 보안 정책이 HOME환경 변수를 대상 사용자의 비밀번호 데이터베이스 항목에 지정된 홈 디렉토리로 설정하도록 요청합니다. 정책에 따라 이는 기본 동작일 수 있습니다.

여기서 핵심은 -H설정하는 것 입니다.타겟 사용자메인 디렉토리. 호출하면 sudo env대상 사용자가 유추됩니다 root. (비슷한 것을 사용하면 sudo -u john -H env홈 디렉토리를 얻게 됩니다 john.)

관련 정보