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