Разработчики не должны иметь права на производство; Все, кроме разработчиков, согласны с этим. Но разработчики могут иметь свой торт и есть его тоже. Я несколько удивлен, что никто явно не упомянул это:
У одного из моих очень маленьких клиентов малого бизнеса есть веб-сайт с установкой Drupal, несколько сайтов WordPress, форум SMF и несколько других случайных небольших веб-приложений. Я являюсь контрактным системным администратором (и по историческим причинам также обновляю / взламываю WordPress и SMF при необходимости), и у моего клиента есть свой контрактный разработчик Drupal. Среда состоит из нескольких виртуальных машин VMware в общедоступном облачном провайдере.
Разработчики действительно хотят иметь root-доступ, и вроде как это нужно. Например, они несут ответственность за то, чтобы написать правила переписывания для nginx, чтобы все их собственные Drupal-компоненты работали. Но ни в коем случае я не даю им root-доступ на производственном сервере, и мой клиент согласен со мной в этом.
Поэтому мы пошли на компромисс: они получают root-доступ на тестовом веб-сервере (который, как правило, идентичен производственному, за исключением его IP-адреса и в том же облаке). У которого, как и у производства, есть etckeeper, поэтому я могу видеть любые изменения, которые им нужно было сделать, и любые пакеты, которые они установили. Затем я могу либо внести изменения в производство, либо сказать им, что не так с тем, что они хотят сделать. И если они действительно облажались (они еще нет, слава богу), я могу легко отменить их изменения.
Они вообще не имеют доступа к производственному серверу баз данных; у них даже нет пользовательских логинов. Только я и мой клиент.
(Само веб-приложение, они развертывают непосредственно с помощью git, и, если они ломают его, они исправляют его и объясняют моему клиенту, почему они должны оставаться его разработчиками. Хотя мой клиент отправил мне CC по такой электронной почте, чтобы я мог либо смеяться над ними или маской.)