summaryrefslogtreecommitdiff
path: root/user-init
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2004-10-10 09:50:16 +0000
committerJonas Smedegaard <dr@jones.dk>2004-10-10 09:50:16 +0000
commit5fdda8d0a5bd4360a39ae48c911484fc16bcb874 (patch)
tree10467fa7c5ca4a7d1a030465b1dc20db4adfe93a /user-init
parentab77062a1b77d84e1dcb8120457c2ac447133365 (diff)
Quote all variables.
Diffstat (limited to 'user-init')
-rwxr-xr-xuser-init233
1 files changed, 117 insertions, 116 deletions
diff --git a/user-init b/user-init
index 6a7218e..4888115 100755
--- a/user-init
+++ b/user-init
@@ -94,52 +94,52 @@ for user in $USERS; do
# Ignore non-human accounts silently
[ "$uid" -ge "$FIRST_UID" -a "$uid" -le "$LAST_UID" ] || continue
- [ -d $HOME ] || continue
-# [ -L $HOME ] && continue
+ [ -d "$HOME" ] || continue
+# [ -L "$HOME" ] && continue
- echo -n $user
+ echo -n "$user"
# if [ -x /etc/local/quota.sh ]; then
-# /etc/local/quota.sh $user
+# /etc/local/quota.sh "$user"
# fi
- [ $QUOTASOFT ] || QUOTASOFT="0"
- [ $QUOTAHARD ] || QUOTAHARD="0"
+ [ -n "$QUOTASOFT" ] || QUOTASOFT="0"
+ [ -n "$QUOTAHARD" ] || QUOTAHARD="0"
for QUOTAHOME in $QUOTAHOMES; do
- if [ $NEW_QUOTA ]; then
- setquota $user $QUOTASOFT $QUOTAHARD 0 0 $QUOTAHOME
+ if [ -n "$NEW_QUOTA" ]; then
+ setquota "$user" "$QUOTASOFT" "$QUOTAHARD" 0 0 "$QUOTAHOME"
else
- setquota $user $QUOTAHOME $QUOTASOFT $QUOTAHARD 0 0
+ setquota "$user" "$QUOTAHOME" "$QUOTASOFT" "$QUOTAHARD" 0 0
fi
done
- mkdir -p $HOME/mail
- if [ "$USE_MBOX" ]; then
- touch $HOME/mail/mbox
- elif [ -f $HOME/mail/mbox -a ! -s $HOME/mail/mbox ]; then
- rm -f $HOME/mail/mbox
+ mkdir -p "$HOME/mail"
+ if [ -n "$USE_MBOX" ]; then
+ touch "$HOME/mail/mbox"
+ elif [ -f "$HOME/mail/mbox" ] && [ ! -s "$HOME/mail/mbox" ]; then
+ rm -f "$HOME/mail/mbox"
fi
- if [ $NETATALK ]; then
- mkdir -p $HOME/$mac
+ if [ -n "$NETATALK" ]; then
+ mkdir -p "$HOME/$mac"
fi
- if [ $SAMBA ]; then
- mkdir -p $HOME/$pc
+ if [ -n "$SAMBA" ]; then
+ mkdir -p "$HOME/$pc"
fi
- if [ $XCHANGE ]; then
- mkdir -p $XDIRREAL/$user
+ if [ -n "$XCHANGE" ]; then
+ mkdir -p "$XDIRREAL/$user"
fi
- if [ $PUBLIC ]; then
- mkdir -p $HOME/public_html
+ if [ -n "$PUBLIC" ]; then
+ mkdir -p "$HOME/public_html"
fi
#TODO: Enable this only when option implemented to do it non-interactively
# echo # dirty hack: better if being able to lower verbosity of localuserconfig
-# su -s /bin/bash -c localuserconfig $user
+# su -s /bin/bash -c localuserconfig "$user"
- if [ "$do_server" = "yes" -a -r "$server_conf" -a -f $HOME/"$server_userconf" ]; then
- server_username="$(grep '^username' $HOME/$server_userconf | awk -F= '{print $2}' | head -1 | awk '{print $1}')"
+ if [ "$do_server" = "yes" ] && [ -r "$server_conf" ] && [ -f "$HOME/$server_userconf" ]; then
+ server_username="$(grep '^username' \"$HOME/$server_userconf\" | awk -F= '{print $2}' | head -1 | awk '{print $1}')"
if [ -n "$server_username" ]; then
if grep -q "^volume $user " "$server_conf"; then
perl -pi -e "s|^volume $user .*|volume $user smb $server_name $server_username $HOME/$server_root uid=$user,gid=$user - -|" "$server_conf"
@@ -149,74 +149,75 @@ for user in $USERS; do
fi
fi
- chown $user: $HOME
- chmod u=rwX,go=rX $HOME
+ chown "$user": "$HOME"
+ chmod u=rwX,go=rX "$HOME"
# Mail handling
- chown -R $user: $HOME/mail
- chmod -R u=rw,go=,u+X $HOME/mail
- if [ -f $HOME/.mailboxlist ]; then
- chown $user: $HOME/.mailboxlist
- chmod 0640 $HOME/.mailboxlist
+ chown -R "$user": "$HOME/mail"
+ chmod -R u=rw,go=,u+X "$HOME/mail"
+ if [ -f "$HOME/.mailboxlist" ]; then
+ chown "$user": "$HOME/.mailboxlist"
+ chmod 0640 "$HOME/.mailboxlist"
fi
- if [ -f $HOME/.forward ]; then
- chown $user: $HOME/.forward
- chmod 0640 $HOME/.forward
+ if [ -f "$HOME/.forward" ]; then
+ chown "$user": "$HOME/.forward"
+ chmod 0640 "$HOME/.forward"
fi
- if [ -f /var/mail/$user ]; then
- chown $user:mail /var/mail/$user
- chmod ug=rw,o= /var/mail/$user
- elif [ -f /var/spool/mail/$user ]; then
- chown $user:mail /var/spool/mail/$user
- chmod ug=rw,o= /var/spool/mail/$user
+ if [ -f "/var/mail/$user" ]; then
+ chown "$user":mail "/var/mail/$user"
+ chmod ug=rw,o= "/var/mail/$user"
+ elif [ -f "/var/spool/mail/$user" ]; then
+ chown "$user":mail "/var/spool/mail/$user"
+ chmod ug=rw,o= "/var/spool/mail/$user"
fi
# MySQL handling
- if [ -f $HOME/.my.cnf ]; then
- chown $user: $HOME/.my.cnf
- chmod 0600 $HOME/.my.cnf
+ if [ -f "$HOME/.my.cnf" ]; then
+ chown "$user": "$HOME/.my.cnf"
+ chmod 0600 "$HOME/.my.cnf"
fi
# Mac dir permissions
- if [ -d $HOME/$mac ]; then
- chown -R $user: $HOME/$mac
- chmod -R u=rw,g=r,o=,ug+X $HOME/$mac
- rm -rf $HOME/$mac/Network\ Trash\ Folder
- mkdir $HOME/$mac/Network\ Trash\ Folder
- chown nobody: $HOME/$mac/Network\ Trash\ Folder
- chmod a= $HOME/$mac/Network\ Trash\ Folder
+ if [ -d "$HOME/$mac" ]; then
+ chown -R "$user": "$HOME/$mac"
+ chmod -R u=rw,g=r,o=,ug+X "$HOME/$mac"
+ rm -rf "$HOME/$mac/Network Trash Folder"
+ mkdir "$HOME/$mac/Network Trash Folder"
+ chown nobody: "$HOME/$mac/Network Trash Folder"
+ chmod a= "$HOME/$mac/Network Trash Folder"
fi
# PC dir permissions
- if [ -d $HOME/$pc ]; then
- chown -R $user: $HOME/$pc
- chmod -R u=rw,g=r,o=,ug+X $HOME/$pc
+ if [ -d "$HOME/$pc" ]; then
+ chown -R "$user": "$HOME/$pc"
+ chmod -R u=rw,g=r,o=,ug+X "$HOME/$pc"
fi
+#FIXME: something is wrong with prefixing "x" here...
# Exchange dir permissions
- if [ -d $XDIRREAL/$user ]; then
- chown -R $user:users $XDIRREAL/$user
- chmod -R g=r,g+X $XDIRREAL/$user
+ if [ -d "$XDIRREAL/$user" ]; then
+ chown -R "$user":users "$XDIRREAL/$user"
+ chmod -R g=r,g+X "$XDIRREAL/$user"
if [ -e "x$HOME/$xchange" ]; then
if [ -L "x$HOME/$xchange" ]; then
- ln -sf $XDIRREAL/$user $HOME/$xchange
+ ln -sf "$XDIRREAL/$user $HOME/$xchange"
else
- echo "ERROR: $HOME/$xchange exists already. Leaving it as is..."
+ echo "ERROR: \"$HOME/$xchange\" exists already. Leaving it as is..."
fi
else
- ln -s $XDIRREAL/$user $HOME/$xchange
+ ln -s "$XDIRREAL/$user" "$HOME/$xchange"
fi
fi
# Public dir permissions
- if [ -d $HOME/public_html ]; then
- chown -R $user: $HOME/public_html
- chmod -R u+rX,go=r,go+X $HOME/public_html
- if [ $NETATALK ]; then
- rm -rf $HOME/public_html/Network\ Trash\ Folder
- mkdir $HOME/public_html/Network\ Trash\ Folder
- chown nobody: $HOME/public_html/Network\ Trash\ Folder
- chmod a= $HOME/public_html/Network\ Trash\ Folder
+ if [ -d "$HOME/public_html" ]; then
+ chown -R "$user": "$HOME/public_html"
+ chmod -R u+rX,go=r,go+X "$HOME/public_html"
+ if [ -n "$NETATALK" ]; then
+ rm -rf "$HOME/public_html/Network Trash Folder"
+ mkdir "$HOME/public_html/Network Trash Folder"
+ chown nobody: "$HOME/public_html/Network Trash Folder"
+ chmod a= "$HOME/public_html/Network Trash Folder"
fi
fi
@@ -320,105 +321,105 @@ for user in $USERS; do
# Deprecated share permissions
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/shares_win"`; do
- chgrp -R $user $dir
- chmod -R u=rw,g=rw,o=,ug+X,g+s $dir
+ chgrp -R "$user" "$dir"
+ chmod -R u=rw,g=rw,o=,ug+X,g+s "$dir"
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/shares_mac"`; do
- chgrp -R $user $dir
- chmod -R u=rw,g=rw,o=,ug+X,g+s $dir
- rm -rf $dir/Network\ Trash\ Folder
- mkdir $dir/Network\ Trash\ Folder
- chown nobody: $dir/Network\ Trash\ Folder
- chmod a= $dir/Network\ Trash\ Folder
+ chgrp -R "$user" "$dir"
+ chmod -R u=rw,g=rw,o=,ug+X,g+s "$dir"
+ rm -rf "$dir/Network Trash Folder"
+ mkdir "$dir/Network Trash Folder"
+ chown nobody: "$dir/Network Trash Folder"
+ chmod a= "$dir/Network Trash Folder"
done
# Ftp shares permissions
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/ftp_$USER$"`; do
- chgrp -R $user $dir
- chmod -R ug=rw,o=r,a+X,g+s $dir
- rm -rf $dir/Network\ Trash\ Folder
- mkdir $dir/Network\ Trash\ Folder
- chown nobody: $dir/Network\ Trash\ Folder
- chmod a= $dir/Network\ Trash\ Folder
+ chgrp -R "$user" "$dir"
+ chmod -R ug=rw,o=r,a+X,g+s "$dir"
+ rm -rf "$dir/Network Trash Folder"
+ mkdir "$dir/Network Trash Folder"
+ chown nobody: "$dir/Network Trash Folder"
+ chmod a= "$dir/Network Trash Folder"
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/ftp_${USER}_ro$"`; do
- chown -R $user: $dir
- chmod -R u=rw,go=r,a+X $dir
- rm -rf $dir/Network\ Trash\ Folder
- mkdir $dir/Network\ Trash\ Folder
- chown nobody: $dir/Network\ Trash\ Folder
- chmod a= $dir/Network\ Trash\ Folder
+ chown -R "$user": "$dir"
+ chmod -R u=rw,go=r,a+X "$dir"
+ rm -rf "$dir/Network Trash Folder"
+ mkdir "$dir/Network Trash Folder"
+ chown nobody: "$dir/Network Trash Folder"
+ chmod a= "$dir/Network Trash Folder"
done
# Web shares permissions
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/web_"`; do
- chown -R $user: $dir
+ chown -R "$user": "$dir"
# chmod -R u=rw,go=r,a+X $webdir
#TODO: Only cgi scripts (.cgi and .pl) should be executable
- chmod -R u+rw,go+r,a+X $dir
+ chmod -R u+rw,go+r,a+X "$dir"
# leftover from ancient times with another policy
if [ $NETATALK ]; then
- rm -rf $dir/Network\ Trash\ Folder
+ rm -rf "$dir/Network Trash Folder"
fi
done
# Web shares permissions
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/websites"`; do
- chown root: $dir
- chmod a=r,u+w,a+X $dir
+ chown root: "$dir"
+ chmod a=r,u+w,a+X "$dir"
done
for dir in `find $HOME -mindepth 2 -maxdepth 2 -type d | egrep "^$HOME/websites/"`; do
- chown -R $user: $dir
+ chown -R "$user": "$dir"
# chmod -R u=rw,go=r,a+X $webdir
#TODO: Only cgi scripts (.cgi and .pl) should be executable
- chmod -R u+rw,go+r,a+X $dir
+ chmod -R u+rw,go+r,a+X "$dir"
# leftover from ancient times with another policy
if [ $NETATALK ]; then
- rm -rf $dir/Network\ Trash\ Folder
+ rm -rf "$dir/Network Trash Folder"
fi
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/webscripts"`; do
- chown root: $dir
- chmod a=r,u+w,a+X $dir
+ chown root: "$dir"
+ chmod a=r,u+w,a+X "$dir"
done
for dir in `find $HOME -mindepth 2 -maxdepth 2 -type d | egrep "^$HOME/webscripts/"`; do
- chown -R $user: $dir
+ chown -R $user: "$dir"
# chmod -R u=rw,go=r,a+X $webdir
#TODO: Only cgi scripts (.cgi and .pl) should be executable
- chmod -R u+rw,go+r,a+X $dir
+ chmod -R u+rw,go+r,a+X "$dir"
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/webdata"`; do
- chown $user: $dir
- chmod a=r,u+w,a+X $dir
+ chown "$user": "$dir"
+ chmod a=r,u+w,a+X "$dir"
done
for dir in `find $HOME -mindepth 2 -maxdepth 2 -type d | egrep "^$HOME/webdata/"`; do
- chown -R $user: $dir
- chmod -R u=rw,go=,u+X $dir
+ chown -R "$user": "$dir"
+ chmod -R u=rw,go=,u+X "$dir"
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/webshareddata"`; do
- chown $user: $dir
- chmod a=r,u+w,a+X $dir
+ chown "$user": "$dir"
+ chmod a=r,u+w,a+X "$dir"
done
for dir in `find $HOME -mindepth 2 -maxdepth 2 -type d | egrep "^$HOME/webshareddata/"`; do
- chown -R $user: $dir
- chmod -R u=rw,go=r,a+X $dir
+ chown -R "$user:" "$dir"
+ chmod -R u=rw,go=r,a+X "$dir"
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/webphpsites"`; do
- chown root: $dir
- chmod u=rw,go=r,a+X $dir
+ chown root: "$dir"
+ chmod u=rw,go=r,a+X "$dir"
done
for dir in `find $HOME -mindepth 2 -maxdepth 2 -type d | egrep "^$HOME/webphpsites/"`; do
- chown -R $user:www-data $dir
+ chown -R "$user":www-data "$dir"
# chmod -R ug=rw,o=r,a+X $dir
- chmod -R ug=rw,o=,ug+X $dir
+ chmod -R ug=rw,o=,ug+X "$dir"
done
for dir in `find $HOME -mindepth 1 -maxdepth 1 -type d | egrep "^$HOME/webphpdata"`; do
- chown root: $dir
- chmod a=r,u+w,a+X $dir
+ chown root: "$dir"
+ chmod a=r,u+w,a+X "$dir"
done
for dir in `find $HOME -mindepth 2 -maxdepth 2 -type d | egrep "^$HOME/webphpdata/"`; do
- chown -R $user:www-data $dir
- chmod -R ug=rw,o=,ug+X $dir
+ chown -R "$user":www-data "$dir"
+ chmod -R ug=rw,o=,ug+X "$dir"
done
# Dummy user restrictions