긴 이야기 짧게하단에.
배경:
CentOS 6.10 프로덕션 서버에서 다음과 같은 일이 발생합니다. 콘솔 기반 파일 브라우저인 Midnight Commander 프로그램을 실행하기 위해 브라우저 기반 터미널 프로그램을 사용합니다. 안타깝게도 이 터미널의 마우스 지원이 올바르게 설정되지 않아 실수로 mv
폴더 내의 여러 파일에 작업을 적용했습니다 /usr/bin
. 실행 파일이 다른 디렉터리로 이동되었습니다. 파일을 다시 이동할 수 있었지만 /usr/bin
모든 것이 복원되었는지 확인하고 싶습니다.
손상된 파일에 대해 테스트합니다.
이동된 실행 프로그램 중 하나가 아직 실행 중인 프로그램입니다. 그것은 알려져 있습니다 dbus-daemon
. 이것이 847
내 컴퓨터의 프로세스 임을 확인할 수 있었습니다 .
실행하면 readlink -f /proc/847/exe
아무것도 반환되지 않습니다.
ls -l | grep exe
/proc/847
내가 얻은 폴더에서 명령을 실행하면
lrwxrwxrwx 1 root root 0 Dec 4 01:01 exe -> \ (deleted)/bin/dbus-daemon
작업 파일을 테스트합니다.
나는 mv
이 작업의 영향을 받지 않는 일반 실행 파일과 비교하기로 결정했습니다. 나는 chrond
같은 결과가 나오는지 확인하기 로 결정했습니다 . 내 컴퓨터의 프로세스입니다 chrond
.1187
내가 실행하면 readlink -f /proc/1187/exe
반환됩니다./usr/sbin/crond
ls -l | grep exe
/proc/1187/
내가 얻은 폴더에서 명령을 실행하면
lrwxrwxrwx 1 root root 0 Dec 4 01:01 exe -> /usr/sbin/crond*
파일을 다시 이동하면 피해를 복구할 수 있기를 바랍니다. 그러나 명령이 예상한 결과를 반환하지 않았습니다.
긴 이야기 짧게내 질문은: 실행 파일을 밖으로 이동하면 /usr/bin/
문제 없이 다시 이동할 수 있습니까? 그렇지 않은 경우 컴퓨터를 안전하게 다시 시작하려면 어떻게 해야 합니까?
답변1
바이너리 파일을 파일 시스템 밖으로 이동했기 때문에 proc
이진 파일이 표시됩니다 . deleted
볼륨 내에서 이동한 경우 proc
새 경로가 나타납니다.
보시는 것은 이번 변경 이후의 정상적인 상황입니다. 아무 문제가 없다는 뜻은 아닙니다. 모든 것이 옳다는 뜻은 아니지만 아마도 그럴 것입니다.