summaryrefslogtreecommitdiff
path: root/user-init
diff options
context:
space:
mode:
Diffstat (limited to 'user-init')
-rwxr-xr-xuser-init20
1 files changed, 15 insertions, 5 deletions
diff --git a/user-init b/user-init
index 5add1f8..6f8ffe2 100755
--- a/user-init
+++ b/user-init
@@ -86,6 +86,7 @@ echo "Setting up additional folders and permissions..."
for user in $USERS; do
uid="`getent passwd \"$user\" | awk -F: '{print $3}' | head -n 1`"
HOME="`getent passwd \"$user\" | awk -F: '{print $6}' | head -n 1`"
+ groups="`groups \"$user\"`"
if [ -z "$HOME" ]; then
echo "User $user doesn't exist. Ignoring..."
continue
@@ -102,13 +103,22 @@ for user in $USERS; do
# if [ -x /etc/local/quota.sh ]; then
# /etc/local/quota.sh "$user"
# fi
- [ -n "$QUOTASOFT" ] || QUOTASOFT="0"
- [ -n "$QUOTAHARD" ] || QUOTAHARD="0"
- for QUOTAHOME in $QUOTAHOMES; do
+ quotasoft="$QUOTASOFT"
+ quotahard="$QUOTAHARD"
+ for quotaoverride in $QUOTAOVERRIDES; do
+ for group in $groups; do
+ if [ "$quotaoverride" = "$group" ]; then
+ eval quotasoft=\"\$QUOTASOFT_${quotaoverride}\"
+ eval quotahard=\"\$QUOTAHARD_${quotaoverride}\"
+ continue
+ fi
+ done
+ done
+ for quotahome in $QUOTAHOMES; do
if [ -n "$NEW_QUOTA" ]; then
- setquota "$user" "$QUOTASOFT" "$QUOTAHARD" 0 0 "$QUOTAHOME"
+ setquota "$user" "$quotasoft" "$quotahard" 0 0 "$quotahome"
else
- setquota "$user" "$QUOTAHOME" "$QUOTASOFT" "$QUOTAHARD" 0 0
+ setquota "$user" "$quotahome" "$quotasoft" "$quotahard" 0 0
fi
done