예를 들어 bin 폴더의 내용을 모두 삭제한 다음 다른 bin 폴더의 내용으로 교체하면 시스템이 계속 실행됩니까? 파일 시스템이 자체 파일에 바인딩되어 있다면 어떻게 될까요? 444 권한을 가진 중요한 파일이 있다고 가정해 보겠습니다. 해당 파일을 삭제하고 동일한 유형이지만 777 권한을 가진 다른 파일을 만들어 작동하게 할 수 있습니까? 다른 운영 체제의 다른 폴더에 대해 복사하여 붙여넣기만 하면 계속 부팅되나요?
답변1
어떤 (알려진?) 운영 체제의 모든 파일을 교체할 수 있습니다.
핵심 질문은 무엇으로 대체할 것인가입니다.
파일이 대체 파일과 호환되지 않는 데에는 여러 가지 이유가 있습니다. 모두 나열하기엔 너무 많은 이유가 있지만, 맛을 알려드리자면 다음과 같습니다.
컴파일된 프로그램과 라이브러리는 특정 CPU 아키텍처용으로 컴파일됩니다. (보통) AMD64 시스템에는 ARM으로 컴파일된 파일을 넣을 수 없습니다.
와 같은 명령줄 유틸리티는 스크립트( 또는 에
/bin
있음)에서 자주 사용됩니다 . 다른 시스템의 시스템으로 교체 하고 둘 다 동일한 업스트림 패키지를 기반으로 하는 경우/usr/bin/
/usr/local/bin
/bin
아마너무 많은 문제를 일으킵니다. 그러나 예를 들어 다음과 같이 매우 다른 경우GNU 핵심 유틸리티또 다른 하나는바쁜 상자그러면 호환되지 않을 가능성이 높습니다.라이브러리 버전도 문제가 될 수 있습니다. 프로그램이 컴파일되면 사용하는 특정 버전의 라이브러리에 대해 컴파일됩니다. 잘못된 버전의 라이브러리를 교체하면 모든 종류의 메모리 누수 및 "불법적인 작업" 오류가 발생하기 쉽습니다.
나는 이것을 의도적으로 얼버무렸습니다. 만약 당신이 그것을 삭제하는 것과 같은 비참한 일을 한다면 /bin
, 당신의 시스템은 교체될 때까지 모든 종류의 문제를 겪게 될 것이고 잠재적으로 작동할 수 없게 될 것입니다.
답변2
여러 질문:
bin 폴더의 내용을 모두 삭제하고 다른 bin 폴더의 내용으로 교체하면 시스템이 실행됩니까?
습관. 삭제하면 /bin
해당 내용을 대체할 수 있는 프로그램이 없게 됩니다( mkdir
, 등 cp
은 mv
모두 삭제됩니다).
이러한 도구를 유지하더라도 이미 시스템에 있는 라이브러리의 일치하는 버전을 사용하도록 대체 도구가 구축되었는지 확인해야 합니다.
파일 시스템이 자체 파일과 연결되어 있습니까? 444 권한을 가진 중요한 파일이 있다고 가정해 보겠습니다. 해당 파일을 삭제하고 동일한 유형의 다른 파일을 생성할 수 있습니까?
아마도. 그러나 강제 모드에서 SELinux와 같은 것을 실행하는 경우에는 그렇지 않습니다.
하지만 777 권한이 있어도 여전히 작동합니까?
아마도 그렇지 않을 것입니다. 권한이 존재하는 데에는 이유가 있습니다. 일부 프로그램( sudo
, passwd
) 또는 파일( ) 의 권한을 변경하면 /etc/passwd
시스템 작동이 중지됩니다.
Chrome OS와 같은 다른 운영 체제의 다른 폴더의 경우 폴더를 복사하여 붙여넣기만 하면 계속 실행됩니다.
/bin
ChromeOS가 시작 시 항상 재설치되거나 재설정되기 때문인지 궁금합니다 . 나는 그것이 계속해서 제대로 작동한다는 것을 믿기 어렵습니다.
답변3
가능한 유일한 대답은 다음과 같습니다.때에 따라 다르지.
파일은 항상 변경됩니다(예: 시스템이 업데이트되거나 구성 변경이 발생할 때). 그러나 시스템의 파일과 디렉터리를 맹목적으로 삭제/교체하면 "아무것도 없음"부터 "시스템이 부팅되지 않고 완전히 다시 설치해야 함"까지 예측할 수 없는 결과가 발생할 수 있습니다.
/bin
중요한 바이너리와 시스템 명령이 포함되어 있으므로 /sbin
이를 조작하는 것은 권장되지 않습니다. 반면, 파일을 삭제하면 /var/log
시스템 로그에 대한 정보만 손실됩니다. (권한이 없는) 사용자의 홈 디렉토리에 있는 항목을 삭제해도 다른 사용자에게는 영향을 미치지 않습니다.
권한을 변경하는 경우에도 마찬가지입니다. x
실행 파일에서 권한을 제거하면 실행이 불가능해집니다. 대부분의 파일에 대한 권한을 444에서 777로 변경해도 파일을 누구나 쓸 수 있도록 설정하지 않는 한 처음에는 눈에 띄는 차이가 없으므로 이는 보안 문제입니다. 또한 SSH 개인 키와 같은 일부 파일에는 특정하고 제한된 권한 집합이 필요합니다.