특정 프로세스만 명명된 파이프에서 읽도록 보장하는 방법은 무엇입니까?

특정 프로세스만 명명된 파이프에서 읽도록 보장하는 방법은 무엇입니까?

시간 (1)에서 결국 이 Python 프로세스가 해당 명명된 파이프에 무언가를 쓰겠다는 목표를 갖고 Python을 사용하여 명명된 파이프를 생성한다고 가정합니다. 왜? 왜냐하면 시간 (2)에는 명명된 파이프에서 읽을 것으로 예상되는 또 다른 프로세스가 있기 때문입니다.

기본적으로 명명된 파이프를 통한 IPC입니다. 이게 왜 깔끔해요? 파일처럼 보이기 때문에 파일만 읽을 수 있는 다른 프로세스는 다른 프로세스를 다시 작성할 필요 없이 이 명명된 파이프 메커니즘을 통해 편리한 IPC로 통신할 수 있습니다.

하지만 문제가 있습니다.시간(1)과 시간(2) 사이에 악의적인 프로세스가 해당 의도된 프로세스 이전에 명명된 파이프 1번째에서 읽기 시작했다고 가정합니다. 이렇게 하면 Python 스크립트가 의도하지 않은 프로세스에 데이터를 보낼 수 있습니다. 따라서 하이재커가 내 특정 위험 모델의 프로세스에 쓰기 시작하더라도 걱정하지 않습니다. (나는 의도된 프로세스 이전에 파이프에서 하이재킹을 읽는 것에 대해서만 관심이 있습니다.)

질문:의도한 프로세스가 아닌 다른 프로세스가 IPC에서 읽히도록 하는 메커니즘이 있습니까?

답변1

명명된 파이프에는 다른 파일과 마찬가지로 파일 권한이 있습니다. 파이프를 생성할 때 프로세스를 실행하기 위한 계정만 읽을 수 있도록 권한이 설정되어 있는지 확인하십시오.

관련 정보