방금 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
.)