разрешения файловой системы при разработке на разных машинах - PullRequest
1 голос
/ 24 апреля 2009

Я установил стек xampp (apache + mysql + php) на переносном томе (том truecrypt на USB-диске), который я использую на разных компьютерах Linux для разработки веб-приложений.

Этот том отформатирован в ext3, поэтому у меня возникают проблемы с разрешениями, так как я не могу быть одним и тем же пользователем на каждой машине. Например, я попытался проверить состояние git проекта, запущенного на другом компьютере, и доступ запрещен.

В прошлый раз, когда я столкнулся с подобной проблемой, я выполнил chmod 777 (или это был chown?) Для всего каталога, так что я предполагаю, что статус разрешений моих файлов php грязный. На этот раз меня также беспокоят особые случаи, такие как файлы git и веб-фреймворк Symfony, который я недавно установил.

Как мне справиться с этой ситуацией? Я бы хотел правильно разрешить эту проблему.

Большое спасибо за ваше внимание.


Редактировать: Мне может понадобиться написать скрипт для локального «sudo chown lampp: lamppusers» каждый раз, когда я использую другую машину. Или какой-нибудь трюк с git voodoo при экспорте локальных репозиториев? Есть идеи?

Ответы [ 2 ]

2 голосов
/ 24 апреля 2009

Я сомневаюсь, что есть способ обойти это - вы могли бы попробовать использовать списки ACL SELinux вместо обычного разрешения, но я думаю, это было бы излишним для вас.

Я бы посоветовал просто установить для всего каталога значение 777 с помощью chmod (chown изменения владельца), так как пользователь и группа, в которой находится каждый пользователь, будут отличаться на каждой машине, вы не сможете добиться большего успеха. Ваша единственная проблема здесь - это безопасность, но, поскольку она находится в вашей локальной коробке для ваших собственных целей, я не вижу проблемы. Только после того, как вы скопируете файлы на сервер, после чего вам лучше всего их правильно восстановить.

Вы можете попробовать аутентификацию на сервере LDAP, вы получите uid для имени пользователя, которое вы вводите, и это будет сопоставлено с одним и тем же uid на каждом ПК, чтобы вы могли один раз установить группу или владельца. (Я думаю, вам нужно спросить кого-то более опытного в отображениях LDAP ud).

0 голосов
/ 24 апреля 2009

Это лучшее решение, которое я нашел:

sudo chown -R polypheme:lamppusers webdir

Таким образом, я снова могу владеть всем каталогом с моим локальным именем пользователя и локальной группой.

  • полифема это имя пользователя
  • lamppusers - это имя группы
  • webdir - это каталог, содержащий все мои файлы веб-разработки

Обратите внимание, что на компьютере 1 мое имя пользователя - полифема, и я принадлежу к группе lamppusers, а на компьютере 2 мое имя пользователя - полифема, и я принадлежу к группе lamppusers. Имена пользователей и группы абсолютно совпадают. Я не уверен на 100%, что это сработало бы отлично, если бы имена оказались разными.

Я не модифицировал ни один chmod, что хорошо, так как проблема намного сложнее, чем просто сведение всех прав доступа к файлу с глобальным

chmod -R 744 webdir  

Было бы неправильно делать защищенные файлы в среде Symfony. И .git / files тоже наверно. (gbjbaanb был прав насчет этого)

На данный момент я восстановил ту же конфигурацию, что и на другой машине, и это то, что я искал. Я снова могу работать.

Зная это, мой вопрос вдруг кажется глупым. Ну, мультикомпьютерный контекст делает его достаточно хитрым, чтобы быть ценным. (Для меня по крайней мере)

(Этот ответ будет подтвержден, как только он будет должным образом проверен)

...