Ich verwende eine Client/Server-Anwendung auf Red Hat Enterprise unter Verwendung von ZMQ zur Nachrichtenübergabe. Der IPC-Socket, der verwendet wird, um einen Client mit dem Server zu verbinden, wird unter Verwendung eines Unix-Domain-Sockets implementiert.UNIX-Domänen-Sockets, die nicht für Benutzer zugänglich sind?
Wenn Benutzer A den Serverprozess startet, scheint es, als ob nur Clients, die von Benutzer A gestartet wurden, eine Verbindung zu diesem Socket herstellen und über diesen kommunizieren können. Unser Projekt erfordert, dass die Clients von verschiedenen Benutzern ausgeführt werden können. Dies ist ein wichtiger Knackpunkt.
Der Socket befindet sich unter/tmp/ipc_assoc mit 755-Standardberechtigungen. chmod
777 behebt das Problem nicht. chown
BenutzerB ermöglicht Benutzer B Zugriff auf den Socket, aber Benutzer A verliert dann den Zugriff. Nicht einmal Root kann auf den Socket zugreifen. Auf dem Gerät wird keine ACL oder SeLinux verwendet.
Ist dieses typische Verhalten für Unix-Domain-Sockets? Hat jemand herausgefunden, wie man damit umgehen kann?
Warum funktioniert 777, während 770 nicht funktioniert? Ich bin verwirrt, ich habe beide Benutzer unter die gleiche Gruppe und nicht gehen ... – knocte