ITEASY

닫기

추천 검색어
# 클라우드
# VPN
# 무료서비스
# 호스팅
# 이벤트

이전 단계

기술문서

해킹당한 명령어들 rpm 명령으로 (강제) 재설치하기

2007. 09. 05

해킹당한 명령어들 rpm 명령으로 (강제) 재설치하기


해킹을 당하게 되면 주로 root가 시스템관리를 위해서 자주사용하는 아래와 같은 명령어들이 동일한 이름의 다른 명령어로 대체되는 경우가 허다하다.


"/usr/bin"

"/usr/bin/find"

"/usr/bin/last"

"/usr/bin/top"

"/usr/bin/uptime"

"/usr/bin/w"

"/usr/bin/who"


따라서 이런 경우에 이런 명령어들을 재설치해야하는데, 가장 쉬운 방법이 신뢰성있는 ftp등의 사이트에서 rpm 패키지소스를 다시 가져와서 재설치해야 할 것이다.


그런데, rpm -Uvh등으로 재설치를 하려면 패키지의존성 때문에 재설치가 불가한 경우가 많다.


물론, 의존성있는 모든 패키지들을 하나씩 찾아서 재설치해주면 되지만, 보통작업이 아니므로 여기서는 필요한 패키지만을 강제적으로 재설치하는 방법(옵션)을 알아보도록 하겠다.


아래의 예를 보자.


[root@kebia_1 sspark]# rpm -Uvh procps-2.0.7-3.i386.rpm 

package procps-2.0.7-3 is already installed

[root@kebia_1 sspark]# 


위의 예처럼, ps라는 명령어를 재설치하기 위해서 Uvh라는 옵션으로 재설치하려했더니 이미 설치되어 있다고 나왔다.


그래서 rpm -qa라는 명령어로 ps와 관련된 패키지를 찾아서 패키지를 삭제하려 하였다.


[root@kebia_1 sspark]# 

[root@kebia_1 sspark]# rpm -qa | grep ps

pspell-0.11.2-1

tetex-dvips-1.0.7-7

ypserv-1.3.11-9

procps-2.0.7-3

psmisc-19-4

psgml-1.2.1-8

[root@kebia_1 sspark]# 

[root@kebia_1 sspark]# rpm -e procps-2.0.7-3

error: removing these packages would break dependencies:

 procps >= 2.0.6-5 is needed by initscripts-5.49-1

 libproc.so.2.0.7 is needed by rusers-server-0.17-6

[root@kebia_1 sspark]# 


그랬더니, 위와 같이 패키지 의존성에러가 발생한다.

물론, 이 패키지들을 모두 찾아서 재설치할 수도 있으나, 너무 번거로운 작업이다.


이런 경우에 다음의 예와 같이 --force라는 옵션으로 원하는 패키지를 강제적으로 재설치할 수 있다.


[root@kebia_2 /root]# rpm -Uvh --force procps-2.0.7-3.i386.rpm

procps ##################################################

[root@kebia_2 /root]# 


참고로 해당 명령어와 관련된 패키지를 찾는 rpm명령어는 다음과 같습니다. 

예를 들어 ps라는 명령어와 관련된 패키지를 찾으려면 다음과 같습니다. 


[root@kebia_1 sspark]# rpm -qf /bin/ps

procps-2.0.7-3

[root@kebia_1 sspark]# 


이를 점검했다면 이 패키지가 설치했던 파일들을 알아볼 필요가 있겠지요..

다음과 같은 옵션을 사용하면 간단히 볼 수 있죠..


[root@kebia_2 report]# rpm -ql procps-2.0.7-3

/bin/ps

/etc/X11/applnk/Utilities/top.desktop

/lib/libproc.so.2.0.7

/sbin/sysctl

/usr/bin/free

/usr/bin/oldps

/usr/bin/pgrep

/usr/bin/pkill

/usr/bin/skill

/usr/bin/snice

/usr/bin/tload

/usr/bin/top

/usr/bin/uptime

/usr/bin/vmstat

/usr/bin/w

/usr/bin/watch

/usr/share/doc/procps-2.0.7

/usr/share/doc/procps-2.0.7/BUGS

/usr/share/doc/procps-2.0.7/NEWS

/usr/share/doc/procps-2.0.7/TODO

/usr/share/man/man1/free.1.gz

/usr/share/man/man1/oldps.1.gz

/usr/share/man/man1/pgrep.1.gz

/usr/share/man/man1/pkill.1.gz

/usr/share/man/man1/ps.1.gz

/usr/share/man/man1/skill.1.gz

/usr/share/man/man1/snice.1.gz

/usr/share/man/man1/tload.1.gz

/usr/share/man/man1/top.1.gz

/usr/share/man/man1/uptime.1.gz

/usr/share/man/man1/w.1.gz

/usr/share/man/man1/watch.1.gz

/usr/share/man/man5/sysctl.conf.5.gz

/usr/share/man/man8/sysctl.8.gz

/usr/share/man/man8/vmstat.8.gz

[root@kebia_2 report]#


출처 한국소프트웨어진흥원

이전 글 telnet으로 root로그인 가능토록 설정하기

2007. 09. 05

다음 글 PHP 4.4.x + JAVA 설치 방법

2007. 09. 05

목록

무엇이든 물어보세요

아이티이지 전문가가 궁금하신 점을 쉽고 빠르게 해결해 드리겠습니다.

고객센터 1600-8324
내선번호
  • 내선 1 서버 / IDC

  • 내선 2 클라우드

  • 내선 3 관리대행 / ITO

  • 내선 4 도메인

  • 내선 5 보안 서비스 문의

  • 내선 6 문자 / 카카오비즈메시지

  • 내선 7 Microsoft365

  • 내선 8 마케팅/서비스 제휴

  • 내선 9 홈페이지 제작

  • 내선 0 기타서비스

  • 내선 11 긴급 장애

휴일 긴급 연락처010-3124-8320

평일 9:00~18:00 (IDC 긴급 장애처리 24시간 운영)

FAX 02-6264-8321

문의하기