на рабочем серваке такие эксперименты не ставлю, готовлю новый сервак, вот и экспериментирую. Проблема в скрипте engine\setup\ispcp-permission-functions.sh
По моему неправильно срабатывает регулярное выражение. Если заменить этот скрипт из версии 1.0.7 права выставляются корректно...
вот содержание скрипта из последней версии:
Code:
#!/bin/sh
# read needed entries from ispcp.conf
CONF_FILE="/etc/ispcp/ispcp.conf"
if [ -f /usr/local/etc/ispcp/ispcp.conf ]
then
CONF_FILE="/usr/local/etc/ispcp/ispcp.conf"
fi
OLD_IFS=$IFS
IFS=$
# Reading needed entries from ispcp.conf
for a in $(grep -E '^(APACHE_|CMD_|DEBUG|LOG_DIR|MR_LOCK|MTA_MAILBOX_|ROOT_|PHP_STARTER_DIR)' \
${CONF_FILE} | sed 's/\s*=\s*\(.*\)/="\1"/'); do
eval $a
done
IFS=$OLD_IFS
# Detect xargs version:
# - BSD has no "-r" argument (always acts as if it was specified)
# - GNU has "-r" argument, and we need it!
if echo 'test' | xargs -r >/dev/null 2>&1; then
XARGS="xargs -r"
else
XARGS="xargs"
fi
# for readability
PANEL_USER="$APACHE_SUEXEC_USER_PREF$APACHE_SUEXEC_MIN_UID"
PANEL_GROUP="$APACHE_SUEXEC_USER_PREF$APACHE_SUEXEC_MIN_GID"
# Helper function to recursively set owner and permissions to a folder. Args:
# (1) Path to the folder
# (2) User that will own the folder and all its contents
# (3) Group of the folder and all its contents
# (4) Directory and subdirectories permissions
# (5) File permissions
recursive_set_permissions() {
if [ $DEBUG -eq 1 ]; then
find $1 -type d -print0 | ${XARGS} -0 ${CMD_CHMOD} -v $4
find $1 -type f -print0 | ${XARGS} -0 ${CMD_CHMOD} -v $5
find $1 -print0 | ${XARGS} -0 ${CMD_CHOWN} -v $2:$3
else
find $1 -type d -print0 | ${XARGS} -0 ${CMD_CHMOD} $4
find $1 -type f -print0 | ${XARGS} -0 ${CMD_CHMOD} $5
find $1 -print0 | ${XARGS} -0 ${CMD_CHOWN} $2:$3
fi
}
# Helper function to set owner and permissions to a file/folder. Args:
# (1) Path to the file/folder
# (2) User that will own the folder and all its contents
# (3) Group of the folder and all its contents
# (4) Permissions
set_permissions() {
if [ $DEBUG -eq 1 ]; then
echo "$4 $2:$3 [$1]";
else
echo -n ".";
fi
${CMD_CHMOD} $4 $1;
${CMD_CHOWN} $2:$3 $1;
}