내가 달리면 :
sudo chown -R user:user /
그것을 실행하기 전의 상태로 되돌릴 수 있습니까?
답변
한마디로 : 아니오.
백업에서 복원해야합니다. (일부 백업 도구에는 권한 만 복원하는 옵션이있을 수 있으며, 다른 백업 도구는 백업 된 파일을 권한으로 나열 할 수 있으며이를 사용하여 시스템을 수정할 수 있습니다.)
백업이 없으면 수동으로 수정해야합니다.
답변
디렉토리 아래의 모든 파일 및 디렉토리의 사용자 및 그룹 소유권을 알고있는 경우에만 해당됩니다 /
.
그럼에도 불구하고 sudo
명령을 포함하여 루트가 소유해야하는 중요한 시스템 파일의 소유권을 이미 파악했습니다 . 다른 시스템에 하드 드라이브를 마운트해야 할 수도 있습니다. 다른 시스템에는 방금 클로버 한 것과 동일한 UID 및 GID 매핑이 없을 것입니다.
가능하면 전체 하드 드라이브를 복사 한 다음 운영 체제를 다시 설치하십시오. 이 작업을 완료하면 새로 지워진 시스템으로 파일을 다시 복사하고 소유권을 복원 할 수 있습니다. 아래의 모든 것이 /home/foo
user가 소유 foo
하고 있고 각 메일 스풀 파일 /var/mail
이 해당 사용자가 소유하고 있다고 가정 할 수 있습니다 (시스템에 전자 우편이있는 경우). /home
시스템에서 수행 한 작업에 따라에 없는 대부분의 파일을 복원하지 않고도 벗어날 수 있습니다 .
그런 다음 이전에 실행 한 모든 명령을 다시 확인하는 습관을 기르기 시작하십시오.sudo
치기Enter .
답변
배포판이 RPM 기반 인 경우 rpm 패키지로 설치 한 파일 만 복원 할 수 있습니다.
모든 패키지 권한을 복원하려면
rpm --setperms -a
모든 패키지 소유자 (사용자 / 그룹)를 복원하려면
rpm --setugids -a
-a가 실행되지 않으면 bash 루프를 실행할 수 있습니다.
권한 :
for x in $(rpm -qa); do rpm --setperms $x; done
소유자 :
for x in $(rpm -qa); do rpm --setugids $x; done
http://www.sysadmit.com/2016/10/linux-restaurar-permisos-de-un-paquete.html 에서 추출
답변
현재 버전을 저장 한 후 -v 옵션을 사용하여 되돌 리도록 구문 분석 할 수 있습니다.
chown -R nobody:nobody -v /tmp/some_file > /tmp/chown.log
cat /tmp/chown.log
내용은 다음과 같습니다.
changed ownership of `/tmp/some_file' from me:users to nobody:nobody
자주 사용하는 스크립팅 언어와 정규식을 사용하면 번거롭게 되돌릴 수 있습니다 (필요한 경우).
/ etc / shadow 또는 다른 중요한 파일을 노출 시키므로 /에서 재귀 chown을 수행 하지 않는 것이 좋습니다 .
답변
배포판이 rpm 기반 인 경우 :
rpm -a --setperms