r계열 명령어 사용법
RHEL 기반 리눅스에서의 r계열 명령어의 사용법에 대한 간략한 메뉴얼입니다.


간략하게 r계열 명령어의 사용에 대해서 정리해보도록 하지요.

1. 패키지가 설치되어 있는지 확인

# rpm -qa | grep rsh

위 명령어로 rsh 과  rsh-server 패키지가 설치되어 있는지 확인합니다.

기타 다른 r관련 명령어와 관련된 패키지로는 rusers, rusers-server, rwho등이
있으니 관리상 필요하시면 추가 설치하시면 됩니다.


2. xinetd 설정 확인

/etc/xinetd.d/ 디렉토리 밑에 r로 시작하는 명령어(rexec, rlogin, rsh, rsync)
등의 명령어에 대한 설정이 있을 것입니다.

각각의 파일의 disable = yes 라고 되어있는 부분을  disable = no 로 변경해 주시기 바랍니다.
(rcp의 사용을 위해서는 rsh파일만 수정해주면 되긴 합니다만 여타 다른 r명령어의
사용을 원하신다면 상기 파일 모두를 수정해주시면 됩니다.)


3. xinetd 재시작

/etc/init.d/xinetd restart

위 명령어로 xinetd 를 재시작하여 설정 변경내용을 적용합니다.


4. 확인작업

ntsysv --level 345

위 명령어를 통하여 런레벨 3,4,5번의 r 관련 명령어 항목이 제대로 설정되어 있는지 확인합니다.
혹시나 빠진것이 있다면 그 곳에서 체크표시를 하여 제대로 데몬이 동작하도록 하면 됩니다.
물론 변경 이후에는 xinetd를 재시작하여 설정 변경내용을 적용해주셔야 합니다.
(2번 작업을 생략하고 이곳에서 r계열 명령어의 서비스 기능을 활성화해주셔도 됩니다.)

5. .rhosts 파일 설정

사용하려는 id계정 홈 디렉토리 밑에 .rhosts 파일을 작성해줍니다.

# cat .rhosts

localhost
testserver1
testserver2
192.168.0.20

이런식으로 접속 가능하도록 하려는 호스트명 혹은 ip를 모두 적어주면 됩니다.
물론 .rhosts 파일은 파일 소유자의 권한으로 작성하셔야겠지요.

혹은 다른 방법으로 /etc/hosts.equiv 라는 파일을 하나 생성하는 방법도 있습니다.

# cat /etc/hosts.equiv

localhost    foo bar
testserver    scott tiger
192.168.0.20   root test hello world

이런식으로 맨 앞에 호스트명을 기재해주시고 뒤에 기재한 호스트에서 접속을
허용하려는 id들을 나열해주시면 됩니다.

둘중 편한 방법을 사용하시면 될 것입니다.

이후 보안을 위해서, 그리고 실제로 그냥 생성해서 그대로 사용시 에러가
발생하므로 .rhosts 혹은 /etc/hosts.equiv 파일의 group과 other의 쓰기 권한을 제거합니다.

# chomd go-w /etc/hosts.equiv
혹은
# chmod go-w ~/.rhosts


6. /etc/hosts 파일 설정

사용하려는 호스트들을 모두 /etc/hosts 파일에 넣어줍니다.
이 부분의 설정을 적용하지 않을 시 제대로 호스트명을 가져오지 못하는 경우가
발생하여 실질적으로 ip로 접속할 수 밖에 없게 됩니다.

# cat /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
192.168.0.1           testserver-1
192.168.0.2           testserver-2
192.168.0.3           testserver-3
192.168.0.4           testserver-4


7. root 사용자 r명령어 허용 필요시

root 로그인을 허용하기 위해서 /etc/securetty 라는 파일을 수정합니다.

# cat /etc/securettyconsole

vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
rsh
rlogin

제일 밑에 rsh과 rlogin을 추가해주시면 됩니다.
필요하다면 rcp등도 추가 가능하겠지요.

그리고 기본적으로
/root/.rhosts 파일은 생성해주셔야겠지요.

또한 /etc/pam.d/rsh 와 /etc/pam.d/rlogin을 열어서
pam_securetty.so 에 해당되는 줄을 주석처리해주어야 합니다.
보안을 위하여 root의 rsh 서비스를 막아둔것을 푸는 것입니다.




8. rcp 명령어 보안설정 해제

버전에 따라 다르긴 합니다만 rcp명령어를 사용시에 permission denied 에러가
발생하는 경우가 있을것입니다.

/etc/pam.d/rsh 파일에서 항목 하나를 주석처리 해줍니다.


# cat /etc/pam.d/rsh

#%PAM-1.0
# For root login to succeed here with pam_securetty, "rsh" must be
# listed in /etc/securetty.
auth       required     pam_nologin.so
# auth       required     pam_securetty.so      <- root 보안설정을 위해 주석처리해준것
auth       required     pam_env.so
# auth       required   pam_rhosts_auth.so    <- rcp작업시에 생기는 문제 해결
account    required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth

9. rcp 명령어 사용법
혹시 몰라서 내용 추가합니다.

rcp 사용방법은 다음과 같습니다.

rcp [-r] Source Destination

-r 옵션은 복사할 내용이 파일이 아닌 디렉토리일때 이용합니다.

예를 들면 다음과 같습니다.

ex1> rcp 192.168.0.10:/etc/hosts /etc/hosts
ex2> rcp foo:/tmp/what bar:/tmp/hello

신고



댓글을 달아 주세요

티스토리 툴바