Назад | Перейти на главную страницу

Сделать моего пользователя git и пользователя apache иметь доступ на чтение / запись / удаление

У меня проблемы с разрешением на моем сервере. Я использую пользовательского разработчика, чтобы вытащить свой репозиторий git на сервер. Затем apache использует своего собственного пользователя apache для написания и выполнения кода. У меня всегда возникают проблемы, когда приложение хочет что-то записать в каталог (например, файлы журнала и кеш ...), если я выполняю задание cron, и оно использует мои права разработчика и хочет добавить что-то в записанные папки пользователем apache.

Мой вопрос: как сделать так, чтобы у моего разработчика был такой же доступ на запись / удаление, что и у моего apache, и чтобы избежать конфликтов разрешений друг с другом? Я плохо владею командой linux, поэтому было бы полезно, если бы вы могли предоставить ссылки или просто примеры этого.

Спасибо.

Моя идея заключалась в том, чтобы сделать каталог владельцем следующего: developer.app или apache.app.

В Баше:

ROOT=/some/directory/app
chown -R developer.app $ROOT

или

chown -R apache.app $ROOT

В первом случае необходимо иметь «apache» в группе «приложение», во втором - «разработчик» в группе «приложение». Затем вам нужно установить одинаковые разрешения для обоих: владельца и группы для всех файлов / каталогов. Как это сделать, зависит от используемой вами инфраструктуры. Это может быть grepping / etc / passwd для поиска второго числа и / etc / group для имен групп. Если вы используете centrify или другое программное обеспечение, которое подключает Linux к централизованной базе данных учетных записей, вам, вероятно, потребуется выполнить su для конкретной учетной записи и выполнить id.

Мое упрощенное практическое правило - сделать все файлы rw- и скрипты в каталоге хуков rwx, но ваш код, вероятно, требует большей детализации. Это хорошая практика - избегать разрешений 777.

find $ROOT -type f -exec chmod 0660 {} \;
find $ROOT -type d -exec chmod 0770 {} \;
find $ROOT/.git/hooks -type f -exec chmod 0770 {} \;

Вы можете предпочесть использовать ug+rw или ug+rwx что только добавляет недостающие разрешения. Наверное, лучше, если у вас уже есть какие-то конкретные eXec разрешения на некоторые файлы.

Чтобы автоматически сделать новые файлы и каталоги доступными для чтения / записи для обоих, установите umask на 0007.