소켓 읽기/쓰기 권한을 존중하지 않는 시스템은 무엇입니까?

소켓 읽기/쓰기 권한을 존중하지 않는 시스템은 무엇입니까?

man 7 unixLinux 상태:

Linux 구현에서 파일 시스템에 표시되는 소켓은 해당 소켓이 있는 디렉터리의 권한을 존중합니다. 소유자, 그룹 및 권한은 변경될 수 있습니다. 프로세스에 소켓이 생성된 디렉터리에 대한 쓰기 및 검색(실행) 권한이 없으면 새 소켓 생성이 실패합니다. 소켓 개체에 연결하려면 읽기/쓰기 권한이 필요합니다. 이 동작은 UNIX 도메인 소켓에 대한 권한을 무시하는 많은 BSD 파생 시스템과 다릅니다.이식 가능한 프로그램은 보안을 위해 이 기능에 의존해서는 안 됩니다.

UNIX 도메인 소켓에 대한 권한을 무시하는 시스템은 무엇입니까?

답변1

예를 들어 HP-UX는 소켓 파일 권한을 무시합니다.

문서에서 다음에 대해 이야기하고 있습니다.소켓 파일 권한. 모든 구현은 상위 디렉터리의 권한을 존중합니다. 이식 가능한 프로그램은 umask제한적인 권한(패스)을 사용하여 공용 디렉터리에 소켓을 만드는 데 의존하는 대신 개인 디렉터리에 소켓을 만들어야 합니다 .

답변2

이것을 감안할 때, 그것이 무엇을 의미하는지 잘 모르겠습니다

  • 소켓은 BSD 및 4.3BSD, 문서에서 유래되었습니다.명확하게 정의됨쓰기 권한이 필요합니다 connect().
  • 리눅스에서도 마찬가지고,읽다권한이 필요하지 않습니다. 그냥 쓰세요.

POSIX에는 없는 것 같습니다.필요하다connect()소켓 파일에 쓸 수 없지만 명시적으로 허용되면 실패합니다(connect지정된 소켓이 쓰기 가능하지 않으면 실패할 수 있습니다. [...]). 저것"가능한"권한을 존중하지 않는 시스템이 실제로 있을 수 있음을 나타내지만 BSD에서 파생된 것인지 의심됩니다.

관련 정보