rsh를 이용하여 원격지 서버의 특정 명령어 실행하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,748 조회
- 0 추천
- 목록
본문
rsh를 이용하여 원격지 서버의 특정 명령어 실행하기
rsh명령어로 로그인 하지 않은 상태에서 원격서버의 특정 계정명으로 특정명령어를 실행하려면 대상이 되는 원격서버의 /etc/xinetd.d/rsh파일이 정확하게 설정되어 있어야만 합니다.
즉, rsh명령어는 xinetd환경에서 실행되며 xinetd데몬은 rsh에 대한 설정을 /etc/xinetd.d/rsh파일에서 참조하기 때문에 이 파일에 대한 설정을 확인해야 한다는 것입니다.
아래의 예는 필자가 사용하고 있는 리눅스 시스템에 /etc/xinetd.d/rsh파일의 예를 든 것입니다.
특히 이 파일에서 disable항목이 yes로 설정되어 있는 것이 기본설정이므로 아래와 같이 no로 설정해 주시기 바랍니다.
그리고 위의 /etc/xinetd.d/rsh파일의 마지막 부분의 server항목으로 설정되어 있는 /usr/sbin/in.rshd에 대한 파일은 rsh를 받아서 처리하게 될 데몬프로세스 파일로서 실제로 존재하는가를 아래와 같이 확인해 보시기 바랍니다.
그리고 앞에서 말씀 드렸듯이 rsh는 xinetd환경에서 실행이 되므로 xinetd데몬이 실행되어 있어야 합니다.
아래와 같이 ps명령어로 xinetd프로세스가 실행 중인가를 확인하시기 바랍니다.
만약 xinetd프로세스가 실행되어 있지 않다면 아래와 같이 xinetd를 실행(재실행)시켜주시기 바랍니다.
/etc/rc.d/init.d/xinetd는 xinetd데몬을 실행,중지,재시작시키는 스크립트파일입니다.
아래의 예는 필자의 리눅스 시스템에서 xinetd를 재시작한 것입니다.
아래의 예에서 restart대신에 start라고 하시면 xinetd를 실행함을 의미하고, stop이라고 하면 실행된 xinetd를 중지하게 됩니다.
그리고 rsh명령어로 원격서버에서 명령어를 실행하도록 허용하기 위해서는 /etc/hosts.allow파일과 /etc/hosts.deny파일에 접근허용이 되어 있어야만 합니다.
아래의 예는 테스트로 사용하고 있는 필자의 리눅스 시스템에 설정된 /etc/hosts.allow파일과 /etc/hosts.deny파일의 예입니다.
아래는 /etc/hosts.allow파일의 설정예입니다.
원격서버에서 지정한 명령어가 실행 가능하도록 허용하려면 허용할 서버의 IP주소가 192.168.0.100이므로 위의 예에서 “ALL : 192.168.0.100”으로 설정을 해 둔 것입니다.
즉 192.168.0.100서버에 이 서버로 원격쉘(remote shell)인 rsh를 이용하여 명령어 실행을 허용하기 위한 필수 설정입니다.
다음은 /etc/hosts.deny파일의 설정예입니다.
지금까지 설명 드린 것은 rsh명령어로 원격서버에 지정한 명령어를 실행 가능하도록 허용할 서버의 설정에 관한 내용이였습니다.
관련자료
-
이전
-
다음