실수로 /bin
디렉토리를 으로 옮겼습니다 /usr/bin/bin
. 어쨌든 원래 위치로 되돌렸습니다.
# /usr/bin/bin/mkdir /bin
# /usr/bin/bin/mv /usr/bin/bin /
그러면 루트로 로그인할 수 있지만 su
사용자로는 로그인할 수 없고 인증 오류가 발생합니다. 루트로 실행했더니 chmod +s /bin/su
해결 chmod u+s /bin/su
됐네요.
내가 알아차린 또 다른 점은 다음과 같은 ping
오류가 발생한다는 것입니다.
$ ping 192.168.1.1
ping: icmp open socket: Operation not permitted
이것은 내 핑 파일입니다.
-rwxr-xr-x 1 root root 44K Jun 30 20:38 /bin/ping
폴더의 모든 권한과 SGID를 엉망으로 만든 것 같습니다 /bin
. 이 문제를 해결할 방법이 있나요? (포맷 제외)
참고로 저는 Debian 8 64비트를 사용하고 있습니다.
답변1
기본 시스템을 다른 디렉토리로 부팅하겠습니다.
debootstrap --variant=minbase --arch=amd64 jessie /tmp/bootstrap http://ftp.us.debian.org/debian/
그런 다음 권한을 유지하면서 /tmp/bootstrap/bin의 모든 파일을 /bin으로 복사합니다.
cp -a /tmp/bootstrap/bin/* /bin/
/bin에 있는 많은 파일(및 기본 파일)은 이제 문제가 없으며 타임스탬프를 사용하여 어떤 파일이 손대지 않았는지 확인할 수 있습니다(이전 파일에는 잘못된 권한이 있을 수 있음).
나머지는 사용할 수 있습니다
apt-get install --reinstall PACKAGE
권한을 다시 설정하세요.
다음을 사용하여 파일에서 패키지를 찾을 수 있습니다.
dpkg -S /path/to/file
이것은 심지어 스크립트 가능합니다 ...
행운을 빌어요!