sudo: "유효 uid는 0이 아닙니다. sudo가 Raspberry Pi에 setuid 루트를 설치했습니까?"

sudo: "유효 uid는 0이 아닙니다. sudo가 Raspberry Pi에 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. 재시작

관련 정보