반응형

출처: http://gauryan.tumblr.com/post/22510276952/%EB%8B%A4%EB%A5%B8-%EA%B3%84%EC%A0%95%EC%9C%BC%EB%A1%9C-%EB%AA%85%EB%A0%B9-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0


다른 사용자 계정으로 명령을 실행할 수 있는 방법이 다양하게 있는데, 그 중 가장 많이 사용되는 방법을 나열하면 아래와 같다.

$ su - 아이디 -c "명령어1; 명령어2; 명령어3"
$ sudo -u 아이디 "명령어"
$ ssh 아이디@호스트 "명령어"

위와 같은 방법으로 하면 간단하게 실행할 수 있는데, 환경변수가 제대로 먹지 않아서 실행이 안되는 경우가 있다. su, ssh 의 경우, 환경변수를 .bashrc 에 넣어두면 안되고, .profile 이나 .bash_profile 넣어야 된다.

sudo 의 경우는 환경변수 보다는 보안적인 이유로 특정 디렉토리에 있는 파일만 실행되도록 설정되어 있다. /etc/sudoers 파일을 열어서 아래와 같은 부분을 찾아서, 자신이 실행하고자 하는 파일이 존재하는 디렉토리를 포함시켜주면 된다.

Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"


반응형

+ Recent posts