잘못된 "chown -R /" 명령을 실행했습니다. 영향을 제거하거나 최소화하려면 어떻게 해야 합니까? [복사]

잘못된 "chown -R /" 명령을 실행했습니다. 영향을 제거하거나 최소화하려면 어떻게 해야 합니까? [복사]

특정 폴더의 소유권을 변경하고 싶은데, 실수를 한 것 같습니다. 다음 명령을 실행합니다.

sudo chown -R ubuntu /

(이것은 내가 있는 폴더만 변경하는 것 같아요)

최종 출력 라인은 다음과 같습니다:

chown: changing ownership of '/proc/2330478/task/2330478': Operation not permitted
chown: changing ownership of '/proc/2330478': Operation not permitted

취소하기 위해 제가 할 수 있는 일이 있나요? 아니면 혼란을 줄일 수 있는 방법이 있나요?

(희극은 백업 메커니즘을 구현하고 있다는 것입니다.) 특정 폴더의 소유권을 변경하여 win_scp를 통해 해당 폴더에 백업 스크립트를 업로드하고 싶습니다. 그래서 지금 나는 당황하고 있습니다. BR

답변1

실행한 명령이 전체 시스템에 대한 권한을 변경하고 있습니다./.

백업이 없으면 전체 시스템을 다시 설치해야 한다는 점을 유감스럽게 생각합니다.

답변2

다른 답변(또는 의견)에서는 운명이 끝났다고 말하지만 외부 장치에서 부팅할 수 있으면 시스템을 복구할 가능성이 높습니다. 이는 실제로 설치가 암호화되었는지 여부, 시스템이 외부 드라이브에서 부팅할 수 있도록 구성되었는지 여부 및 유사한 문제와 같은 요소에 따라 달라집니다. 그렇지 않다면 번거롭고 노력이 필요하더라도 여전히 희망은 있습니다.

복구 기능이 있는 부팅 가능한 USB 드라이브가 몇 개 있지만 그렇지 않은 경우에도 인터넷에서 부팅 가능한 Linux 이미지를 만들거나 다운로드할 수도 있습니다(Linux 배포판의 공식 홈페이지와 같은 신뢰할 수 있는 소스를 권장합니다).

이제 외부 드라이브로 부팅한 후 /tmp/myroot에 내부 "깨진" 루트 시스템을 마운트할 수 있습니다.

# mkdir /tmp/myroot

# mount /dev/[whatever device is your internal root] /tmp/myroot

/tmp/myroot/bin그러면 가장 중요한 실행 파일을 chown하고 설치할 수 있습니다 /tmp/myroot/usr/bin. 이것은 약간 긴 목록이 되겠지만 적어도 /tmp/myroot/bin/sh, /tmp/myroot/bin/login, /tmp/myroot/bin/rpm, /tmp/myroot/bin/chown그 자체와 다른 몇 가지가 필요할 것입니다. 게으른 접근 방식은 일시적으로 이동하고 외부 복구 카탈로그를 복원 중인 내부 시스템에 복사하는 것입니다.

# mv /tmp/myroot/bin /tmp/myroot/damaged-bin

# mv /tmp/myroot/usr/bin /tmp/myroot/usr/damaged-usrbin

# cp -a /bin /tmp/myroot/bin

# cp -a /usr/bin /tmp/myroot/usr/bin

/var/tmp/myroot/var여기에는 복구(현재 로 설치됨 ) 및 다른 디렉토리의 소유권 과 같은 다른 변경 사항도 포함됩니다 . 다시 말하지만, 이 목록은 꽤 길 수 있습니다.

이 작업이 완료되면 최소한의 부팅 가능한 시스템(단일 사용자)을 갖게 되며 다시 부팅할 때 이를 사용하여 rpm --setugids -a모든 시스템 파일 소유권을 복원할 수 있습니다(홈 파일 등을 수동으로 설정해야 함).

이 답변은 시스템을 복구하는 데 사용할 수 있는 방법에 대한 일반적인 아이디어를 제공하기 위한 것입니다. 모든 세부 단계에서는 단일 사용자 모드로 내부 시스템을 부팅하기 위해 더 많은 디렉터리와 파일을 조정해야 할 수도 있습니다.

추신: 백업에서 복원하는 것이 가장 좋은 방법입니다. 이는 배운 교훈입니다. 수동으로 복원한 후에도 이 자동차는 개조된 자동차와 같을 것이며 결코 예전과 같지 않을 것입니다...

행운을 빌어요!

관련 정보