Блокировка отдельных пунктов меню панели управления DirectAdmin возможна через создание и редактирование файла /usr/local/directadmin/scripts/custom/all_pre.sh. Указанный файл имеет структуру обычного BASH скрипта с соответствующими правами пользователя и правом на выполнение и заголовком (шебангом).
Запрашиваемое меню передаётся в скрипт при вызове параметром $command. Далее внутри скрипта нужно сделать проверку и вернуть код возврата. Код возврата 0 (нуль) означает то, что скрипт выполнился успешно и пункт меню разрешён для показа. Код возврата отличный от нуля (число в диапазоне 1 — 255) сигнализирует об ошибке и запрещает показ отдельного элемента меню.
ПримечаниеКоманда exit позволяет явно указать код возврата, в виде: exit nnn, где nnn код возврата (число в диапазоне 0 — 255).
Следующая конструкция запрещает доступ к странице управления темами оформления.
1 2 3 | if [ "$command" = "/CMD_SKINS" ]; then exit 1; fi |
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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 |