Martin wrote: > I'm using the asyncio.Protocol interface to build a server which binds > to a unix socket file. I want other system users to connect to the > unix socket, so to communicate with the server. > > Where should I set the permissions of the file?
You should start the demon with a strict umask and set the permissions after the socket is created. Deriving from SocketServer.UnixStreamServer I'm overriding the server_bind() method: class MyServer(SocketServer.UnixStreamServer): [..] def server_bind(self): """Override server_bind to set socket options.""" self.socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) self.socket.settimeout(SOCKET_TIMEOUT) try: os.unlink(self.server_address) except OSError: if os.path.exists(self.server_address): raise SocketServer.UnixStreamServer.server_bind(self) os.chmod(self.server_address,int(SOCKET_PERMISSIONS,8)) return # server_bind() Ciao, Michael. -- https://mail.python.org/mailman/listinfo/python-list