![특정 사용자로 전환할 때마다 스크립트를 어떻게 실행할 수 있나요?](https://linux55.com/image/126976/%ED%8A%B9%EC%A0%95%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C%20%EC%A0%84%ED%99%98%ED%95%A0%20%EB%95%8C%EB%A7%88%EB%8B%A4%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
~/.bash_login에 실행하려는 스크립트를 넣었지만 다른 사용자에서 이 사용자로 전환하면 작동하지 않습니다.
이런 파일이 또 있나요? 다른 건 없나요?
답변1
"사용자로 전환"하는 방법에 따라 다릅니다. 이 파일은 쉘이 로그인 쉘로 시작될 때 사용되지만 .bash_profile
그 외에는 사용되지 않습니다.bash
따라서 를 사용하는 경우 sudo
해당 플래그를 사용하여 사용자를 전환할 때 로그인 셸을 얻어야 합니다 -i
.
-i
,--login
대상 사용자의 비밀번호 데이터베이스 항목에 지정된 쉘을 로그인 쉘로 실행합니다. 이는 쉘이 로그인별 리소스 파일(예: 또는 )을 읽는다는 의미입니다
.profile
..login
[...]
이것은 의미한다
sudo -i -u otheruser
당신에게 도움이 될 수도 있습니다.
이는 bash
실제로 사용자에 대해 로그인 쉘이 지정되었다고 가정합니다./etc/passwd
otheruser
답변2
/home/username/.bashrc에 스크립트를 포함시킵니다.
테스트를 거쳐 잘 작동함
다음은 샘플 예입니다.
cat.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
sh /tmp/l.sh =====>[ its a script which is going to execute when you logged in to this user]
fi
# User specific aliases and functions