diff options
author | Martin Pitt <mpitt@debian.org> | 2016-08-09 18:11:38 +0200 |
---|---|---|
committer | Didier Raboud <odyx@debian.org> | 2019-09-02 09:14:43 +0200 |
commit | 041e2120e1eb8ce24ee83adf73400923ec6fbaad (patch) | |
tree | 91a2071e9fb8ce9e13d63215b43d4b6354d7f125 | |
parent | 47599e6ac0e5bc7634405938d6bd1fa418ed2bd6 (diff) |
Make log files readable to group "adm", if present.
Bug-Ubuntu: https://launchpad.net/bugs/345953
Last-Update: 2015-02-10
Patch-Name: logfiles_adm_readable.patch
Gbp-Pq: Name logfiles_adm_readable.patch
-rw-r--r-- | scheduler/log.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scheduler/log.c b/scheduler/log.c index cdb5437dc..d53d1401c 100644 --- a/scheduler/log.c +++ b/scheduler/log.c @@ -21,6 +21,7 @@ # include <systemd/sd-journal.h> #endif /* HAVE_ASL_H */ #include <syslog.h> +#include <grp.h> /* @@ -110,6 +111,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */ filename[1024], /* Formatted log filename */ *ptr; /* Pointer into filename */ const char *logptr; /* Pointer into log filename */ + struct group *loggrp; /* Group entry of log filename */ /* @@ -130,6 +132,11 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */ } /* + * Use adm group if possible, fall back to Group + */ + loggrp = getgrnam("adm"); + + /* * Format the filename as needed... */ @@ -241,7 +248,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */ * Change ownership and permissions of non-device logs... */ - fchown(cupsFileNumber(*lf), RunUser, Group); + fchown(cupsFileNumber(*lf), RunUser, loggrp ? loggrp->gr_gid : Group); fchmod(cupsFileNumber(*lf), LogFilePerm); } } @@ -284,7 +291,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */ * Change ownership and permissions of non-device logs... */ - fchown(cupsFileNumber(*lf), RunUser, Group); + fchown(cupsFileNumber(*lf), RunUser, loggrp ? loggrp->gr_gid : Group); fchmod(cupsFileNumber(*lf), LogFilePerm); } |