2011-12-22

다른 계정으로 명령 실행하기

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

$ 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"

댓글 없음:

댓글 쓰기