Блокировка отдельных пунктов меню панели управления DirectAdmin возможна через создание и редактирование файла /usr/local/directadmin/scripts/custom/all_pre.sh. Указанный файл имеет структуру обычного BASH скрипта с соответствующими правами пользователя и правом на выполнение и заголовком (шебангом).

Запрашиваемое меню передаётся в скрипт при вызове параметром $command. Далее внутри скрипта нужно сделать проверку и вернуть код возврата. Код возврата 0 (нуль) означает то, что скрипт выполнился успешно и пункт меню разрешён для показа. Код возврата отличный от нуля (число в диапазоне 1 — 255) сигнализирует об ошибке и запрещает показ отдельного элемента меню.

ПримечаниеКоманда exit позволяет явно указать код возврата, в виде: exit nnn, где nnn код возврата (число в диапазоне 0 — 255).

Следующая конструкция запрещает доступ к странице управления темами оформления.

if [ "$command" = "/CMD_SKINS" ]; then
    exit 1;
fi

Пример

cat << EOF > /usr/local/directadmin/scripts/custom/all_pre.sh
#!/bin/sh

if [ "\$command" = "/CMD_LICENSE" ]; then
    exit 1;
fi
if [ "\$command" = "/CMD_CUSTOM_HTTPD" ]; then
    exit 1;
fi
if [ "\$command" = "/CMD_SKINS" ]; then
    exit 1;
fi
if [ "\$command" = "/CMD_IP_MANAGER" ]; then
    exit 1;
fi
exit 0;
EOF

chown diradmin:diradmin /usr/local/directadmin/scripts/custom/all_pre.sh
chmod +x /usr/local/directadmin/scripts/custom/all_pre.sh

Добавить комментарий