'sudo chmod 666 /usr' 이후 'sudo'에 대한 권한이 거부되었습니다.

'sudo chmod 666 /usr' 이후 'sudo'에 대한 권한이 거부되었습니다.

나는 큰 실수를 저질렀고 이제 작업장에서는 아무것도 할 수 없습니다. VirtualBox를 시작하려고 했는데 /usr에 실행 액세스 권한이 있다고 불평했습니다. 그런 다음 sudo chmod 666 /usr을 잘못 실행했는데 이제 더 이상 'sudo'를 실행할 수 없습니다.

기술 부서에 문의했는데 Ubuntu에는 루트에 대한 비밀번호가 없으므로 내 오류에 대한 해결책을 볼 수 없지만 Ubuntu를 다시 설치하면 모든 작업이 손실될 수 있다고 합니다.

여러분 중 누구라도 이 문제에 대한 해결책을 생각할 수 있기를 바랍니다. /usr에 다시 액세스하거나 루트 사용자가 되려면 어떻게 해야 한다고 생각하시나요?

답변1

방금 수행했다면 sudo chmod 666 /usr상황은 그다지 나쁘지 않습니다. 상위 /usr디렉터리에 대한 권한만 변경되고 그 안에 있는 하위 디렉터리의 파일은 변경되지 않기 때문입니다.

그러나 재귀 플래그를 추가했다면 -R시스템을 다시 설치하는 것이 거의 확실합니다. 비록 그렇다 하더라도,데이터가 손실될 이유가 없어야 합니다.: 라이브 USB 또는 DVD에서 부팅하고 먼저 거기에서 중요한 파일을 백업할 수 있습니다.

만약에sudo chmod 666디렉토리 를 비재귀적으로만 수행했고 /usr시스템에 물리적으로 액세스할 수 있는 경우 가장 간단한 수정은 다음과 같습니다.

  1. grub 고급 메뉴를 통해 복구 모드로 부팅하고 'Drop to root shell'을 선택합니다.
  2. 읽기-쓰기 모드로 파일 시스템을 다시 마운트하십시오.

    mount -o remount,rw /
    
  3. 명령을 실행하세요

    chmod 755 /usr
    

    하지 않다다른 명령줄 옵션을 추가하고~하지 않다쉘 와일드카드를 사용하십시오.

  4. exit정상적으로 부팅을 계속하려면 입력하세요 .


참고 로 , chmod거주하는 지역은 에 대한 권한의 영향을 받아서는 안 됩니다 . 예를 들어 디렉터리 또는 디렉터리 자체 의 권한 비트를 변경하는 경우 복구 모드에서 실행할 수 없으므로 이 방법은 적합하지 않습니다. 이 경우 가장 좋은 옵션은 아마도 사용 가능한 Linux 배포판의 라이브 CD/DVD/USB를 부팅해야 합니다(Ubuntu일 필요는 없습니다). 손상된 시스템의 루트 장치를 식별하고 마운트합니다( 예: 라이브 시스템에서). 그런 다음 라이브 시스템에서 실행합니다./bin/usr/bin/usr/bin/chomd/mntchmod 755 /mnt/usr

답변2

귀하의 명령이 /usr/bin/sudo에서 SUID-Bit를 제거했을 수 있습니다. 올바른 권한은 다음과 같아야 합니다.

-rwsr-xr-x 1 root root 136808 Aug 17 15:20 /usr/bin/sudo

위의 설명에서 언급한 대로 복구 CD를 구하고 "루트 파티션 찾기" 섹션의 단계를 따라야 합니다. 성공적으로 마운트한 후 다음을 사용하여 SUID-Bit를 설정합니다: chmod 4755 /usr/bin/sudo

관련 정보