我在 Ubuntu 11.04 ( adduser --system
) 中创建了一个“系统”用户来运行某些 cron 作业,但有时我想通过以该用户身份手动运行命令来测试一下。最简单的方法是什么?
su
不起作用,因为用户有/bin/false
作为其 shell(这对于 cron 来说没问题)。我一直在手动将 shell 更改为/bin/bash
进行测试,然后再次将其更改回来,但我想知道有没有更简单的方法?
答案1
我su - targetuser -s /bin/bash
从 root shell 使用。
对于直接命令执行使用-c
:
su - targetuser -s /bin/bash -c "/bin/echo hello world"
答案2
使用 sudo。即使用户没有真正的 shell,它也能工作。