summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xadduser.local67
-rwxr-xr-xdeluser.local26
2 files changed, 75 insertions, 18 deletions
diff --git a/adduser.local b/adduser.local
index d6bbbce..6c8dfbb 100755
--- a/adduser.local
+++ b/adduser.local
@@ -15,19 +15,62 @@ addgroup $NEWUSERNAME users
if [ -x /usr/local/sbin/user-init ]; then
/usr/local/sbin/user-init $NEWUSERNAME
- fi
+fi
-test -e /etc/samba/smbpasswd && \
- /usr/local/sbin/smbadduser $NEWUSERNAME:$NEWUSERNAME \
- || true
+# Samba password
+#FIXME: Check if enabled in samba.conf (or included files!)
+if [ -x /usr/local/sbin/smbadduser -a -f /etc/samba/smbpasswd -a -x /bin/csh ]; then
+ /usr/local/sbin/smbadduser $NEWUSERNAME:$NEWUSERNAME
+fi
-test -x /usr/sbin/add_members || exit 0
+# Mail forwarding
+#FIXME: Do some syntax checking and bail out with a warning if something wrong
+if [ -x /usr/local/sbin/userforward ]; then
+ echo -n "Forward mail to which account (leave blank to ignore)? "
+ read -s mailforward
+ echo
+ case $mailforward in
+ y|Y)
+ /usr/local/sbin/userforward $1 $mailforward
+ esac
+fi
-if [ -x /var/lib/mailman/lists/users ]; then
- /bin/echo $NEWUSERNAME@`/bin/dnsdomainname` \
- | /usr/sbin/add_members -n - users
+# Mailing lists
+listdir="/var/lib/mailman/lists"
+lists=""
+[ -d $listdir ] && \
+ lists=`find $listdir -type d -mindepth 1 -maxdepth 1 -exec basename '{}' \;`
+for list in $lists; do
+ if [ -d $listdir/$list -a -x /usr/sbin/add_members ]; then
+ echo -n "Subscribe to mailinglist $list (y/N)? "
+ read -s subscribe
+ echo
+ case $subscribe in
+ y|Y)
+ /bin/echo $NEWUSERNAME@`/bin/dnsdomainname` \
+ | /usr/sbin/add_members -n - users
+ ;;
+ esac
fi
-#if [ -x /var/lib/mailman/lists/friends ]; then
-# /bin/echo $NEWUSERNAME@`/bin/dnsdomainname` \
-# | /usr/sbin/add_members -n - friends
-# fi
+done
+
+#FIXME: Make this ALOT more generic (or move it to /etc/local/adduser.d)!
+if [ -d /home/christof/ftp_christof_ro ]; then
+ echo "Real users have read/write access to personal files."
+ echo "Dummy users have read access to published files."
+ echo -n "Is this a *real* user (y/N)? "
+ read -s realuser
+ echo
+ case $realuser in
+ y|Y)
+ addgroup $NEWUSERNAME realusers
+ ;;
+ *)
+ [ -e /home/christof/ftp_christof_ro/$1 ] \
+ || mkdir /home/christof/ftp_christof_ro/$1
+ chown christof: /home/christof/ftp_christof_ro/$1
+ chmod u=rw,go=r,a+X /home/christof/ftp_christof_ro/$1
+ ln -s /home/christof/ftp_christof_ro/$1 $4/images
+ ;;
+ esac
+fi
diff --git a/deluser.local b/deluser.local
index b5fd6f9..8277c31 100755
--- a/deluser.local
+++ b/deluser.local
@@ -13,11 +13,25 @@ test -e /etc/samba/smbpasswd && \
test -x /usr/sbin/remove_members || exit 0
-if [ -x /var/lib/mailman/lists/users ]; then
- /bin/echo $OLDUSERNAME@`/bin/dnsdomainname` \
- | /usr/sbin/remove_members -f - users
+if [ -x /usr/sbin/remove_members ]: then
+ if [ -d /var/lib/mailman/lists/users ]; then
+ /bin/echo $OLDUSERNAME@`/bin/dnsdomainname` \
+ | /usr/sbin/remove_members -f - users
fi
-if [ -x /var/lib/mailman/lists/friends ]; then
- /bin/echo $OLDUSERNAME@`/bin/dnsdomainname` \
- | /usr/sbin/remove_members -f - friends
+ if [ -d /var/lib/mailman/lists/friends ]; then
+ /bin/echo $OLDUSERNAME@`/bin/dnsdomainname` \
+ | /usr/sbin/remove_members -f - friends
fi
+fi
+
+#FIXME: Make this ALOT more generic!
+if [ -d /home/christof/ftp_christof_ro/$1 -a -n "$1" ]; then
+ echo -n "Remove files at christof (y/N)? "
+ read -s remove_files
+ echo
+ case $remove_files in
+ y|Y)
+ rm -rf /home/christof/ftp_christof_ro/$1
+ ;;
+ esac
+fi