Блокировка отдельных пунктов меню панели управления 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