sudo: "유효 uid가 0이 아닙니다. sudo가 setuid 루트를 설치했습니까?" 라즈베리 파이에서

sudo: "유효 uid가 0이 아닙니다. sudo가 setuid 루트를 설치했습니까?" 라즈베리 파이에서

저는 몇 주 동안 Raspberry Pi를 사용해 왔으며 대학 프로젝트를 위한 모든 것을 구성하는 데 많은 시간을 투자했습니다.

저는 Samba를 설치하고 모든 것을 네트워크 폴더로 갖고 싶었습니다. 나는 sudo chown -R pi:pi /.

이제 내 sudo는 깨져서 sudo: effective uid is not 0, is sudo installed setuid root?실행할 때마다 인쇄됩니다(예: sudo nano).

수리가 가능한가요? 모든 것을 다시 설치할 필요가 없도록 도와주세요. 나는 지난 몇 주 동안 내가 무엇을 했는지 기억조차 나지 않습니다... 너무 많은 일을 했습니다.

답변1

실행하면 sudo chown -R pi:pi /기본적으로 시스템에 있는 모든 파일의 소유권이 손상됩니다.

안타깝게도 귀하의 경우에는 재설치가 가장 쉬운 옵션일 것입니다. 적절한 소유권을 수동으로 복원하는 것은 매우 지루하고 오류가 발생하기 쉽습니다(아마도 다른 컴퓨터를 사용하여). 다시 설치하기 전에 Raspberry Pi의 저장소를 이미징하여 다시 설치한 후 일부 변경 사항을 복원할 것을 권장합니다.

답변2

실행 파일의 비트 setuid는 문제의 파일이 유효 UID를 호출/실행 사용자 대신 소유 사용자의 UID로 변경할 수 있음을 의미합니다.

실행하여 사용자(0이 아닌 UID)가 소유하도록 sudo chwon -R pi:pi /만들었 으므로 유효 UID를 0( )으로 변경할 수 있는지 확인할 때 더 이상 소유하지 않기 때문에 변경할 수 없다는 것을 확인합니다 .sudopisudorootroot

chown root:root이상을 실행하여 복구를 시도할 수 있지만 sudo해당 작업을 수행할 수 있는 권한이 충분하지 않다는 메시지가 표시될 수 있으므로 다시 설치하는 것이 유일한 가능성일 수 있습니다.

답변3

가장 쉬운 방법은 "지난 몇 주" 동안 수정된 모든 파일을 찾아 저장한 다음 다시 설치하고 변경 사항을 다시 적용하는 것입니다.

  1. 복구 디스크를 부팅합니다.
  2. "최근" 변경된 파일 찾기 및 저장 - 해당 파일이 복구 디스크의 루트가 아닌 Pi 시스템의 루트이고 USB 스틱과 같은 안전한 곳에 있는지 cd /mnt/root && tar czvf /mnt/usb/tarball.tgz --newer-mtime='2015-10-01 00:00:00' .확인하세요./mnt/root/mnt/usb
  3. 재설치
  4. 조심스럽게 저장한 파일을 복원하세요 -cd / && tar xzvf /root/tarball.tgz
  5. 재부팅

관련 정보