Drush and user permissions
Arguably, a much more straightforward approach is to not muck with your user's group assignments at all and instead run drush as the web server user (ie: apache, www-data).

Use sudo:

sudo -u apache drush


or on debian/ubuntu:

sudo -u www-data drush


Create a command alias:

Then, to ensure that you always run drush like that, add an alias:

echo "alias drush='sudo -u apache drush'" &gt;&gt; ~/.bash_aliases 


or on debian/ubuntu:

echo "alias drush='sudo -u www-data drush'" &gt;&gt; ~/.bash_aliases 


Now when running any drush command, you'll be prompted for your password by sudo, and the command will run as the web server user. No more permissions problem reading and writing files.