将Linux应用程序作为除root之外的其他用户运行

时间:2012-10-17 17:52:59

标签: database linux linux-kernel embedded

我想将linux应用程序作为另一个用户运行(除了root用户)。 在我的应用程序中,我们编写了套接字程序,我使用原始套接字ping数据库服务器。当我们以root身份运行应用程序时,它就能够ping服务器。但是当它以普通用户的身份运行时,除了root之外,它就无法ping数据库服务器。

请告诉您如何使用普通用户运行该流程? 我们如何检查进程与哪个用户一起运行?

谢谢,

2 个答案:

答案 0 :(得分:1)

使用:

sudo -u <username> <command ...>

您可以通过以下方式查看有关您的流程的信息(包括所有者的用户名),

ps -Af | grep <process name>

此外,非root程序无法使用原始套接字。这表明您的计划设计存在缺陷。

答案 1 :(得分:1)

因为已经Wug回答使用“sudo”作为不同的用户运行(如果允许在sudoers中)。如果您想查看哪个用户拥有该流程,您可以使用不同的工具:如“top”或“ps aux”等