Code: Select all
stat myNamedPipe.ext
File: myNamedPipe.ext
Size: 0 Blocks: 0 IO Block: 4096 fifo
Device: 802h/2050d Inode: 117564614 Links: 1
Access: (0640/prw-r-----) Uid: (10037/ A-user) Gid: (10038/ b-user)
Context: system_u:object_r:home_root_t:s0
Access: 2025-03-03 18:52:38.393875788 +0000
Modify: 2025-03-03 18:52:38.393875788 +0000
Change: 2025-03-03 18:52:38.393875788 +0000
Birth: 2025-03-03 18:52:38.393875788 +0000
ausgeführt (ich habe bestätigt, dass mit PS -Aux | Grep Dotnet und auch ps -u -b -br -f -öser -user -Ps -. Zusammenfassend
[*] Die FIFO-Datei hat die Berechtigungen 0640/prw-r ----- Für den Benutzer B-Benutzer
Dotnet führt mein Programm als B-Benutzer aus.Failed to connect to named pipe '/full/path/to/MyNamedPipe.ext'.
System.Net.Sockets.SocketException (13): Permission denied /full/path/to/MyNamedPipe.ext
< /code>
Hier ist der Code, den ich verwende, um eine Verbindung zum benannten Pipe zu herstellen.using var namedPipeClientStream = new NamedPipeClientStream(".", pipeName, PipeDirection.In);
namedPipeClientStream.Connect(); //throws here
Console.WriteLine($"Connected to {pipeName}");
using var reader = new StreamReader(namedPipeClientStream);
while (reader.ReadLine() is { } line)
{
Console.WriteLine(line);
}
< /code>
Wenn ich jetzt die benannte Pipe wie eine Datei gelesen habe < /p>
using var pipeStream = File.OpenRead(pipeName);
using var reader = new StreamReader(pipeStream);
while (reader.ReadLine() is { } line)
{
Console.WriteLine(line);
}
< /code>
Es funktioniert ohne Ausgabe. < /p>
mache ich hier etwas falsch? Oder ist etwas Besonderer?
Danke!