[lug] rsync permissions problem
hugh at math.byu.edu
Thu Dec 14 17:31:04 MST 2006
Paul Nowosielski wrote:
> Dear All,
> I have a rsync permissions problem that I can't figure out.
> I have a dev server and a WWW server. I use a simple rsync script to push the
> files from dev to www.
> On the WWW server /var/www is permissioned 775 wwwrun.www .
> The user who pushes the files is named "back". "back" is in the www group.
> When I call the script from dev I get all these permission denied errors and
> Im not sure why because its group WWW writable.
> The only way I can get this to work is by chmod 777 /var/www then reverting.
> Any idea??
You can add --progress --verbose to your rsync to get more feedback.
There are two sets of permissions here, the permissions on the source
and on the destination. I'm assuming:
user at dev $ cd /web/devel/tree
user at dev $ rsync -e ssh -a . back at webhost:/var/www/
If that's the case, then I'd suspect that the ownership in
/web/devel/tree/ doesn't match for a file in webhost:/var/www
dev:/web/devel/tree/index.html is owned by "user" but on
webhost:/var/www/index.html it is owned by wwwrun. If you are using
--archive (-a) on rsync, then it will try and change the owner from
wwwrun to "user" and fail.
If that's the problem, then look at turning off user/group preservation.
The other problem would be that "user" on dev is trying to read files
locally to push up to the www server and it fails there.
You can use -vv options to rsync to get even more verbosity.
A third possibility is that there are subdirectories of webhost:/var/www
that don't have group write and therefore can't create new files.
More information about the LUG