Является ли деплой от root нормальной практикой в production?
Столкнулся я недавно с похожей ситуацией. Пришлось целый скрипт написать по деплою.
Установка программ - это
исключительно прерогатива админа. Разраб на боевом сервере должен иметь права (если он там вообще есть) обычного юзера.
За работу сервера отвечает админ
То есть, если сервер ляжет (тем более 16 бубунта, вышедшая 10 лет назад (десять, Карл!)) - кто будет отвечать? Правильно, админ. Поэтому и не должно быть никаких деплоев не от рута.
Здесь надо сказать, что практика деплоя самим разрабом (даже в ограниченных условиях) - это вообще неправильно. Разраб должен отладить проект у себя, потом подготовить дистриб и доки, по которым админ установит
сам.
Даже допуск разраба к деплою - это уже серьезное послабление. У меня сделано как - есть некий скрипт, который запускается через sudo. Этот скрипт сам заберет последнюю версию приложения с гита, сам распакует, сам расставит все по местам. По идее это все нужно было в portage оформить, но времени нет, свое налабать проще...
Если есть замечания по безопасности - стоит сначала написать об этом непосредственно ответственному, то есть админу. Если он ничего не говорит или тупо без обьяснений отказывает - идти к руководству отдела. Не нужно влезать в конфликт непосредственно - вполне может так случиться, что "там" договорятся, а Вас обьявят стрелочником :)
Не Ваша зона ответственности -- не отвечайте. Игры ы "теневого админа", "теневого директора" (а вот я бы на месте ... сделал... ) ни к чему не приводят.
Админ отвечает за работу сервера. Полностью. Если что-то ложится, то винова в первую очередь он, именно потому что только у него права что-то менять на сервере.