사용자가 루트 디렉토리를 서브 디렉토리로 이동했거나 머신이 응답하지 않는 경우


2

특히 내 특수 사용자가 실수로 다음과 같은 파일을 이동하라는 명령을 실행했습니다.

mv /* /home/ubuntu/GS14K/

이로 인해 일련의 오류가 발생했습니다.

mv : /bin' to/ home / ubuntu / GS14K / bin '을 이동할 수 없습니다 : 권한이 거부되었습니다

mv : /boot' to/ home / ubuntu / GS14K / boot를 이동할 수 없습니다 ': 권한이 거부되었습니다

mv : /dev' to/ home / ubuntu / GS14K / dev를 이동할 수 없습니다 ': 권한이 거부되었습니다

원하는 대로이 오류가 나타났습니다.

mv : /mnt' to/ home / ubuntu / GS14K / mnt '를 이동할 수 없음 : 장치 또는 리소스 사용 중

mv : /proc' to/ home / ubuntu / GS14K / proc '를 이동할 수 없음 : 장치 또는 리소스 사용 중

그런 다음 SSH가 작동을 멈추고 다시 들어올 수 없었습니다. 둘 중 하나도 상자에 액세스 할 수 없습니다.

AWS VM이므로 강제로 중지했다가 재부팅했지만 머신은 다시 켜지지 않습니다. 기계가 죽었을 수도 있지만 원인이 무엇인지 알고 싶습니다.

편집 : 나는 이것을 Ububtu에서 실행하고 있었고 사용자는 당시에 루트가 없었 으므로이 명령을 실행하여 이와 같은 작업을 수행하는 방법에 대해 궁금합니다.


이 사용자에게 루트 권한이 있습니까? 루트가 아닌 사용자는 파괴적인 변경을 일으킬 수 없습니다. 머신 외부의 데이터가 필요하고 EBS 지원 인스턴스 인 경우 스토리지 장치를 다른 VM에 연결하여 복구 할 수 있습니다.
qasdfdsaq 2016 년

고마워, 그리고 그것은 실제로 내가 한 일입니다. 사용자는 루트를 가지고 있지 않았기 때문에 그들이하는 것처럼 움직일 수 있다는 것에 놀랐습니다. 연결된 드라이브 / home /을 보면 시스템 폴더가 완전히 엉망입니다.
monkeymatrix

1
특히 특수한 사용자 표현 으로 +1 . 당신은 정말로 용서하는 유형입니다.
MariusMatutiae 2016 년

루트 액세스 권한이 없으면 (또는 sudo를 통해 루트에 액세스 할 수 없음) 사용자가에서 파일을 이동할 수 없었습니다 /. 그들이 그러한 액세스 권한을 가지고 있지 않다고 100 % 확신합니까? 물론 이것은 당신이 (즉, 루트가 아닌 사용자에 대한 액세스를 쓰기) 홀수 권한을 가진 모든 시스템 파일을 사용하지 않은 가정 ...
mjturner

답변:


2

부트 장치가 디스크 인 경우 BIOS는 부트 로더가 디스크의 MBR에 존재할 것으로 예상하므로 부트 로더 구성에 지정된 장치 위치에서 커널을로드하려고합니다. 아마도 이것은 / boot / kernel-image 일 것입니다. 이제 모든 것을 / home /으로 옮겼으므로 부트 로더는 더 이상 커널 이미지를 찾지 못합니다. 또한 grub, 부트 로더의 경우 2 단계로로드되고 첫 번째 단계는 MBR에 있고 두 번째 단계는 장치 위치에 다시 지정되므로 부트 로더의 2 단계조차도 그렇지 않을 가능성이 있습니다 하중

여기서 더 읽을 수 있습니다


당신이 옳지 만 더 나은 설명이 필요합니다. 입력 한 명령으로 MBR 또는 EFS를 재배치하지 않고 커널을 재배치하지 않았으므로 / etc / grub이 이동 된 것으로 의심되므로 GRUB 2 단계 로더가 필요한 것을 찾을 수 없어 작동하지 않습니다. 구성 파일. 네트워크를 통해 시스템을 부팅하거나 livedvd를 사용하여 부팅 복구를 사용하여 그럽을 복구 할 수 있습니다. 나는 당신이 이미 그것을 시도했지만 작동하지 않았다고 생각합니다. / etc /에도 nvram 데이터가 있으므로 매우 중요합니다. 한 번 확인하십시오.
Tamoghna Chowdhury 2016 년

@TamoghnaChowdhury라는 설명에 감사드립니다. MBR 또는 EFS가 이전 될 것이라는 의미는 아닙니다. 커널은 부팅 로더가 메모리에로드되도록 부팅 장치 (이 경우 디스크)에 상주합니다. 따라서 부트 로더가 grub 인 경우 grub.cfg는로드 할 커널 목록 및 각 커널의 위치에 대한 정보를 보유합니다. 기본적으로 커널의 위치는 / boot 아래에 있으므로 부트 로더는 압축 된 커널을 메모리에로드하고 압축을 해제 할 수 있습니다 (다시 아치에 따라 다름).
ukesh upendran 2016 년

2
루트가없는 사용자가이를 달성 할 수 있습니까?
monkeymatrix

@monkeymatrix 원칙적으로, 아닙니다. 직접 시도해보십시오. / bin과 같은 명령을 일반 사용자로 옮기면 Permisison denied가 적용됩니다. 이것은 부팅 파일과 일반 명령 모두에 적용됩니다.
MariusMatutiae 2016 년

0

재부팅이 발생 하기 전에 컴퓨터가 응답 멈 췄기 때문에 커널 이미지 이동이 원인이라고 확신하지 않습니다. 사용자는 처음에이 파일에 액세스 할 수 없어야 합니다. 그렇지 않으면 전체 시스템 보안이 손상됩니다. wait4 ()를 호출 하고 재부팅 할 때 루트 액세스제공 하는 패치 된 커널 이미지를 작성하십시오 .

이 특별한 사용자가 시스템 구성 파일의 일부에 영구적으로 액세스 할 수 /etc있습니까? 이들 중 몇 가지를 제거하면 부팅 프로세스가 쉽게 중단되고 실행중인 시스템이 손상 될 수 있습니다.

세부 사항없이 더 정확한 답변을 제공하기는 어렵습니다. 예를 들어 "SSH 작동 중지"라고 말하면 활성 세션이 강제로 닫혔거나 사용자가 로그 아웃했다가 다시 로그인 했습니까? "기계가 돌아 오지 않을 것"이라고 말하면 정확히 어떻게됩니까? 콘솔에 메시지가 있거나 전혀 없습니까?

궁극적으로 파일 시스템을 검사하여 누락 된 파일을 확인해야합니다. 특정 사용자가 정확히 어떻게 발을 쐈는지 공식 소스는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.