以 Linux“系统”用户身份运行命令(shell = /bin/false)

以 Linux“系统”用户身份运行命令(shell = /bin/false)

我在 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,它也能工作。

相关内容