/usr/bin/*의 소유자가 루트가 아닌 경우에는 어떻게 됩니까?

/usr/bin/*의 소유자가 루트가 아닌 경우에는 어떻게 됩니까?

그냥 내가 망쳤다고 말해!

실수로 /usr/bin에 있는 모든 파일의 소유자를 "root"에서 "dev"로 변경했습니다. 이제 sudo가 작동하지 않습니다! 어떤 명령에든 sudo를 사용하면 다음과 같은 결과가 나옵니다.

sudo: effective uid is not 0, is sudo installed setuid root?

chown명령을 사용하여 소유자를 다시 "루트"로 변경할 수 없습니다 . 이것은 큰 좌절입니다!

가상 머신이므로 복구 콘솔에 액세스할 수 없습니다. 실제로 이 reboot명령을 사용하려면 사용자에게 "루트" 액세스 권한이 필요합니다.

전문가님들, 이미지 재설치 없이 OS를 제어할 수 있도록 도와주세요.

감사해요!

PS - 그럴 수도 있지복사하지만 그를 다시 게시하는 방법은 다시 시작하는 것이었습니다.

추가 정보 -

su - root항상 비밀번호가 틀렸다고 나오네요. 불행히도 그 소유자 su도 "dev"입니다.

GUI를 사용하여 새 사용자를 만들 수 있습니다. 루트 비밀번호를 수락했습니다. visudo를 사용하지 않고 새 사용자에게 루트 액세스 권한을 부여하는 방법

답변1

물리적 보안은 보안입니다. 세 가지 옵션이 있습니다:

  1. 콘솔이나 SSH를 통해 루트로 로그인합니다.
  2. 일반적으로 루트 암호가 필요하지 않은 단일 사용자 모드에서 시작합니다(단, 시스템에 있을 수도 있음).
  3. 다른 운영 체제에서 디스크 이미지를 마운트합니다.

둘 중 하나를 사용하면 디스크에 있는 모든 파일의 소유권을 변경할 수 있습니다. 이 중 아무것도 선택할 수 없다면 운이 없는 것이지만 제어할 수도 없습니다. 콘솔 액세스가 필요한 다른 일(오류 아님)이 발생할 수 있습니다.

답변2

가상 머신을 부팅하고 여러분의 상황을 흉내내지 않고 무엇을 해야 할지 확실히 말할 수는 없지만, 제가 할 수 있는 일은 Live CD/USB 배포판(Knoppix, 기본 Archiso, Gentoo 설치 CD, Porteus)을 부팅하고 그런 다음 손상된 /usr/bin을 사용하여 파일 시스템을 마운트하는 것과 같은 작업을 수행하십시오(아마도 cd /; mkdir /backup; cp /mnt/centos/usr/bin /backup함께 저장하려는 바이너리 chown -hR 0 /backup; chmod 755또는 /를 사용하여 선택한 파일을 복사하십시오. usr/bin의 권한은 다음과 같습니다. /usr/bin을 삭제하십시오)오직뭔가가 손상되었습니다(마지막 명령에 사용된 명령은 복구할 파일 시스템이 /mnt/centos에 마운트된 경우임 rm -r /mnt/centos/usr/bin). 그러면 "And" 행의 내용이 cp /backup /mnt/centos/usr/bin작동할 수 있습니다. 하지만 아직 테스트하기 위해 가상 머신을 시작하지 않았으므로 아직 그렇게 하지 마세요. 만약 너라면할 수 없다파일을 외부 부팅 가능한 미디어로 작동하게 만든 다음 저장하려는 파일을 모두 백업한 후 다시 설치해야 할 것 같습니다. 이 답변이 귀하에게 도움이 되기를 바랍니다.

관련 정보