在 Ubuntu 中有一个由 upstart 以 root 身份运行的守护进程。我必须知道守护程序上的登录用户名或 uid。
虽然我已经搜索并测试了诸如whoami,我是谁和geteuid之类的命令或功能,但我没有得到我想要的结果。
任何人都可以让我知道解决方案吗?
在 Ubuntu 中有一个由 upstart 以 root 身份运行的守护进程。我必须知道守护程序上的登录用户名或 uid。
虽然我已经搜索并测试了诸如whoami,我是谁和geteuid之类的命令或功能,但我没有得到我想要的结果。
任何人都可以让我知道解决方案吗?
运行启动脚本时没有用户登录。
通常,守护程序由 启动root
,但有时,它们使用专用用户 ID,或者因为软件是这样编写的,或者因为启动脚本以这种方式设置它们。例如,在基于 Debian 的发行版上,Web 服务器的运行方式是www-data
,如果有人以某种方式入侵了 Web 服务器,他们对系统的访问权限将非常有限。但是具体如何配置取决于哪个守护进程以及它的启动脚本和配置是什么样的。
如果它是您自己的守护程序并且您没有编写或配置它来切换用户 ID,它将以root
.
如果您的守护进程是某种服务器,并且它需要在运行时知道哪个客户端正在连接,(您确实需要重新表述您的问题但是)这主要是客户端如何连接到服务器的功能,而不是服务器如何启动.
像这样的小脚本可能会解决您的问题
echo "uid is ${UID}"
echo "username is ${USERNAME}"