운영 체제가 접미사없이 파일을 열 때 사용할 프로그램을 결정할 수없는 이유는 무엇입니까?


2

예를 들어, .pdf 파일의 이름을 .exe로 바꾸고 Windows에서 실행하려고하면 오류가 발생합니다. 그러나 OS가 내용에 따라 파일을 여는 데 사용할 프로그램을 결정할 수 있습니까? 확장 부분을 숨기는 것이 아닙니다.

즉, pdf 파일 인 "abc"라는 파일이 있습니다. 더블 클릭하면 pdf 리더가 열립니다.

가능한 경우 보안 관련 문제가있을 수 있습니까?


4
것이 가능하다. 그리고 그것은 끝났습니다. 창문이 아니라
Hennes

그것은 Windows의 것입니다. 리눅스는 일반적으로 매직 넘버를 사용하여 파일이 소프트웨어로 하드 코딩되지 않는 한 파일이 무엇인지 결정합니다.
Journeyman Geek

@JourneymanGeek : 그것은 부분적으로 사실이지만 여전히 dsolimano가 설명 한 문제를 고려하지 않고 모든 사람이 앵무새를 만들 때 성가 시게 될 정도로 잘못되었습니다. Windows조차도 MZ매직 넘버로 실행 파일을 인식 합니다. Windows 프로그램에서도 확장명에 관계없이 모든 파일을 열 수 있습니다. Linux 환경에서도 확장은 파일 형식이 무엇인지에 대한 빠른 (신뢰할 수없는 경우) 표시로 사용됩니다. 상당수의 시스템 서비스는 .conf파일 만 받아들이고 .conf.dpkg-new동일한 내용으로 거부 합니다.
grawity

좋아, pedantry를 위해 수정; p
Journeyman Geek

답변:


4

가능하지만 항상 모호하고 깨끗하지는 않습니다.

예를 들어 Microsoft Office 문서 파일 (걸릴 .docx, .xlsx등). 그들은 실제로 Microsoft Office가 여는 방법을 알고있는 특별한 내용의 zip 파일입니다. 따라서 운영 체제가 파일 형식을 기반으로 추측하면 파일이 유효한지 확인하고 압축 프로그램에서 파일을 엽니 다. 파일을 먼저 압축 해제 한 다음 내용을 살펴보고 실제로 파일이 실제로 Excel 파일인지 확인하지 않은 경우 임시 압축 해제 된 사본을 삭제하고 원래 파일을 Excel로 전달합니다. 이것은 가능할 수도 있지만, 이런 종류의 추측을하기 위해서는 OS에 많은 논리가 있어야합니다.

이러한 추측을 시도하는 프로그램이 있습니다 (예 : UNIX 프로그램 파일) . Wikipedia 의 마술 페이지를 보면 이것이 어떻게 작동하는지 알 수 있습니다. 여기에서 발생할 수있는 문제는 누군가가 다른 사람의 다른 사람의 마법 번호를 사용했다면 파일 확장자를 다시 보았습니다. "% PDF"로 PDF가 아닌 파일 형식을 상상해보십시오.

Mac OS는 이 문제를 해결하기 위해 파일 유형을 특수 유형 코드 로 저장했습니다 .


1
해당 OpenDocument 파일에 추가하십시오. 자바 애플리케이션; 안드로이드 패키지; 모질라 확장; Winamp 테마 ... 모두 Zip 형식을 사용합니다. 말할 것도없이 Zip 파일이 중간 에 시작하는 것이 완벽 하며, 자동 추출기 스텁이있을 수 있습니다. file.zip대부분의 사람들은 MZ 또는 ELF 프로그램으로 실행되는 것이 아니라 아카이버에서 파일을 여는 것이 좋습니다. ...
grawity
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.