다른 사용자의 환경 변수를 볼 수있는 방법이 있습니까? 루트로 그렇게하고 싶습니다. 그래서 권한은 문제가되지 않습니다.
사용자 자신을 위해 echo $PATH
또는 set | grep PATH
(또는 set
변수 이름을 기억하지 못하는 경우)을 사용합니다. 다른 사용자에게 유사한 지침은 무엇입니까?
가치가있는 것은 Ubuntu Server 13.04입니다.
답변
다른 옵션은을 사용하는 것 env
입니다. 이것을 다음과 같이 실행하십시오 root
.
sudo -Hiu $user env | grep $var
예를 들어
sudo -Hiu terdon env | grep HOME
HOME=/home/terdon
답변
한 사용자의 경우 다음과 같이 할 수 있습니다.
su - <username> -c '. ~/.profile; echo $PATH'
모든 사용자의 $ PATH를 나열하십시오.
for user in $(cat /etc/passwd | awk -F: '{print $1}'); do
su - $user -c '. ~/.profile; printf "%s\n" "$PATH"'
done
@Camil Staps
. ~/.profile
내가 좋아하는 사람, Peteris Krumins에게서 배우는 속임수입니다. 그는 여기 트릭을 설명했다 . 어쩌면 나중에 bash 버전은 option으로 빌드되었을 것 NON_INTERACTIVE_LOGIN_SHELLS
입니다.
답변
루트 su -
에서 사용자에게 할 수 있고 보려는 환경 변수를 grep하십시오.
su - <username> -c 'echo $PATH'