Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-27 Thread Ale Strooisma
I got it working the way I wanted by setting the umask through systemd. Thanks for the help! On 26 May 2016 at 21:10, Michal Vyskocil wrote: > Hi, > > it does not work in libzmq by automatically. However there is a socket > option use_fd which will skip the open_socket/bind/listen part, which >

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Michal Vyskocil
Hi, it does not work in libzmq by automatically. However there is a socket option use_fd which will skip the open_socket/bind/listen part, which is exaclty your use case. The documentation of systemd part is here http://0pointer.de/blog/projects/socket-activation.html usage is pretty simple if y

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Ale Strooisma
Hit send to quickly: There indeed seems to be a umask property available in systemd configuration files (my program is initialized by systemd, hence the relevance). Slight issue is that the program might also create log files, for example, which would most likely require other permissions... but I

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Ale Strooisma
Sorry, I am not familiar with umask. As far as I understand, setting the umask determines what permissions new files created by the user have. However, in this case I need to specifically affect the files created by this specific program. Do you mean there is a way to run a program that determines

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Arnaud Loonstra
I don't think zmq deals with permissions? The OS does. Shouldn't you be using a umask? What's your umask set at? Rg, Arnaud On 2016-05-26 10:49, Ale Strooisma wrote: I am using libzmq 4.0.5 - the one provided by EPEL for CentOS 7. I have never noticed any systemd support in zeromq. Yes I am

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Ale Strooisma
I am using libzmq 4.0.5 - the one provided by EPEL for CentOS 7. I have never noticed any systemd support in zeromq. Yes I am using the chmod function from sys/stat.h with which I change the permissions on the socket file from 0755 to 0770. The socket is created in the tmp directory which has 1777

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Arnaud Loonstra
I might be misinformed but some of my first thoughts - what version of zeromq? Are you using zeromq's systemd support? I recall we were hacking on this in the hackathon during FOSDEM. Otherwise the socket fd might be unlinked which results in weird behaviour. - Are you using chmod C method or t

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-26 Thread Ale Strooisma
I only have the EPEL7 version of libzmq available, so those options won't work for me, sadly. Also I'd rather not use systemd to create the socket, but leave it to ZeroMQ (in my program). It seems like there is no way to set the permissions on a unix socket - is this correct? Would it make sense t

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-25 Thread Luca Boccassi
Hi Ale, If you have systemd managing your socket with a socket unit, it will create and bind it for you, so that's why it's saying it's already in use. Are you using the ZMQ_USE_FD API? I added that exactly for systemd-managed sockets. If you use CZMQ, you just have to set either the env var ZSY

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-25 Thread Ale Strooisma
the previous update might be incorrect. Now it seems that I can't bind to a socket created by systemd (I got something like "address already in use"). If I connect to it instead with my 'server' program, which uses a REP socket, it does receive messages, but can't seem to reply... Anyway, all in a

Re: [zeromq-dev] Setting privileges on a UNIX socket

2016-05-25 Thread Ale Strooisma
Okay, a bit of an update: I tried ensuring the socket was available using systemd, but when the program that binds to the port runs, it resets the privileges. On 25 May 2016 at 12:32, Ale Strooisma wrote: > Hi all, > > For my program, I am using the ipc protocol. The unix socket used needs to >

[zeromq-dev] Setting privileges on a UNIX socket

2016-05-25 Thread Ale Strooisma
Hi all, For my program, I am using the ipc protocol. The unix socket used needs to be accessible to various programs run by different users, so I want to set group write privileges. How can I do this? Can I set this using ZeroMQ from within the program that binds the socket, or do I need to make s