Использование tarfileset работает для нашего проекта. Вот рабочий пример на случай, если кому-то это нужно:
<tar destfile="${dist}/${module.name}-${version}.tar">
<tarfileset dir="${package.dir}" filemode="550" includesfile="${home.dir}/includelist.txt">
<include name="*.sh"/>
</tarfileset>
</tar>
В этом примере includelist.txt используется, чтобы указать, какие файлы включить в файл tar. Все файлы с расширением * .sh будут иметь разрешение на чтение и выполнение (550) для пользователя и группы.
Надеюсь, это кому-нибудь поможет.