I created a "system" user in Ubuntu 11.04 (adduser --system) for running certain cron jobs, but sometimes I want to test things out by manually running commands as that user. What's the easiest way to do this?

su doesn't work, because the user has "/bin/false" as its shell (which is fine for cron). I've been manually changing the shell to "/bin/bash" to do my testing and then changing it back again, but I wonder if there's an easier way.

link|improve this question

53% accept rate
feedback

2 Answers

up vote 3 down vote accepted

I use su - targetuser -s /bin/bash from a root shell.

link|improve this answer
That works, thanks! How did I miss the -s option? – EMP May 28 '11 at 3:54
you can also tack on a -c "your_command_here" option to pass the command you'd like to run versus waiting for the shell and then typing it at a new prompt. – dmourati May 28 '11 at 6:16
feedback

Use sudo. This will work even if the user doesn't have a real shell.

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.