Mark
asked on
Redirect stdout of sudo to target user's file
Is there a way to direct the stdout/stderror of a sudo command to a file in the target sudo user's directory? For example, I'm sudo'ing from my /etc/mail/aliases as:
aliasId: |"/usr/bin/sudo -u ar '/user/util/bin/DistRegist er"
which works fine, but what I'd like is something like:
aliasId: |"/usr/bin/sudo -u ar '/user/util/bin/DistRegist er >>/home/ar/DistRegister.lo g 2>&1'"
specified this way, sudo can't find the command (it thinks everything inside the single quotes is the command). If I leave off the single quotes, I get a permission error on /home/ar/DistRegister.log because the mailer daemon is trying to access it.
Any solutions? Perhaps something in the sudoers file?
Linux 2.4.29
aliasId: |"/usr/bin/sudo -u ar '/user/util/bin/DistRegist
which works fine, but what I'd like is something like:
aliasId: |"/usr/bin/sudo -u ar '/user/util/bin/DistRegist
specified this way, sudo can't find the command (it thinks everything inside the single quotes is the command). If I leave off the single quotes, I get a permission error on /home/ar/DistRegister.log because the mailer daemon is trying to access it.
Any solutions? Perhaps something in the sudoers file?
Linux 2.4.29
Write a shell script to do what you want and sudo the shell script.
It's rather becouse MTA does not run Your code under shell (so the redirects do not work).
Write script, which will call the sudo ans stuff, then put into /etc/mail/aliases
aliasId: | "/path/to/script.sh"
Write script, which will call the sudo ans stuff, then put into /etc/mail/aliases
aliasId: | "/path/to/script.sh"
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.