Hi all:

I understand that the new '-s' option for rrdcached will change the
group ownership of the socket specified by -l following the -s
argument, eg:

# rrdcached -s rrdcached -l unix:/tmp/rrdcached.socket

would change the group ownership of the socket to group 'rrdcached'.

However, if I specify -s without -l, I would expect the default socket
created by rrdcached would have the ownership changed, like:

# rrdcached -s rrdcached

The default socket created is still owned by user 'root'.

Is this considered a bug?

Also, if you run the following as root:

# rrdcached -s root -l unix:/tmp/rrdcached.socket

the following block of code from rrd_daemon.c gets executed:

2544      if (sock->socket_group != (gid_t)-1)
2545      {
2546        if ( (chown(path, getuid(), sock->socket_group) != 0) ||
2547             (chmod(path, (S_IRUSR|S_IWUSR|S_IXUSR | S_IRGRP|S_IWGRP)) != 
0) )
2548        {
2549          fprintf(stderr, "rrdcached: failed to set socket group
permissions (%s)\n", strerror(errno));
2550        }
2551      }

So I believe there is some issue with the comparison.

Finally, would people object to having a new option where you can
change the user ownership of the socket?

Thanks,

Bernard

_______________________________________________
rrd-developers mailing list
rrd-developers@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

Reply via email to