rcp 명령
용도
로컬 호스트와 원격 호스트 사이 또는 두 원격 호스트 사이에 파일을 전송합니다.
구문
rcp [ -p] [ -F] [ -k realm ] [-m] {{ User@Host:File | Host:파일 | 파일 } { 사용자@호스트:파일 | 호스트:파일 | 파일 | 사용자@호스트:디렉토리 | 호스트:Directory | Directory } | [ -r] { User@Host:Directory | Host:Directory |Directory } { User@Host:Directory | Host:디렉토리 | 디렉토리 }}
설명
/usr/bin/rcp 명령은 로컬 호스트와 원격 호스트 사이, 두 원격 호스트 사이 또는 동일 원격 호스트의 파일 사이에 하나 이상의 파일을 복사할 때 사용됩니다.
Host 앞에 User@ 매개변수가 접두어로 지정되지 않으면 원격 호스트에서 로컬 사용자 이름이 사용됩니다. User@ 매개변수가 입력된 경우에는 해당 이름이 사용됩니다.
원격 호스트에서 파일 또는 디렉토리의 경로가 지정되지 않거나 완전하지 않은 경우, 경로는 원격 사용자 계정의 홈 디렉토리에서 시작하는 것으로 해석됩니다. 또한 원격 호스트에서 해석되어야 하는 메타문자는\(백슬래시),"(큰따옴표) 또는'(작은따옴표).
- 파일 권한 및 소유권
기본적으로, 기존 대상 파일의 사용 권한 모드와 소유권이 보존됩니다. 일반적으로, 대상 파일이 없는 경우 대상 파일의 권한 모드는 대상 호스트에서 umask 명령(Korn 쉘의 특수 명령)으로 수정된 소스 파일의 권한 모드와 동일합니다. rcp 명령 -p 플래그가 설정되면 소스 파일의 수정 시간 및 모드가 대상 호스트에서 보존됩니다.
원격 호스트에 입력된 사용자 이름은 rcp 명령이 해당 호스트에서 사용하는 파일 액세스 특권을 결정합니다. 또한 대상 호스트 이름에 주어진 사용자 이름은 결과 대상 파일의 소유권 및 액세스 모드를 결정합니다.
- 표준 인증 사용
원격 호스트는 다음 조건 중 하나를 만족하는 경우에만 액세스를 허용합니다.
- 국지 호스트는 원격 호스트 /etc/hosts.equiv 파일에 포함되어 있으며 원격 사용자는 루트 사용자가 아닙니다.
- 국지 호스트 및 사용자 이름은 원격 사용자 계정의 $HOME/.rhosts 파일에 포함되어 있습니다.
$HOME/.rhosts 파일에 대해 임의의 권한을 설정할 수 있지만 .rhosts 파일의 권한을 600(소유자만 읽고 쓰기)으로 설정할 것을 권장합니다.
선행 조건 외에 rcp 명령은 원격 사용자 계정에 비밀번호가 정의되지 않은 경우 원격 호스트에 대한 액세스도 허용합니다. 그러나 보안상의 이유로 모든 사용자 계정에 비밀번호를 사용할 것을 권장합니다.
- Kerberos 5 인증의 경우
원격 호스트는 다음 조건을 모두 만족하는 경우에만 액세스를 허용합니다.
- 로컬 사용자에게 현재 DCE 신임 정보가 있습니다.
- 로컬 및 원격 시스템이 Kerberos 5 인증에 대해 구성되었습니다. (일부 원격 시스템에서는 이 인증이 필요하지 않을 수 있습니다. 디먼이 klogin 포트를 청취해야 합니다.)
- 원격 시스템이 원격 계정에 액세스하기에 충분한 DCE 신임 정보를 승인합니다. 추가 정보는 kvalid_user 함수를 참조하십시오.
- rcp 및 이름 붙여진 파이프라인
rcp 명령을 사용하여 이름 붙여진 파이프라인, 즉 선입선출(FIFO)(mknod -p 명령으로 작성한 특수 파일)을 복사하지 마십시오. rcp 명령은 복사하는 파일에 대해 open 서브루틴을 사용하며, 이 서브루틴은 선입선출(FIFO) 파이프와 같은 블로킹 장치에서 차단합니다.
제한사항
SP Kerberos V4 rcp 실행 경로는 Kerberos가 신임의 전달을 지원하지 않기 때문에 원격에서 원격으로의 복사를 지원하지 않습니다. 이러한 상황에서 수신하는 메시지는 티켓이 없음을 표시하며 로그인하려면 kinit 를 사용해야 합니다. 이 메시지는 원격 소스 머신에서 발행합니다. Kerberos 를 사용하여 원격 대 원격 복사를 수행하는 예제 절을 참조하십시오.
플래그
| 항목 | 설명 |
|---|---|
| -p | 사용자에게 루트 권한이 있거나 대상의 소유자인 경우에만
대상으로 전송된 사본에서 소스 파일의 수정 시간 및 모드가 보존됩니다. 이 플래그가 없으면 대상에서
umask 명령이 대상 파일의 모드를 수정하고, 대상 파일의 수정 시간은 파일이 수신된 시간으로 설정됩니다. 이 플래그가 사용되지 않은 경우 인정되는 파일 모드 생성 마스크(umask)는 적절한 데이터베이스에 저장된 값입니다. 이 값은 umask 명령을 실행하여 설정된 값이 아닙니다. umask 명령의 결과인 권한 및 소유권 값은 데이터베이스에 저장된 값에 영향을 미치지 않습니다. |
| -r | 디렉토리의 경우에만 소스 디렉토리 내의 각 파일과 서브디렉토리가 대상 디렉토리에 순환적으로 복사됩니다. |
| -F | 신임 정보가 전달되도록 합니다. 또한 원격 시스템의 신임 정보가 전달 가능(다른 원격 시스템으로 전달 허용)으로 표시됩니다. 이 플래그는 Kerberos 5가 현재 인증 메소드가 아니면 무시됩니다. 현재 DCE 신임 정보가 전달 가능으로 표시되지 않은 경우, 인증이 실패합니다. |
| -k 영역 | 원격 스테이션의 영역이 로컬 시스템 영역과 다른 경우 사용자가 원격 스테이션 영역을 지정할 수 있게 합니다. 이를 위해 영역은 DCE 셀과 비슷합니다. 이 플래그는 Kerberos 5가 현재 인증 메소드가 아니면 무시됩니다. |
| -m | 파일 이름에서 메타문자를 지원합니다. |
매개변수
| 항목 | 설명 |
|---|---|
| 호스트:파일 | :(콜론)으로 구분된 원격 대상 파일의 호스트
이름(Host) 및 파일 이름(File)을
지정합니다. 주: rcp 명령은: (콜론) 이 호스트 이름을 종료한다고 가정하므로 로컬 파일 및 디렉토리 이름에 임베드된 콜론 앞에\(백슬래시) 를 삽입해야 합니다.
|
| 사용자@호스트:파일 | rcp 명령이 전송된 파일의 소유권, 호스트 이름 (Host) 및 원격 대상 파일의 파일 이름 (File) 을 설정하는 데 사용하는 사용자 이름 (User@) 을 지정합니다. 원격 호스트에 입력된 사용자 이름은 rcp 명령이 해당 호스트에서 사용하는 파일 액세스 특권을 결정합니다. |
| file | 로컬 대상 파일의 파일 이름을 지정합니다. |
| 호스트:디렉토리 | 호스트 이름(Host)과 원격 대상 디렉토리의
디렉토리 이름(Directory)을 지정합니다. 주: rcp 명령은: (콜론) 이 호스트 이름을 종료한다고 가정하므로 로컬 파일 및 디렉토리 이름에 임베드된 콜론 앞에\(백슬래시) 를 삽입해야 합니다.
|
| 사용자@호스트:Directory | rcp 명령이 전송된 파일의 소유권, 호스트 이름 (Host) 및 원격 대상 디렉토리의 디렉토리 이름 (Directory) 을 설정하는 데 사용하는 사용자 이름 (User@) 을 지정합니다. 원격 호스트에 입력된 사용자 이름은 rcp 명령이 해당 호스트에서 사용하는 파일 액세스 특권을 결정합니다. |
| 디렉토리 | 로컬 대상 디렉토리의 디렉토리 이름입니다. |
종료 상태
이 명령은 다음과 같은 종료값을 리턴합니다.
| 항목 | 설명 |
|---|---|
| 0 | 정상적으로 완료되었습니다. |
| > 0 | 오류가 발생했습니다. |
보안
- 로컬 사용자 ID가 인증 데이터베이스에서 프린시펄로 나열되었으며, 인증 티켓을 확보하기 위해 kinit를 수행했습니다.
- $HOME/.klogin 파일이 있는 경우, 이 파일은 대상 시스템에서 로컬 사용자의 $HOME 디렉토리에 있어야 합니다. rsh를 이 계정에 넣을 수 있는 사용자 또는 서비스뿐만 아니라 로컬 사용자도 나열되어야 합니다. 이 파일은 로컬 .rhosts 파일과 유사한 기능을 수행합니다. 이 파일의 각 행에는 "principal.instance@realm" 형식의 프린시펄이 있어야 합니다. 생성하는 사용자가 .klogin에서 이름 붙여진 프린시펄 중 하나로 인증된 경우, 계정에 액세스 권한이 부여됩니다. 계정의 소유자는 .klogin 파일이 없는 경우에 액세스 권한이 부여됩니다.
보안상의 이유로 모든 $HOME/HOME/.klogin 파일은 원격 사용자가 소유해야 하며, AIX® 소유자 ID만.klogin에 대한 읽기 및 쓰기 권한(권한 = 600)을 가지고 있어야 합니다.
RBAC 사용자 및 Trusted AIX 사용자 주의사항: 이 명령은 특권 조작을 수행할 수 있습니다. 특권 사용자만 특권 조작을 실행할 수 있습니다. 권한 부여와 특권에 대한 자세한 정보는 보안의 특권 명령 데이터베이스를 참조하십시오. 이 명령과 연관된 특권 및 권한 부여 리스트는 lssecattr 명령 또는 getcmdattr 부속 명령을 참조하십시오.
예
다음 예에서, 로컬 호스트는 원격 호스트에 있는 /etc/hosts.equiv 파일에 나열됩니다.
- 국지 파일을 원격 호스트로 복사하려면 다음과 같이 입력하십시오.
파일localfile로컬 호스트에서 원격 호스트로 복사됩니다.host2.rcp localfile host2:/home/eng/jane - 한 원격 호스트에서 다른 원격 호스트로 원격 파일을 복사하려면 다음을 입력하십시오.
파일/home/eng/jane/newplan원격 호스트에서 복사됨host1원격 호스트에host2.rcp host1:/home/eng/jane/newplan host2:/home/eng/mary - 국지 호스트의 디렉토리 서브트리를 원격 호스트로 전송하고 수정 시간 및 모드를 보존하려면 다음과 같이 입력하십시오.디렉토리 서브트리report 로컬 호스트에서 사용자의 홈 디렉토리로 복사됩니다.jane원격 호스트에서host2모든 모드 및 수정 시간이 보존됩니다. 원격 파일 /home/jane/.rhosts에는 로컬 호스트 및 사용자 이름을 지정하는 항목이 포함됩니다.
- 이 예는 대상과 서버 둘 다에서 인증이 Kerberos 4인 경우
루트 사용자가 원격 호스트에서 rcp를
실행할 수 있는 방법을 보여줍니다. 루트 사용자는 인증 데이터베이스에
있어야 하며, 로컬 호스트에서 이미 kinit가 실행되었어야 합니다. r05n07의 파일,
내용을 SP의 noder05n05로 복사하는 명령이 국지 호스트에서 발행됩니다.
루트 사용자는 KRBTKTFILE 환경 변수를 임시 티켓 캐시 파일의 이름으로 설정한 후 rcmdtgt 명령을 실행하여 서비스 티켓을 얻습니다. rcp는 서비스 티켓을 사용하여 호스트 r05n07에서부터 호스트 r05n05까지 인증합니다./usr/lpp/ssp/rcmd/bin/rsh r05n07 'export KRBTKTFILE=/tmp/rcmdtkt$$; \ /usr/lpp/ssp/rcmd/bin/rcmdtgt; \ /usr/lpp/ssp/rcmd/bin/rcp /tmp/stuff r05n05:/tmp/stuff;'
파일
| 항목 | 설명 |
|---|---|
| $HOME/.klogin | 로컬 사용자 계정을 사용할 수 있는 원격 사용자를 지정합니다. |
| /usr/lpp/ssp/rcmd/bin/rcp | 적용 가능한 경우 SP Kerberos 4 rcp 루틴을 호출하는 AIX Secure /usr/bin/rsh 에 링크하십시오. |
전제조건 정보
개요는 ' IBM® ' ' AIX'을 위한 병렬 시스템 지원 프로그램 ' : 관리 가이드의 보안 관련 장을 참조하세요. 이 서적은 웹 사이트 http://www.rs6000.ibm.com/resource/aix_resource에서 볼 수 있습니다.
자세한 Kerberos 정보는 AIX IBM 병렬 시스템 지원 프로그램: 명령 및 기술 참조의RS/6000 SP 파일 및 기타 기술 정보" 섹션을 참조하십시오. 이 서적은 웹 사이트 http://www.rs6000.ibm.com/resource/aix_resource에서 볼 수 있습니다.