This is because Feature is doing something that's a little bit out of the ordinary ;-)
This is also one of the reasons I have my filesystem laid out as follows:
- custom // Custom code.
- contrib // The actual features.module is here.
- features // This is for my Feature modules.
Because this means I can set the permissions on my Features differently to the contributed modules directory. Usually 760 I think. Then so long as the features directory is owned by a group that Apache is a member of, everything should work as expected. I do sometimes have to run a
chown -R from my Drupal root, but that's because *nix admin has never been a strong point of mine.
Obviously everything on my world facing servers (read: not my local machine) is more secure than this, as should yours be.
That said, on my local machine I always end up forgetting something and just chmodding everything to 775 because I'm in a hurry.