Ну что вы как дети? Каждый раз этот вечнозелёный вопрос обрастает гроздьями любопытных.
Спарсить весь интернет мы хочем, а научиться пользоваться одним поисковым сервисом - не можем.
Разработчик прикладного ПО называется, вы не поверите, разработчиком прикладного ПО. Впрочем, судя по контексту вопроса, вас интересует не диалектика прикладного и системного ПО, а web-разработка в противопоставлении десктопной. Курсы можете не искать, потому что курсы в любой области - это способ собрать бабло с дурачков. Если не зашли книги, то вероятно, что ИТ просто не для вас.
А мы то знаем как вам нужно? Делайте как того требует логика приложения. Нужна возможность восстановить запись? Пишите флаг. Не нужно восстанавливать? Удаляйте.
Включите логгирование. Выясните - какие запросы чаще всего поступают, какие запросы дольше всего выполняются. Оптимизируйте.
Следующий этап - создание очереди запросов (возможно потребуется пересмотр имеющейся архитектуры) приложения.
Во первых - где сама форма?
Во вторых - у полей есть айди, но нету имен, что за фигня?
в третьих - берете формдату из формы, и из энтиес делаете объект
const data = new FormData(formElement);
const value = Object.fromEntries(data.entries());
console.log(value);
Подозреваю, что "заблокировать рута" в вашем случае - не значит отключить учётную запись, а что-нибудь типа выключения возможности ходить рутом по SSH.
"Часть опций" при прямом доступе к конфигу ограничить не получится - одинаковые директивы ниже по конфигу имеют более высокий приоритет. Придётся колхозить скрипт, который разрешал бы менять только нужное + проверять конфиг на валидность.
Вообще, имхо, идея не очень. Лучше сделать общий веб-сервер, и проксировать с него запросы на отдельные для каждого пользователя, которые те смогут ломать как им заблагорассудится.