버클리 r-명령

Berkeley r-commands
버클리 r-명령
개발자버클리 캘리포니아 대학교 컴퓨터 시스템 연구 그룹
초기 릴리즈1981년 6월; 40년(1981-06)
운영 체제유닉스 및 유닉스 유사
유형명령 스위트 룸
면허증BSD

버클리 r-commands는 한 유닉스 시스템의 사용자가 TCP/IP 컴퓨터 네트워크를 통해 다른 유닉스 컴퓨터에 로그인하거나 명령을 내릴 수 있도록 설계된 컴퓨터 프로그램 모음입니다.[2]r-명령어는 1982년 버클리 캘리포니아 대학컴퓨터 시스템 연구 그룹에 의해 TCP/IP(인터넷 프로토콜 스택)의 초기 구현에 기초하여 개발되었다.[3]

CSRG는 그들의 유닉스 운영 체제인 BSD(Berkeley Software Distribution)에 r 명령을 통합하였다.r-commands는 BSD v4.1에서 초연되었다.[3]제품군의 프로그램에는 다음이 포함된다.rcp(원격 복사),rexec(원격 실행),rlogin(원격 로그인)rsh(원격 쉘),rstat,ruptime그리고rwho(원격 who).[3][4]

r-commands는 중요한 혁신이었고, Unix 운영 체제의 사실상의 표준이 되었다.[5][6]인터넷의 대중적 채택이 확대되면서 이들의 고유한 보안 취약성이 문제가 되었고,[7] 1995년 Secure Shell 프로토콜과 애플리케이션의 개발로 시작하여 네트워크 시스템에 r-명령(및 텔넷)의 배치와 사용을 전적으로 대체하였다.[8]

인증

개요
서비스 항구 운송 Refs
고객 데몬
rcp rshd. 514 TCP
렉시크 렉시브드 512 TCP [9]
rlogin rlogind 513 TCP [10]
rsh rshd. 514 TCP
rstat rstatd. UDP
파열시키다 호들갑 513 UDP [11]
누가 [10][11]

rlogin을 제공하는 오리지널 버클리 패키지도 rcp(원격 복사, 네트워크를 통해 파일 복사 가능)와 rsh(원격 쉘, 사용자가 로그인하지 않고도 원격 컴퓨터에서 명령을 실행할 수 있음)가 특징이다.이들은 host.equiv 및 .rhosts 액세스 제어 체계를 공유한다(다른 데몬, rshd에 연결되지만).

명령

rlogin

rlogin 사용자가 TCPnetwork 포트 513을 사용하여 컴퓨터 네트워크를 통해 다른 서버에 로그인할 수 있도록 한다.

rlogin은 또한 TCP/IP 프로토콜 제품군의 일부인 소프트웨어에서 사용하는 애플리케이션 계층 프로토콜의 이름이다.인증된 사용자는 컴퓨터에 물리적으로 존재하는 것처럼 행동할 수 있다.RFC 1282가 정의한 RFC 1282에는 다음과 같이 명시되어 있다: "rlogin 시설은 출력을 적절히 플러싱하는 원격 에칭 로컬 플로우 제어 가상 터미널을 제공한다." rlogin은 원격 호스트에서 데몬, rlogind와 통신한다. rlogin은 텔넷 명령과 유사하지만 사용자 정의가 가능하지 않고 Unix와 유사한 호스트에만 연결할 수 있다.

rsh

rsh는 로그인 절차 없이 원격 컴퓨터에서 을 연다.일단 연결되면 사용자는 셸의 명령줄 인터페이스를 통해 원격 컴퓨터에서 명령을 실행할 수 있다.rsh는 입력과 출력을 표준 스트림을 통해 전달하고, 표준 출력을 사용자의 콘솔로 전송한다.네트워크를 통해 표준 입력과 표준 아웃이 TCP 포트 514를 통해 흐르는 반면, 표준 오차는 rsh 데몬(rshd)이 여는 다른 TCP 포트를 통해 흐른다.[12]

렉시크

rsh와 마찬가지로 rexec은 사용자가 원격 컴퓨터에서 셸 명령을 실행할 수 있도록 한다.그러나 rsh 서버와 달리, 렉스ec 서버(rexived)는 로그인을 요구한다: 네트워크 소켓에서 사용자 이름과 비밀번호(암호화되지 않음)를 읽음으로써 사용자를 인증한다.[13] rexec은 TCP 포트 512를 사용한다.

rcp

rcp는 로컬 시스템에서 원격 시스템으로, 원격 시스템에서 로컬 시스템으로, 또는 원격 시스템에서 다른 시스템으로 파일 또는 디렉터리를 복사할 수 있다.[14]cp와 rcp의 명령줄 인수는 유사하지만 rcp에서 원격 파일의 앞에 원격 시스템의 이름이 붙는다.

rcp 파일.txt subdomain.domain:~/집/foo/파일.txt

유닉스 copy 명령 cp와 마찬가지로 rcp는 대상의 동일한 이름의 기존 파일을 덮어쓴다. cp와는 달리 대상 파일을 덮어쓰기 전에 사용자에게 경고하는 메커니즘을 제공하지 않는다.[14]rsh와 마찬가지로 rcp는 TCP 포트 514를 사용한다.[15]

누가

who 명령어가 로컬 유닉스 시스템에 로그인한 사용자를 나열하는 것처럼 rh는 로컬 네트워크의 모든 다중 사용자 유닉스 시스템에 로그인한 사용자를 나열한다.[16]rwho의 데몬인 rwhod는 로컬 네트워크에 있는 Unix 시스템의 상태에 대한 데이터베이스를 유지 관리한다.데몬과 그 데이터베이스도 파열 시간 프로그램에 의해 사용된다.[17]

rstat

rstat는 커널에서 성능 통계를 반환한다.

파열시키다

바로 그.uptime명령어는 마지막 재시작 이후 Unix 시스템이 실행된 시간을 보여준다.ruptime로컬 네트워크의 모든 컴퓨터에 상태 보고서를 요청하십시오.그런 다음 가동 시간 보고서를 반환한다.컴퓨터가 제한 시간 내에 응답하지 않으면 시스템이 다운되었다고 보고한다.[18]이 정보는 daemon rwhod에 의해 추적되고 저장되며 rwho 명령에서도 사용된다.[17]

보안

사용자 인증(rcp, rexec, rlogin 및 rsh)과 관련된 r- 명령은 다음과 같은 몇 가지 심각한 보안 취약성을 공유한다.

  • 암호를 포함한 모든 정보는 암호화되지 않은 채 전송된다(간섭에 취약하게 만든다).
  • .rlogin(또는 .rhosts) 파일은 오용하기 쉽다.암호 없이 로그인할 수 있도록 설계되었지만 원격 사용자 이름, 호스트 이름 및 IP 주소에 대한 의존은 악용 가능하다.이러한 이유로 많은 기업 시스템 관리자는 .rhosts 파일을 금지하고 있으며, 위반자를 위해 네트워크를 적극적으로 조사한다.
  • 프로토콜은 부분적으로 소스 포트와 소스 호스트 이름을 포함한 정보를 정직하게 제공하기 위해 원격 파티의 rlogin 클라이언트에 의존한다.따라서 rlogin 프로토콜은 다른 컴퓨터의 ID를 인증할 수단이 없거나 신뢰할 수 있는 컴퓨터의 요청 클라이언트가 실제 rlogin 클라이언트인지 확인할 수 없기 때문에 손상된 클라이언트는 이를 위조하고 액세스 권한을 얻을 수 있다.
  • NFS를 통해 사용자의 홈 디렉토리를 마운트하는 일반적인 관행은 가짜 .rhosts 파일을 통해 공격하기 위해 rlogin을 노출한다. 이는 NFS의 보안 장애 중 하나가 rlogin을 자동으로 괴롭힌다는 것을 의미한다.

이러한 문제들로 인해, r-commands는 상대적인 불용에 빠졌다(많은 유닉스 및 리눅스 배포판에는 더 이상 기본적으로 포함되어 있지 않음).이전에는 rlogin과 telnet에 의존했던 많은 네트워크들이 SSH와 rlogin 등가 슬로긴으로 그들을 대체했다.[19][20]

참고 항목

메모들

  1. ^ W. 리처드 스티븐스, TCP/IP 일러스트레이티드, 제1권: 프로토콜, 애디슨 웨슬리, 1994, ISBN 0-201-63346-9.
  2. ^ Horwitz, Jeff (2003) [2002]. "Using the Berkeley r-commands Without a Password". Unix System Management: Primer Plus. Sams Publishing. p. 339. ISBN 978-0-672-32372-0. Retrieved 2018-03-04 – via Google Books.
  3. ^ a b c McKusick, Marshall Kirk (1999). "Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable". Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates. Section: "4.2BSD". ISBN 978-1-56592-582-3. Retrieved 2018-03-03.
  4. ^ Pyles, James; Carrell, Jeffrey L.; Tittel, Ed (2017). "Which IP Services Are Most Vulnerable?". Guide to TCP/IP: IPv6 and IPv4 (5th ed.). Cengage Learning. p. 659. ISBN 978-1-305-94695-8 – via Google Books.
  5. ^ Casad(2008) 페이지 346
  6. ^ Negus, Christopher (2004-07-02). "About "r" Commands". Red Hat Fedora Linux 2 Bible. Wiley. ISBN 0-7645-5745-9. OCLC 441918216. Retrieved 2018-03-04.
  7. ^ "A Case Study of Using a Secure Network Layer Protocol". CiteSeerX 10.1.1.178.8497. {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)
  8. ^ https://dash.harvard.edu/bitstream/handle/1/16781951/sshVsTelnetWeb3.pdf?sequence=1[bare URL PDF]
  9. ^ "REXEC command—Execute a command on the remote host and receive the results on your local host". z/OS Communications Server: IP User's Guide and Commands. 2013 [1990]. Retrieved 2018-03-04.
  10. ^ a b "More on Ports". FreeBSD Network Administrators Guide. Retrieved 2018-03-04.
  11. ^ a b Casad(2008), 페이지 350~51
  12. ^ Edwards, Wade; Lancaster, Tom; Quinn, Eric; Rohm, Jason; Tow, Bryant (2004). CCSP: Secure PIX and Secure VPN Study Guide. Sybex. p. 154. ISBN 0-7821-4287-7. Retrieved 2018-03-07 – via Google Books.
  13. ^ "rexecd(8)". manpagez.com. Retrieved 2018-03-03.
  14. ^ a b Farrell, Phillip (3 August 2004). "rcp". earthsci.stanford.edu. Stanford University School of Earth, Energy & Environmental Sciences. Retrieved 2018-03-06.
  15. ^ "Rlogin, RSH, and RCP". SourceDaddy. Retrieved 2018-02-18.
  16. ^ "rwho (1) - Linux Man Pages". Retrieved 2018-03-07.
  17. ^ a b "rwhod (8) - Linux Man Pages". Retrieved 2018-03-07.
  18. ^ "ruptime (1) - Linux Man Pages". SysTutorials. Retrieved 2018-03-07.
  19. ^ Sobell, Mark (2010). A Practical Guide to Linux Commands, Editors, and Shell Programming. Pearson Education, Inc. ISBN 978-0-13-136736-4.
  20. ^ "Unix job control command list". Indiana University. Retrieved 20 December 2014.

참조

추가 읽기

외부 링크