루트 사용자에서 사용자로 전환하는 경우(설치 중 자동으로 생성됨)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
).