setuid and setgid are for execution and not access control.
I can't comment on your exact problem, but when I move a site, I do
sudo find /path/to/site/default/files -type d -exec chmod 755 {} \;
sudo find /path/to/site/default/files -type f -exec chmod 644 {} \;
sudo find /path/to/private -type d -exec chmod 755 {} \;
sudo find /path/to/private -type f -exec chmod 644 {} \;
sudo chown -R apache.apache /path/to/docroot/site/default/files apache.apache
sudo chown -R apache.apache /path/to/private apache.apache
By default, files are in site/default/files
but this location can vary for a few reasons
- Admin setting for public files
- Admin setting for private files
- Whether the files use public or private
- Whether you use the default location, or a site alias
and probably some others I can't think of. I suspect that your write errors will show up in your Apache error_log
and you should also see what the status report (admin/reports/status
) says.
Note that the private paths/settings are for Drupal 7 only, but the rest applies.