我想以另一个用户(不是root用户)的身份运行linux应用程序。在我的应用程序中,我们已经编写了套接字程序,并且我正在使用原始套接字来ping数据库服务器。当我们以root身份运行应用程序时,它就能够ping通服务器了。但是当它作为普通用户而不是root用户运行时,它就不能ping数据库服务器了。
您能告诉我如何以普通用户身份运行该进程吗?我们如何检查进程是用哪个用户运行的?
谢谢,
发布于 2012-10-18 01:57:20
使用:
sudo -u <username> <command ...>您可以使用以下命令查看有关您的流程的信息(包括所有者的用户名等):
ps -Af | grep <process name>此外,非根程序不能使用原始套接字。这将表明您的程序设计中存在缺陷。
发布于 2012-10-18 02:04:22
正如Wug回答的那样,使用"sudo“以不同的用户身份运行(如果sudoers中允许的话)。如果你想知道哪个用户拥有这个进程,你可以使用不同的工具:比如"top“或者"ps aux”等等
https://stackoverflow.com/questions/12940341
复制相似问题