LINUX.ORG.RU
Форум — Admin  

Как предоставить доступ разработчику ограничив привилегии, чтобы не потер лишнего

 


0

1

На сервере крутится только один сайт на PHP + MySQL + uploads в виде pdf/doc файлов. Владелец хочет нанять нового разработчика чтобы дописывать код под их нужды.

Вопрос: как разработчику ограничить доступ на сервере, чтобы он не удалил чего лишнего?

Я не разработчик, могу сделать копию сайта, почистить загруженные данные, потереть записи в MySQL, оставив например по сотне записей в каждой таблице и развернуть это на субдомене.

Раньше так и делал, но это не особо понадобилось.

Последний разраб пилил dev/staging/live серверы и все environments сам настраивал.

Как можно подойти к этому? Спасибо.

Есть статьи с лучшими практиками по данному вопросу?

Могут быть проблемы у него, если права урежешь. Лучше пусть он пишет в специально созданной песочнице, которая будет бэкапиться каждую ночь с версиями. Если что то сотрет, то можно восстановить обратно.

justin_case ★
()

Как можно подойти к этому?

У разработчика не должно быть доступа. Это и есть лучшая практика.

Deleted
()
Ответ на: комментарий от dopedopedope

Есть статьи с лучшими практиками по данному вопросу?

Попросить разработчика собирать deb пакеты, или на худой конец docker.

Deleted
()
Ответ на: комментарий от dopedopedope

Слышал и настраивал CI/CD. Есть ли другие пути кроме как: - завести гитрепозиторий на гитлабе - создать staging live субдомены - опкладывать все х...ми тестами - настраивать билдхуки, пайплайны.

Может быть есть свой путь? Простой, как железная дорога?

Keep calm and deploy to production?

dopedopedope ★
() автор топика

Про очевидный докер уже сказали. На крайний случай — выдели ему отдельного пользователя. По желанию можешь загнать его в убогий и дырявый lshell (как защита от дурака — в принципе, сгодится).

tolstoevsky ★
()

На всякий случай уточню:

На сервере крутится только один сайт на PHP + MySQL + uploads

На этом сервере есть что-то еще? Или он исключительно для этого сайта?

anc ★★★★★
()
Ответ на: комментарий от anonymous

Есть три кандидатуры, но выбран будет только один. Как пойдет. Если пойдет хорошо, может год+ постоянно нужно что-то допиливать. Если не пойдет - давай досвидания.

Есть еще момент - персональные данные. Как только доступ будет предоставлен - появится возможность слития данных на сторону, что категорически не приемлемо.

dopedopedope ★
() автор топика
Ответ на: комментарий от anc

Есть все под этот сайт. Там почтовый сервер есть, например, который работает как релей для рассылок всяких.

Ничего другого, все под один проект.

dopedopedope ★
() автор топика
Последнее исправление: dopedopedope (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Не хочу ничего, мне фиолетово. Меня волнует, чтобы данные не грохнули.

Хочет начальник - допилить его сайт.

dopedopedope ★
() автор топика
Ответ на: комментарий от dopedopedope

О боже, 46 гигов! Это же в два раза больше чем весь мой диск в 2001 году!

Deleted
()
Ответ на: комментарий от dopedopedope

В энтерпрайзе для этого делают несколько уровней ролаута, например prod, preprod и dev, и все выкатывания новых релизов происходят последовательно, от dev до prod. Девелоперы сначала сами( или посредством CI) выкатывают на dev, затем админы на preprod, где уже овнеры продуктов тестируют фичи, а потом уже админы на прод, в этом случае developers могут не иметь доступа к данным на prod, на pre-prod и dev не актуальные слепки базы.

anonymous
()

Самое простое решение - развернуть докер на хост машине. Веб-сервер в докере, база на хосте (естественно, не давать рут пользователя). Всё это бэкапится с выгрузкой в несколько независимых хранилищ и никаких проблем в случае чего. Для удобств разработчика пробросить порт ssh и всё, пусть себе работает.

InterVi ★★★★★
()

«разработчика» точно не надо пускать на production. копия сайта с минимум данных (лучше левых тестовых) в db - это единственный путь. как я понимаю, код сайта ты не держишь в системе контроля версий? это очень большая проблема и ее надо срочно исправить. поставь gitolite. потом сделаешь ветку специально для разработчика с которой он будет работать. из этой ветки будешь по хуку или, что проще, по крону, pull-ить из этой ветки в тестовый сервер. Если же разработчик не умеет пользоваться git-ом, то с ним точно не стоит сотрудничать.

adn ★★★★★
()

омг никак.

Разраб не должен иметь доступа на прод.

PunkoIvan ★★★★
()
Ответ на: комментарий от dopedopedope

У меня на простом проекте сделано так поставлен gitosis на сервер и хуком post-receive обновляются данные после того как разработчик залил код. При этом у него нет возможности зайти на сервер и вся работа с сервером происходит через git.

avb
()

Тут вот какое дело - чтобы разраб случайно (а это очень вероятно) не грохнул твой сервер с данными придумано использовать тестовый сервер, с которым можно делать что угодно и 46 Гб это смешно в 2019. А вот если разраб специально хочет получить доступ на сервер, то только нанимать других разрабов на аудит кода, но не факт что поможет, если первый разраб старался сделать незаметный бэкдор.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Плюсану:

то только нанимать других разрабов на аудит кода, но не факт что поможет

И дополню: и аудит может оказаться дороже чем сделать заново.

Тут есть нюансы:

если первый разраб старался сделать незаметный бэкдор

не всегда это может быть специально, на момент разработки может оставить «некую лазейку» для лучшей отладки. Вот она и останется.
В таких ситуациях скорее играет роль человеческого фактора. Например нормальный разраб, с ним попрощались, не обидели, да и нафиг ему уперлась ваша система. Забыли и забили. Репутация дороже.
Или, нормальный разраб, с ним попрощались, не сильно обидели, но так же «Забыли и забили. Репутация дороже.»
Или «не нормальный разраб», которого уже двадцать раз кидали, он и будет вставлять бэкдоры во все проекты.
2ТС Я все это к тому, если вы по «жесткому» расходитесь с разрабом, потенциально готовьтесь к тому что он в последствии может и вам тем же ответить.
И наоборот, сделал работу, получил нормальную «денешку», в последствии за мелкие доработки или небольшую «денешку» возьмет или вообще бесплатно сделает.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.