diff --git a/include/sysutils/SocketClient.h b/include/sysutils/SocketClient.h
index 469dd9d..e7fb177 100644
--- a/include/sysutils/SocketClient.h
+++ b/include/sysutils/SocketClient.h
@@ -4,16 +4,29 @@
 #include "../../../frameworks/base/include/utils/List.h"
 
 #include <pthread.h>
+#include <sys/types.h>
 
 class SocketClient {
     int             mSocket;
     pthread_mutex_t mWriteMutex;
 
+    /* Peer process ID */
+    pid_t mPid;
+
+    /* Peer user ID */
+    uid_t mUid;
+
+    /* Peer group ID */
+    gid_t mGid;
+
 public:
     SocketClient(int sock);
     virtual ~SocketClient() {}
 
     int getSocket() { return mSocket; }
+    pid_t getPid() const { return mPid; }
+    uid_t getUid() const { return mUid; }
+    gid_t getGid() const { return mGid; }
 
     int sendMsg(int code, const char *msg, bool addErrno);
     int sendMsg(const char *msg);
diff --git a/libsysutils/src/SocketClient.cpp b/libsysutils/src/SocketClient.cpp
index e9ae23a..8e5f154 100644
--- a/libsysutils/src/SocketClient.cpp
+++ b/libsysutils/src/SocketClient.cpp
@@ -1,5 +1,6 @@
 #include <alloca.h>
 #include <errno.h>
+#include <sys/socket.h>
 #include <sys/types.h>
 #include <pthread.h>
 #include <string.h>
@@ -9,9 +10,24 @@
 
 #include <sysutils/SocketClient.h>
 
-SocketClient::SocketClient(int socket) {
-    mSocket = socket;
+SocketClient::SocketClient(int socket)
+        : mSocket(socket)
+        , mPid(-1)
+        , mUid(-1)
+        , mGid(-1)
+{
     pthread_mutex_init(&mWriteMutex, NULL);
+
+    struct ucred creds;
+    socklen_t szCreds = sizeof(creds);
+    memset(&creds, 0, szCreds);
+
+    int err = getsockopt(socket, SOL_SOCKET, SO_PEERCRED, &creds, &szCreds);
+    if (err == 0) {
+        mPid = creds.pid;
+        mUid = creds.uid;
+        mGid = creds.gid;
+    }
 }
 
 int SocketClient::sendMsg(int code, const char *msg, bool addErrno) {
