backuppc имеет недостающие пункты меню после установки

Проблема: backuppc пропускает существенные пункты меню в своем веб-интерфейсе. Объекты "Хосты Редактирования", "Конфигурация Редактирования" и т.д. отсутствует.

backuppc установлен на Ubuntu 14.04.4 LTS. Я даже полностью удалил backuppc приложение (использование dpkg --purge backupppc), и переустановленный это (склонный - получают установку backuppc). Пункты меню все еще отсутствуют.

link-to-screenshot

При выполнении/usr/lib/backuppc/cgi-bin/index.cgi непосредственно в CLI, я действительно получаю недостающие пункты меню. Вывод HTML от index.cgi включает:

<a href="?action=editConfig">Edit Config</a>
<a href="?action=editConfig&amp;newMenu=hosts">Edit Hosts</a>

Я пытался выполнить de index.cgi на командной строке как корень, backuppc и www-данные, все вывод относительно того же. (Я должен был включить оболочку входа в систему для www-данных),

Однако это отсутствует при доступе backuppc администратор от консоли в браузере.

Файл/etc/backuppc/config.pl содержит:

$Conf{CgiAdminUserGroup} = 'backuppc';
$Conf{CgiAdminUsers}     = 'backuppc';

Когда я изменяюсь $Conf{CgiAdminUsers} кому: '*' вместо 'backuppc', это работает, но я предпочитаю не давать доступ администратора всем пользователям, таким образом, это может только служить временно обходное решение.

апачская конфигурация является значением по умолчанию путем установки backuppc пакета:

<Directory /usr/share/backuppc/cgi-bin/>
        AllowOverride None
        Allow from all

        Options ExecCGI FollowSymlinks
        AddHandler cgi-script .cgi
        DirectoryIndex index.cgi

        AuthUserFile /etc/backuppc/htpasswd
        AuthType basic
        AuthName "BackupPC admin"
        require valid-user
</Directory>

Содержание выше находится в /etc/backuppc/apache.conf который символически связан от /etc/apache2/conf.d/backuppc.conf.

Для анализа задач я добавил следующий сценарий к /usr/lib/backuppc/cgi-bin/debug.cgi:

#!/usr/bin/perl
printf("My userid is $> (%s)\n", (getpwuid($>))[0]);

Вывод, записанный в апачах error.log, после аутентификации, был:

My userid is 33 (www-data)

Таким образом, идентификатор пользователя неправильно передается BackupPc. Идентификатор пользователя передал, www-data где я ожидал, что аутентифицируемый идентификатор пользователя, переданный BackupPc, будет backuppc поскольку последний является тем, с которым я раньше входил в систему. Так, вероятно, это - апачская проблема конфигурации.

Я добавил второй cgi сценарий printenv.cgi которые производят переменные среды. Сценарий содержит:

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n";
}

Вывод содержал:

REMOTE_USER="$REDIRECT_REMOTE_USER="

где backuppc требует что эта переменная среды REMOTE_USER содержит аутентифицируемого пользователя (backuppc в моем примере). Оказывается что неправильное REMOTE_USER причина проблемы.

Диагностические сценарии были помещены в /usr/lib/backuppc/cgi-bin/ и были символически связаны от /usr/share/backuppc/cgi-bin/. Их владение было backupc:www-data и им предоставили chmod a+x и u+s полномочия.

1
задан 30 March 2016 в 22:28

1 ответ

С выводом REMOTE_USER="$REDIRECT_REMOTE_USER=", я сделал grep на REMOTE_USER в сценариях конфигурации ниже /etc/apache2/conf-enabled. Я нашел .conf файл, который содержал:

SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER

.conf сценарий был не связан с backuppc. Добавление префикса строки REMOTE_USER с # и затем перезапуск сервисов

# apachtectl restart
# service backuppc restart

решили вопрос.

0
ответ дан 10 September 2019 в 02:19
  • 1
    Эта работа для Вас? last --time-format=iso | grep "2017-0[0-6]" – Ravexina 28 June 2017 в 20:05

Другие вопросы по тегам:

Похожие вопросы: