From 0c081207c94b0ed338a704fafac10166ce98bba7 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Fri, 8 Mar 2013 19:29:38 +0100 Subject: Pass only single commands through su wrapper It is a healthy coding practice to keep each argument separate when executing system calls, i.e. quote each variable separately instead of relying on whitespace to indicate argument separation. Quoting shell-inside-shell is tricky to do right, and gets trickier when more than a single command is wrapped together. This patch simplifies convoluted shell calls to contain only one command each. Example: before: bash -c ". .../common; process_authorized_user_ids -" after: bash -c ".../common process_authorized_user_ids -" --- src/share/ma/update_users | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/share/ma/update_users') diff --git a/src/share/ma/update_users b/src/share/ma/update_users index a70d000..85813cd 100644 --- a/src/share/ma/update_users +++ b/src/share/ma/update_users @@ -79,7 +79,7 @@ for uname in $unames ; do # process authorized_user_ids file, as monkeysphere user su_monkeysphere_user \ - ". ${SYSSHAREDIR}/common; STRICT_MODES='$STRICT_MODES' process_authorized_user_ids -" \ + "/usr/bin/env STRICT_MODES='$STRICT_MODES' ${SYSSHAREDIR}/common process_authorized_user_ids -" \ < "$authorizedUserIDs" \ > "$tmpAuthorizedKeys" -- cgit v1.2.3