rsync using sudo.

gary artim gartim at gmail.com
Sun Feb 1 05:27:00 UTC 2009


On Sat, Jan 31, 2009 at 8:43 PM, gary artim <gartim at gmail.com> wrote:
> On Sat, Jan 31, 2009 at 5:54 PM, Mikkel L. Ellertson
> <mikkel at infinity-ltd.com> wrote:
>> gary artim wrote:
>>> /usr/bin/rsync --stats -ae "ssh" --rsync-path="sudo /usr/bin/rsync"
>>> /my  rsync at host1:/backup/my
>>>
>>> I'm running the above command as user rsync (on both the local and
>>> remote system). Both rsync
>>> users are in /etc/sudoers and permitted to run the command as root
>>> /usr/bin/rsync and I have
>>> ssh-kegen stuff setup correctly.  tested aka: ssh host1 who (no passwd
>>> asked for)
>>>
>>> The problem: the local files get permission denied on root owned files
>>> subdirs. If I add
>>> sudo /usr/bin/rsync --stats -ae "ssh" --rsync-path="sudo
>>> /usr/bin/rsync" /my  rsync at host1:/backup/my
>>>
>>> I get prompted for a ssh passwd. Has anyone solved or done this?
>>>
>>> Any help would be great!
>>>
>>> -- Gary
>>>
>> You could try the -E option of sudo when using the second form.
>>
>> -E  The -E (preserve environment) option will override the env_reset
>> option in sudoers(5)). It is only available when either the matching
>> command has the SETENV tag or the setenv option is set in sudoers(5).
>>
>> This should preserve your ssh=agent settings. Now, if you are using
>> a private key without a password, you can add the key to roots
>> secure keyring. Then you should not need the -E option...
>>
>> Mikkel
>
> Thanks much I'll try it out and report back...Gary
>

Hi Mikkel --

tried:
sudo -E /usr/bin/rsync --stats -ae "ssh" --rsync-path="sudo
/usr/bin/rsync" /my  rsync at genepinfs:/backup/my

after added to /etc/sudoers:
rsync   ALL=(ALL)       NOPASSWD: SETENV: /usr/bin/rsync

still get a prompt for a password for the remote machine. If I remove
the 'sudo -E' in the
beginning it doesn't ask for a password on the remote machine, but
authorization on the local machine
doesn't work (as root), if the rsync user has permissions all is well
on both ends.

 Is this the correct way to set setenv?

Thanks for the help,
-- Gary




More information about the fedora-list mailing list