I'm running rsync from a php script using backtick operators. It's running as an apache user.

In /etc/sudoers, I've set

#Defaults requiretty
Cmnd_Alias REPORTS = /usr/bin/rsync
apache ALL = NOPASSWD: REPORTS

In the error log, I'm getting these errors

sudo: can't stat /var/run/sudo: Permission denied
sudo: no tty present and no askpass program specified

Also, not that the rsync path is correct, and so is the rsync command in php. I can run the command as root, also if I add NOPASSWD to another user, i can sudo and run the same command.

link|improve this question

feedback

2 Answers

up vote 4 down vote accepted

This is likely because sudo requires a TTY session to run. You can force sudo to assume/use a TTY by passing in the -t arguments, i.e.:

sudo -tt /usr/bin/rsync
link|improve this answer
1  
Where is this -t thing documented? I can't get it to work. – Tobu May 9 '11 at 18:18
-t is option related to SELinux – mmv-ru Dec 8 '11 at 10:45
feedback

Disable SELINUX(/etc/selinux/config SELINUX=disabled and reboot).

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.