From 4c9e4a30cc7903ba3a145e19fde962f24f52ff8c Mon Sep 17 00:00:00 2001 From: Alexis Ben Miloud--Josselin Date: Thu, 1 Feb 2024 11:06:21 +0100 Subject: [PATCH] userlogrotate: Ensure we use a valid group name Use user's primary group when user's name is not an existing group. --- CHANGELOG.md | 1 + userlogrotate/files/userlogrotate | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f6fe59a..8a84db8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,7 @@ The **patch** part changes is incremented if multiple releases happen the same m * vrrpd: variable to force update the switch script (default: false) * webapps/nextcloud: Add Ceph volume to fstab * webapps/nextcloud: Set home directory's mode +* userlogrotate: Use user's primary group when user's name is not an existing group ### Fixed diff --git a/userlogrotate/files/userlogrotate b/userlogrotate/files/userlogrotate index 2a76eaaf..da12a36c 100644 --- a/userlogrotate/files/userlogrotate +++ b/userlogrotate/files/userlogrotate @@ -73,6 +73,9 @@ for path in ${SYSTEM_LOGS_SEARCH_PATHS[@]}; do for file in ${log_paths}; do user="$(user_for "${file}")" group="$(group_for "${file}")" + if ! getent group "${user}" > /dev/null 2> /dev/null; then + group="$(id -gn "${user}")" + fi rotate "${file}" "${group}":"${user}" delete_old "$(dirname "${file}")" done @@ -85,6 +88,9 @@ for path in ${APPLICATIVE_LOGS_SEARCH_PATHS[@]}; do for file in ${log_paths}; do user="$(user_for "${file}")" group="$(group_for "${file}")" + if ! getent group "${user}" > /dev/null 2> /dev/null; then + group="$(id -gn "${user}")" + fi rotate "${file}" "${group}":"${user}" delete_old "$(dirname "${file}")" done