diff --git a/app.go b/app.go
index 83af9461877583f1489933882c0d75e6a10d70e6..cc4f32ffc319ffa8fb521dcf153e188f7911524e 100644
--- a/app.go
+++ b/app.go
@@ -80,6 +80,9 @@ func serve(sig chan os.Signal, db *leveldb.DB) error {
 		if l, err := net.Listen("unix", conf[listen]); err != nil {
 			return err
 		} else {
+			if err = os.Chmod(conf[listen], 0777); err != nil {
+				log.Printf("cannot change ownership of socket %q: %v", conf[listen], err)
+			}
 			return app.Listener(l)
 		}
 	}