AlternC/src/fixperms.sh

73 lines
2.2 KiB
Bash
Raw Normal View History

#!/bin/bash -e
#
# $Id: fixperms.sh,v 1.1 2005/08/29 19:21:31 benjamin Exp $
# ----------------------------------------------------------------------
# AlternC - Web Hosting System
# Copyright (C) 2002 by the AlternC Development Team.
# http://alternc.org/
# ----------------------------------------------------------------------
# Based on:
# Valentin Lacambre's web hosting softwares: http://altern.org/
# ----------------------------------------------------------------------
# LICENSE
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License (GPL)
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# To read the license please visit http://www.gnu.org/copyleft/gpl.html
# ----------------------------------------------------------------------
# Original Author of file: Benjamin Sonntag for Metaconsult
# Purpose of file: Fix permission and ownership of html files
# ----------------------------------------------------------------------
#
CONFIG_FILE="/etc/alternc/local.sh"
PATH=/sbin:/bin:/usr/sbin:/usr/bin
umask 022
if [ ! -r "$CONFIG_FILE" ]; then
echo "Can't access $CONFIG_FILE."
exit 1
fi
if [ `id -u` -ne 0 ]; then
echo "fixperms.sh must be launched as root"
exit 1
fi
. "$CONFIG_FILE"
doone() {
read GID LOGIN
2011-05-22 09:22:45 +00:00
while [ "$LOGIN" ] ; do
if [ "$DEBUG" ]; then
2011-05-22 09:22:45 +00:00
echo "Setting rights and ownership for user $LOGIN having gid $GID"
fi
INITIALE=`echo $LOGIN |cut -c1`
REP="$ALTERNC_LOC/html/$INITIALE/$LOGIN"
2011-05-22 09:22:45 +00:00
# Set the file readable only for the AlternC User
chown -R $GID:$GID "$REP"
chmod 2770 -R "$REP"
# Delete existings ACL
2011-05-22 17:23:59 +00:00
# Set the defaults acl on all the files
setfacl -b -k -m d:g:alterncpanel:rw- -R "$REP" \;
2011-05-22 09:22:45 +00:00
read GID LOGIN
done
}
mysql --defaults-file=/etc/alternc/my.cnf -B -e "select uid,login from membres" |grep -v ^uid|doone