Скопируйте в ограниченную папку с помощью Ant (используя Eclipse в Ubuntu) - PullRequest
1 голос
/ 26 июля 2010

Использование Eclipse в Ubuntu Linux.

Я создаю задачу ant для удаления каталога из моего локального каталога apache (/ var / www), а затем копирую файлы из моего проекта Eclipse.

У меня есть:

<project>
 <target name="deploy">
  <delete dir="/var/www/gds"/>
  <copy todir="/var/www/gds/src">
   <fileset dir="src">
   </fileset>
  </copy>
  <copy todir="/var/www/gds/">
   <fileset dir="web">
   </fileset>
  </copy>
 </target>
</project>

Однако у ant нет прав пользователя root для копирования в этот каталог.Это работает, если я открываю Eclipse с помощью 'sudo Eclipse', но на самом деле я не хочу запускать Eclipse в корне.

Есть ли способ заставить муравей копировать в этот каталог?

Ответы [ 2 ]

1 голос
/ 26 июля 2010

Вы можете создать запись для пользователя, с которым вы запускаете Eclipse, как в файле / etc / sudoers (используя visudo или выбранный вами редактор разрешений sudo), чтобы ant мог запускаться от имени root без пароля. Затем вам нужно будет заставить Eclipse вызывать «sudo ant» вместо просто «ant» - я не знаком с Eclipse, поэтому, возможно, кто-то другой может подсказать, возможно это или нет. В противном случае вы можете обернуть двоичный файл ant в сценарий оболочки, который вызывает sudo ant, и затем сказать Eclipse, что это двоичный файл ant.

0 голосов
/ 26 июля 2010

Это не проблема ANT, это проблема с правами доступа к файловой системе в Ubuntu.

Все, что в /var, обычно контролируется root-доступом.Я согласен, что запуск вашей сборки от имени root - это не тот путь: -)

Я бы предложил создать каталог пользователя под /var/www, а затем read/write там ваши файлы сборки.

Например:

sudo mkdir /var/www/gds
sudo chown myuser:myuser /var/www/gds
chmod 755 /var/www/gds

Вам по-прежнему не будет разрешено удалять каталог "gds" (так как его родитель принадлежит root), но вы можете удалить все внутри него, как указано ниже

<delete>
    <fileset dir="/var/www/gds" includes="**"/>
<delete>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...