On Thu, February 12, 2015 12:45 pm, Valeri Galtsev wrote: > > On Thu, February 12, 2015 12:32 pm, Matt wrote: >> I need to remove empty files out of a directory that are over 6 hours >> old so I created this script and put it in cron.hourly. >> >> #!/bin/sh >> cd /var/list >> sudo -u matt find /var/list -mmin +360 -empty -user matt -exec rm {} \; >> >> I want to run it as matt rather than root for just an added bit of >> safety. Problem is I get this. >> >> "sudo: sorry, you must have a tty to run sudo" >> >> Is there another way to do this? As I understand the reason for this >> is requiretty in sudo config. If that improves security I would >> rather not change that setting. > > Did you try to use su instead? E.g., in my /etc/rc.local I have a bunch of > stuff run on behalf of users other than root. Like: > > /bin/su lmgrd -c 'export > IDL_DIR=/usr/local/opt/flexlm/idl;/usr/local/opt/flexlm/idl/bin/lmgrd -c > /usr/local/opt/flexlm/licenses/license.dat -l /var/log/flexlm/idl.log > > /dev/null 2>&1' > As a second thought (which should have been firth thought), you may be able to just add cron job for that user (if that user isn't deprived the ability to have cron jobs). Assuming you are root, edit that user's crontab: crontab -u matt and either put that single long command line in user's crontab (note, you also need to specify time parameters, take a look into man crontab) or point to script (which should be readable and executable by that user). Valeri ++++++++++++++++++++++++++++++++++++++++ Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247 ++++++++++++++++++++++++++++++++++++++++