아마도 (Unix/Linux에 설정된 파일 권한이 Windows나 다른 운영 체제에서 유효합니까?) 하지만...
파일이 있다고 가정해 보겠습니다(Linux/Unix OS가 바람직하지만 Windows에서도 작동할 것이라고 믿습니다).
내가 아는 한, 파일 권한은 파일 자체 내에 유지되며 결국 파일의 특정 비트가 기록됩니다.
이제 읽기 전용 파일 chmod 744
( 다음에는 무엇을 해야 할까요?
그렇다면 이러한 검사 수행이 차단된 "사용자 정의" 운영 체제가 실제로 이에 액세스할 수 있습니까?
답변1
내가 아는 한, 파일 권한은 파일 자체 내에 유지되며 결국 파일의 특정 비트가 기록됩니다.
그렇지 않습니다. 소유자, 그룹 및 기타 소유권과 읽기, 쓰기 또는 실행 권한과 같은 파일 권한은 파일의 일부가 아니라 파일 시스템의 일부입니다. 파일 이름도 마찬가지입니다. 파일을 전송하는 경우 권한이 암시적으로 전송되지는 않지만 이러한 작업을 수행하는 애플리케이션은 이 메타정보를 전송하기 위해 특별한 노력도 기울여야 합니다.
파일에 대한 메타 정보는 운영 체제의 파일 시스템 계층에 의해 해석되며 운영 체제에 의해서만 적용됩니다. 따라서 수정된 운영 체제를 사용하거나 때로는 특수 옵션을 사용하여 파일 시스템을 마운트함으로써 이를 우회할 수 있습니다.
파일의 내용을 정말로 보호하려면 파일을 암호화해야 합니다.
답변2
예, 파일 권한을 시행하는 운영 체제일 뿐입니다.
물리적 디스크 드라이브는 운영 체제에 읽고 쓸 수 있는 대량의 메모리만 제공한다는 점을 기억하십시오. 운영 체제의 임무는 이 큰 덩어리를 별도의 파일로 나누는 것입니다. 논리적으로 파일에 대한 모든 권한은 운영 체제에서만 시행할 수 있습니다.
디스크를 분리하고 다른 머신에 넣으면 디스크로 무엇이든 할 수 있습니다. 모든 파일 권한을 완전히 무시할 수 있습니다. 실제 권한을 무시하고 Linux에서 디스크를 마운트하는 것은 실제로 매우 쉽습니다.
그렇기 때문에 디스크를 보호하는 유일한 방법은 암호화하는 것입니다. 암호화를 사용하면 다른 컴퓨터가 디스크에 기록된 내용을 완전히 이해하지 못하게 되므로 다른 컴퓨터가 내용을 변경하는 것을 방지할 수 있습니다(삭제 및 재부팅 제외).
내가 아는 한, 파일 권한은 파일 자체 내에 유지되며 결국 파일의 특정 비트가 기록됩니다.
이는 기술적으로 올바르지 않습니다. 해당 내용은 파일의 내용이 아닌 파일의 메타데이터에 저장됩니다. 그러나 올바른 생각을 갖고 계십니다. 권한은 파일과 동일한 파일 시스템에 패키지되어 있으며 다른 곳에서는 제어되지 않습니다.
답변3
운영 체제는 궁극적으로 액세스 제어 구현 여부를 결정합니다. 네트워크 파일 시스템의 경우 서버는 일반적으로 권한을 적용합니다.
파일 시스템이 운영 체제가 전체 액세스 권한을 갖는 로컬 디스크에 있는 경우 실행 중인 운영 체제는 권한이 있는 모든 작업을 수행할 수 있습니다. 극단적인 경우에는 파일 시스템을 통해 파일에 액세스하는 대신 원시 장치에 직접 쓰십시오.
파일이 원격 파일 시스템에 있는 경우 일반적으로 서버는 액세스 제어를 시행합니다. 클라이언트가 알려진 권한(예: 읽기 전용 파일에 쓰기 시도)을 무시하기로 결정하더라도 서버는 작업을 수행하지 않기로 결정하고 오류를 반환할 수 있습니다.