У меня проблема с предоставлением прав для правильного пользователя ...
Я хочу запустить Pootle с Apache, поэтому я скачал Pootle. Затем я скопировал его в / var / www, установил и дал права пользователя www-data для всей папки. Насколько хорошо ... теперь я хочу скопировать переведенные файлы из и в каталог-переводчик (например, /var/www/pootle/po/project).
Поэтому я создал группу (www), добавил меня в группу и выполнил
sudo chown -R: www / var / www / pootle
blockquote>хорошо, так что теперь У меня есть права на запись файлов в каталог, однако, когда apache создает файл, его группа называется www-data ...
sudo chmod -R g + s / var / www / pootle
blockquote>хорошо, теперь группа всегда "www", как я и хотел ... сейчас вот проблема:
Когда я пишу файлы в / var / www / pootle, они, тем не менее, находятся там, где мой пользователь является владельцем, а не, как я ожидал, как www-данные, хотя я выполнил команда:sudo chmod -R u + s / var / www / pootle
blockquote>есть способ, которым я могу сказать, что пользователь, создавший файл, даже если это я, будет www-data?
спасибо заранее :))
Не лучше ли было бы пойти:
chown -R greenit:www-data /var/www/
chmod -R 770 /var/www/pootle
Я бы не рекомендовал следующий бит (в идеале вы должны вручную создавать файлы chmod или chown, но вы можете добавить себя в www- группа данных:
usermod -a -G www-data greenit
Тем не менее, идеальным вариантом было бы найти параметр в Pootle, который указывает, от какого пользователя работать, и изменить его на www-data.
Если вы запускаете chown без предшествующего двоеточия, вы смените владельца. (Используя предыдущее двоеточие, вы меняете группу, как показано выше, и вы также можете запустить chown -R new-owner: newgroup.) Так что, если вы просто запустите
sudo chown -R www-data /var/www/pootle
, вы измените владелец www-data.
«.... когда apache создает файл, его группа называется www-data ...»
blockquote>Не могли бы вы уточнить, что вы имеете в виду под этим? Apache обслуживает файлы, но не создает их. PHP создает их - но они создаются динамически и передаются непосредственно веб-клиентам (браузерам), они не создаются, а затем сохраняются Apache.
Кажется, твоя проблема связана с владением файлами. Если это так, то более удобным подходом может быть добавление pootle в группу www - поскольку Apache (как правило) требует, чтобы файлы htm (l) принадлежали www для их чтения. Файлы, созданные Pootle, будут иметь такой же идентификатор группы, и вам вообще не нужно будет запускать chown - у Apache будет доступ на чтение к файлам Pootle. См. http://translate.sourceforge.net/wiki/pootle/apache , в котором говорится:
You need to extract Pootle in a directory accessible to the apache user. Make sure Apache has read access to all of Pootle's files and write access to the dbs and po subdirectories.
Надеюсь, это поможет.