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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.