4
的情况是这样的我的DBus API:谁打电话Linux系统
在一个基于Linux的手持设备我有具有DBUS的API准备通过第三方应用程序调用一个C程序。 DBus API在启动时被调用。
在我的函数中是否有任何系统API可用于打印调用者的ID并将其保存到syslog?
在此先感谢!在org.freedesktop.DBus
总线上
的情况是这样的我的DBus API:谁打电话Linux系统
在一个基于Linux的手持设备我有具有DBUS的API准备通过第三方应用程序调用一个C程序。 DBus API在启动时被调用。
在我的函数中是否有任何系统API可用于打印调用者的ID并将其保存到syslog?
在此先感谢!在org.freedesktop.DBus
总线上
/org/freedesktop/DBus
对象具有属于org.freedesktop.DBus
接口两种方法(哦,孔):GetConnectionUnixUser
和。两者都接受一个字符串唯一的连接名称,可以通过调用dbus_message_get_sender
(或者您的高级API包装器提供的任何方法)获得该名称。
嗨,它适合我。谢谢! – tao 2011-05-23 12:51:55
值得指出的是,自从写了这个答案之后,还添加了'org.freedesktop.DBus.GetConnectionCredentials'方法,它应该优先于'GetConnectionUnixUser'和'GetConnectionUnixProcessID'使用。这意味着一个方法调用而不是两个,消除一些竞争条件,并为您提供有关安全标签的更多信息。请参阅规范:https://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-get-connection-credentials – 2017-06-22 10:10:44