/etc에서 손실된 권한 메타데이터를 복구하는 방법은 무엇입니까? [복사]

/etc에서 손실된 권한 메타데이터를 복구하는 방법은 무엇입니까? [복사]

명령이 잘못 실행되었습니다.

sudo chmod -R 777 /etc/

권한의 올바른 상태를 반환할 수 있는 방법이 있습니까?

답변1

이 답변은 백업이 없다고 가정합니다.

정보(권한 메타데이터)가 시스템에서 손실되므로 외부 소스 없이는 복구할 수 없습니다.

다른 Linux일 수도 있습니다. 가급적이면 귀하의 것과 동일한 배포판을 사용하는 것이 좋습니다.

먼저 모든 디렉터리에 대해 권한을 755로, 모든 파일에 대해 644로 다시 설정합니다. /etc다음 스크립트를 사용하여 이 작업을 수행 할 수 있습니다 .

find -type d -print0|xargs -n 500 -P 1 -0 chmod 755
find -type f -print0|xargs -n 500 -P 1 -0 chmod 644

둘째, 권한 데이터를 텍스트 파일로 덤프합니다.다른 시스템에서명령 사용

find -print 0|xargs -0 -P 1 -n 500 ls -ld|sort -k +9 > permdata_ok.txt

permdata.txt원격 시스템에서 하나를 얻을 수 있습니다 . 정렬이 필요합니다. 이유는 나중에 설명하겠습니다. 이 파일을 원격 시스템에서 로컬 시스템으로 이동합니다.

로컬 시스템에서도 동일한 스크립트를 실행 permdata_ok.txt하되 permdata_bad.txt.

이제 트릭이 나옵니다. 이 파일들을 나란히 비교해 보세요!

명령은 다음과 같습니다 diff -urNw permdata_bad.txt permdata_ok.txt. 개발자가 아닌 경우 출력 구문이 보기에 좋지 않지만 익숙해질 수 있습니다.

파일 모드와 파일의 차이점을 확인할 수 있습니다. 차이가 너무 크면 수동으로 다시 설정하세요.

두 시스템 모두에 모든 파일이 존재하는 것은 아니므로 합리적인 사고가 필요합니다.

시스템이 보안에 민감한 경우 700첫 번째 단계에서 /everything으로 설정하는 것이 가장 좋습니다. 600그러면 앞으로 더 많은 권한 관련 문제가 발생하게 되지만 보안 허점이 발생하지는 않습니다.

답변2

백업이 있는 경우 오래된 것이라도 다음을 사용하십시오 star.

cd /
star -xpU -meta pat=etc* < backup.tar

이렇게 하면 콘텐츠가 복원되지 않고 권한 소유자와 같은 파일의 메타데이터만 복원됩니다...).

동일한 운영 체제 버전의 두 번째 설치가 있는 경우 다음 명령을 사용하여 해당 시스템에서 메타데이터 백업을 수행합니다.

cd /
star -c -meta etc > /tmp/backup.tar

그런 다음 다음 명령을 사용하여 손상된 시스템에서 메타데이터를 추출합니다.

cd /
star -xpU -meta < backup.tar

그래도 안되면 다시 설치해야 합니다...

매뉴얼 페이지를 참조하세요http://schilytools.sourceforge.net/man/man1/star.1.html더 많은 정보를 알고 싶습니다.

@dsstorefile1이 언급했듯이 다른 시스템에서 메타데이터를 복사하는 것은 손상된 시스템에서 누락된 파일에 대한 참조가 없는 경우에만 완전한 솔루션이지만 메타데이터가 복원된 후 /etc/에서 체크인할 수 있습니다. 파일은 손상되었지만 오래된 파일입니다. 회복된 것보다 여전히 777개가 있습니다.

참고: 파일 내용과 모든 메타데이터를 비교할 수 있고 더 중요한 것은 옵션을 사용하여 비교 대상을 구성 할 수 있으므로 star권한을 비교하는 데에도 사용할 수 있습니다 .star -diffstardiffopts=

따라서 다른 유사한 시스템의 백업이 있는 경우 다음을 실행할 수 있습니다.

cd /
star -diff -v diffopts=perm pat=etc* < backup.tar

권한만 비교하세요. 다음을 사용하여 백업을 star -c -dump ...생성 한 경우

cd /
star -diff -vv diffopts=perm,dir pat=etc* < backup.tar

로컬 시스템에 있지만 백업에서 누락된 파일도 나열됩니다.

관련 정보