Comment 2 for bug 1214500

Revision history for this message
Scott Moser (smoser) wrote :

Attaching 'serv.py' which mimics behavior of supervisor/http.py in supervisor for setting up the socket, and then implements an 'echo' server. client.py is just a simple client to run and show the problem.

One would expect to be able to do this:
$ ./serv.py /tmp/my-socket &
$ ./client.py /tmp/my-socket
Received 'Hello, world'

The behavior seems to differ between precise and saucy kernels.
One thing to note is that on precise kernel and overlayfs, I see:
$ sudo rm -f /tmp/my-socket

$ ./serv.py /tmp/my-socket
Traceback (most recent call last):
  File "./serv.py", line 22, in <module>
    os.link(tempname, socketname)
OSError: [Errno 1] Operation not permitted

$ sudo rm -f /tmp/my-socket
$ sudo ./serv.py /tmp/my-socket &
$ sudo ./client.py /tmp/my-socket
Received 'Hello, world'

Ie, this works as root, but not as non-root.