diff options
author | Laércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br> | 2015-10-16 09:27:56 -0300 |
---|---|---|
committer | Laércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br> | 2015-10-16 09:27:56 -0300 |
commit | 0b98a383bd1dc6a733fa6817b7f1c6a3d8568d76 (patch) | |
tree | 7b2b9bc1b3d7f00433c7fcca233e83a02e138538 /debian | |
parent | 0b881b32dc1674e0c5ef1a7eb862471ee1994a0d (diff) | |
download | lightdm-0b98a383bd1dc6a733fa6817b7f1c6a3d8568d76.tar.gz |
Move system UID check heuristic in guest-account.sh to a new function is_system_user().
Diffstat (limited to 'debian')
-rw-r--r-- | debian/guest-account.sh | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/debian/guest-account.sh b/debian/guest-account.sh index 1815d972..09a05e30 100644 --- a/debian/guest-account.sh +++ b/debian/guest-account.sh @@ -18,6 +18,18 @@ if [ -f /etc/default/locale ]; then export LANG LANGUAGE fi +is_system_user () +{ + local UID_MIN=$(cat /etc/login.defs | grep UID_MIN | awk '{print $2}') + local SYS_UID_MIN=$(cat /etc/login.defs | grep SYS_UID_MIN | awk '{print $2}') + local SYS_UID_MAX=$(cat /etc/login.defs | grep SYS_UID_MAX | awk '{print $2}') + + SYS_UID_MIN=${SYS_UID_MIN:-101} + SYS_UID_MAX=${SYS_UID_MAX:-$(( UID_MIN - 1 ))} + + [ ${1} -ge ${SYS_UID_MIN} ] && [ ${1} -le ${SYS_UID_MAX} ] +} + add_account () { local temp_home=$(mktemp -td guest-XXXXXX) @@ -37,7 +49,7 @@ add_account () exit 1 } GUEST_UID=$(echo ${PWENT} | cut -f3 -d:) - if [ ${GUEST_UID} -ge 500 ]; then + if ! is_system_user ${GUEST_UID}; then echo "Account ${USER} is not a system user" exit 1 fi @@ -133,10 +145,7 @@ remove_account () GUEST_UID=$(echo ${PWENT} | cut -f3 -d:) GUEST_HOME=$(echo ${PWENT} | cut -f6 -d:) - SYS_UID_MIN=$(cat /etc/login.defs | grep SYS_UID_MIN | awk '{print $2}') - SYS_UID_MAX=$(cat /etc/login.defs | grep SYS_UID_MAX | awk '{print $2}') - - if [ ${GUEST_UID} -lt ${SYS_UID_MIN} ] || [ ${GUEST_UID} -gt ${SYS_UID_MAX} ]; then + if ! is_system_user ${GUEST_UID}; then echo "Error: user ${GUEST_USER} is not a system user." exit 1 fi |