summaryrefslogtreecommitdiff
path: root/user-init
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2007-01-20 13:21:15 +0000
committerJonas Smedegaard <dr@jones.dk>2007-01-20 13:21:15 +0000
commita7d97335b7d5152cc1e8715d855947484f8b16d3 (patch)
tree0a8ca44bceeb3fe035d1bc5cf7a68870cb72d6c1 /user-init
parent5a92e5262bede5b11fbf2dcfb2b2038d9d5d5aae (diff)
Implement QUOTAOVERRIDES.
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