web-dev-qa-db-ja.com

ソケットの読み取り/書き込み権限を尊重しないシステムはどれですか?

man 7 unix Linuxの状態:

Linuxの実装では、ファイルシステムに表示されるソケットは、それらが存在するディレクトリのアクセス許可を尊重します。その所有者、グループ、およびアクセス許可は変更できます。プロセスに、ソケットが作成されたディレクトリに対する書き込みおよび検索(実行)権限がない場合、新しいソケットの作成は失敗します。ソケットオブジェクトへの接続には読み取り/書き込み権限が必要です。この動作は多くのBSDとは異なります。 -UNIXドメインソケットのアクセス許可を無視する派生システム。ポータブルプログラムは、セキュリティのためにこの機能に依存しないでください。

UNIXドメインソケットのアクセス許可を無視するシステムはどれですか?

6
Alicia

たとえば、HP-UXはソケットファイルのアクセス許可を無視します。

ドキュメントがソケットファイルの権限について話していることに注意してください。すべての実装は、親ディレクトリのアクセス許可を尊重します。ポータブルプログラムは、パブリックディレクトリで(umaskを介して)制限付きのアクセス許可を持つソケットを作成するのではなく、プライベートディレクトリにソケットを作成する必要があります。

4
Nicholas Wilson

それを考えると、彼らが何を意味するのかわからない

  • ソケットはBSDおよび4.3BSDで作成され、ドキュメント 明確に指定connect()には書き込み権限が必要であると記載されています。
  • Linuxでも、read権限は必要なく、書き込みのみが必要です。

POSIXは requireconnect()が失敗するようには見えませんが、ソケットファイルが書き込み可能でない場合は失敗しますが、明示的に許可します(connectは失敗する可能性があります[...]指定されたソケットが書き込み可能でない場合)。その "may"は、許可を尊重しないシステムが実際に存在する可能性があることを示唆していますが、BSDから派生したものではないかと思います。

1