ispCP - Board - Support
в FreeBSD не работает скрипт рассстановки прав - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: Russian Corner (/forum-53.html)
+--- Thread: в FreeBSD не работает скрипт рассстановки прав (/thread-14192.html)



в FreeBSD не работает скрипт рассстановки прав - schmel - 06-17-2011 09:50 PM

ISPcp-1.1.0 beta1. После установки не срабатывает скрипт set-gui-permissions.sh, на одном сервере после обновления - 403 ошибка на странице, на другом сервере - чистая установка и пустая страница. Во втором случае лечится установкой владельца vu2000:www В первом случае и это не помогло.

Создал Ticket #2566

В папке /usr/local/www/ispcp/engine/setup/ появляются пустые папки:

0755
root
wheel
-m
-g


Разработчики молчат как рыбы...
Может кто здесь подскажет как расковырять эти скрипты и заставить и работать как надо?


RE: в FreeBSD не работает скрипт рассстановки прав - h2005 - 07-01-2011 05:32 AM

А что логи апача говорят?


RE: в FreeBSD не работает скрипт рассстановки прав - beliy - 07-01-2011 11:09 PM

(06-17-2011 09:50 PM)schmel Wrote:  ISPcp-1.1.0 beta1. После установки не срабатывает скрипт set-gui-permissions.sh, на одном сервере после обновления - 403 ошибка на странице, на другом сервере - чистая установка и пустая страница. Во втором случае лечится установкой владельца vu2000:www В первом случае и это не помогло.

Создал Ticket #2566

В папке /usr/local/www/ispcp/engine/setup/ появляются пустые папки:

0755
root
wheel
-m
-g


Разработчики молчат как рыбы...
Может кто здесь подскажет как расковырять эти скрипты и заставить и работать как надо?

Ты конечно экстримал поставил beta1 да еще и на фряху, под которую допиливают когда на дебике все гуд. Надеюсь хоть не рабочем серваке? А по сабжу выложи содержимое set-gui-permissions.sh, мб гляну на досуге (данной панели у меня уже давно нет - спрыгнул с нее, а качать впадлу)


RE: в FreeBSD не работает скрипт рассстановки прав - schmel - 07-04-2011 05:31 AM

на рабочем серваке такие эксперименты не ставлю, готовлю новый сервак, вот и экспериментирую. Проблема в скрипте 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;
}