나는 실행을 시도 chmod -R 777 ./
했지만 전체 컴퓨터에서 입력 chmod -R 777 /
하고 설정 777
했습니다. 무엇이 잘못 될 수 있습니까? 어떻게 고칠 수 있습니까?
나는 실행을 시도 chmod -R 777 ./
했지만 전체 컴퓨터에서 입력 chmod -R 777 /
하고 설정 777
했습니다. 무엇이 잘못 될 수 있습니까? 어떻게 고칠 수 있습니까?
답변:
문제? 예, 많이 요 고칠 수 있습니까? 확실한. 다시 설치하는 것보다 빠릅니까? 아마 아닙니다.
내 권장 사항은 다시 설치하는 것입니다. 기존 시스템의 백업을 유지하고, 패키지 목록에있는 파일의 내용을 복원 /etc
하고 /var
. 의 경우 /usr/local
권한을 수동으로 복원 할 수 있습니다. 의 경우 /home
와/srv
, 당신은 백업에서 권한을 복원해야합니다.
로컬 사용자가 여러 명인 시스템 인 경우 일부 파일을 세계적으로 읽을 수있게하면 기밀로 유지해야 할 사항이 있음을 참고하십시오.
실제로 복구 (실제 복구 경로보다 더 많은 학습 연습)를 시도하려면 먼저 몇 개의 파일의 권한을 복원하십시오. 현재 대부분의 파일이 너무 열려 있지만 일부 setuid 비트 가 누락되었습니다 . 다른 작업보다 먼저 수행해야 할 단계는 다음과 같습니다. 이 목록은 완전한 목록이 아니며 시스템을 거의 기능적으로 만들려는 시도에 불과합니다.
chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail
그런 다음 모든 권한을 모든 곳에서 복원해야합니다. 아래 /usr
에있는 파일 의 경우 배포에 따라 다음 명령 중 하나를 사용하여 패키지를 다시 설치할 수 있습니다.
apt-get --reinstall install
pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman
하는 경우 Live CD에 있고 Arch 설치가에 설치되어 있다고 가정 하여 실행할 수 있습니다 /newarch
./etc
및 아래에있는 파일의 /var
경우 작동하지 않습니다. 많은 파일 이 그대로 남아 있습니다. 작업중인 설치에서 권한을 복제해야합니다. /srv
및 아래에있는 파일의 경우 /home
어쨌든 백업에서 복원해야합니다. 보시다시피, 다시 설치할 수도 있습니다.
처음에는 눈치 채지 못할 수도 있지만 많은 일이 잘못 될 수 있습니다. 주요 문제는 전체 시스템의 전체 보안 모델이 손상되었다는 것입니다. 피부가없는 몸, 공기 중 장기가있는 것과 같습니다. 그것은 그런 기능을하기위한 것이 아니기 때문에 감염 될 수밖에 없습니다. 몇 분 동안 작동하는 것 같더라도이를 정리해야합니다.
가장 좋은 방법은 실제로 처음부터 시작하는 것입니다. 이렇게하면 위험을 크게 줄이고 시간을 단축 할 수 있습니다.적절한 백업이 있다면 너무 많은 경험을해서는 안됩니다.
정리를 시도하는 경우 주된 방법은 배포 파일 패키지 관리자에게 구성 파일 덮어 쓰기를 포함하여 시스템에 모든 것을 다시 설치하도록 지시하는 것입니다. 그런 다음 살펴보아야 할 검증 시스템을 사용하고 평범하지 않은 권한을 가진 파일로 플래그가 지정되지 않았는지 확인하십시오. 그런 다음 사용자 홈 디렉토리와 같은 작업을 수행하고 모든 권한을 제자리에있는 권한으로 재설정 한 다음 특수 권한이 필요한 몇 가지 작업 (ssh 키 파일 등)을 통해 작업합니다. 마지막으로, 777로 표시된 모든 항목에 대해 전체 시스템을 찾고 목록을 살펴보고 (다른 단계를 철저히 수행 한 경우 크기가 작아야 함) 하나씩 진행하여 작업 방식을 그대로 유지하십시오.
솔루션 : 나는 이것을 CENTOS에서 테스트했습니다.
이 사람은 내 직업을 구했다! (어쨌든 액세스해야합니다)
http://www.adminlinux.org/2009/07/how-to-restore-default-system.html
1) 파일 및 디렉토리에서 UID 및 GID를 재설정하려면
for u in $(rpm -qa); do rpm --setugids $u; done
2) 파일 및 디렉토리에 대한 권한
for p in $(rpm -qa); do rpm --setperms $p; done
그런 다음이 파일에 대한 수동 권한을 변경하십시오.
# ll /etc/ssh/
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_dsa_key
# service sshd restart
특정 파일에 사용 권한이 "느슨한"권한이 있으면 일부 보안 관련 프로그램이 시작되지 않습니다. @ceving이 말했듯 sshd
이 가장 일반적인 것입니다.
잘못 될 수있는 가장 중요한 것은 이제 모든 사용자 가 파일을 열고 읽고 쓸 수 있다는 것입니다 시스템의 을 것입니다. 이것이 악의적 인 두 가지 이유는 다음과 같습니다. A) 악의적 인 사용자가 악용 또는 구성 오류를 통해 시스템을 제어 할 수 있으면 시스템의 모든 내용을 수정할 수 있으며 B) 다음과 같은 경우에도 원하는 내용을 삭제할 수 있습니다. 당신은 루트가 아니기 때문에 루트로 실행되지 않는 대부분의 보호를 부정했습니다.
사전에 권한을 백업하지 않은 경우 약간의 상황에 처해 있습니다. 새로 설치된 시스템에서 권한 목록을 "가져온"다음 시스템의 모든 항목에 "적용"하는 스크립트를 만들 수 있습니다. 그래도 편리한 스크립트는 없습니다.
rm -rf /
일반 사용자로서 a 를 사용하면 시스템이 정지됩니다.