사용자의 홈 디렉터리를 변경해도 아무런 효과가 없습니다.

사용자의 홈 디렉터리를 변경해도 아무런 효과가 없습니다.

루트 사용자에서 사용자로 전환하는 경우(설치 중 자동으로 생성됨)git 자동 배포) 그리고

sudo -u git-auto-deploy /bin/bash항상 다음 오류가 발생합니다.

bash: /root/.bashrc: 권한이 거부되었습니다.

사용자 홈 디렉토리를 생성하고 .profile여기에 다음을 추가했습니다( source또한 이 디렉토리에서 실행 중임).

export HOME=/srv/users/git-auto-deploy

이 명령은 finger git-auto-deploy다음과 같은 출력을 제공합니다.

Login: git-auto-deploy                  Name:
Directory: /srv/users/git-auto-deploy   Shell: /bin/bash
Never logged in.

이 사용자로 로그인하면 env명령이 여전히 잘못된 디렉터리를 나열합니다.

HOME=/root

내가 뭘 잘못했나요?

답변1

사용 sudo -s -H -u git-auto-deploy.

sudo자체적으로는 변경되지 않지만 HOME사용하면 변경되는 값입니다. -H이것이 "권한 거부" 오류가 발생하는 이유입니다. 사용자가 액세스할 수 없는 root(그리고 액세스할 수 없어야 하는) 홈 디렉토리입니다.

-s옵션을 사용하면 sudo지정된 사용자가 로그인 셸로 구성된 모든 셸을 시작할 수 있습니다(즉, 명시적으로 실행할 필요 없이 /bin/bash).

관련 정보