How to know which PlayerObject clicked another PlayerObject?

I’m having trouble in understanding that how can i know which was the player that tapped another player object. I can’t call [command] function from the clicked player object because the player who clicked it does not have authority over it.

 private void OnMouseDown()
    {

        if (isLocalPlayer)
        {
          //  Debug.Log(netId);
            return;
        }
        else
           // Debug.Log(netId);
     
        Cmdsendtoserver(netId);


            Debug.Log("Button Pressed");

    }

   
    [Command]
    void Cmdsendtoserver(NetworkInstanceId nid)
    {
        NetworkServer.FindLocalObject(nid).GetComponent<Image>().color = Color.red;
        Rpctotheclient(NetworkServer.FindLocalObject(nid));

    }

    [ClientRpc]
        void Rpctotheclient(GameObject rec)
    {
        rec.GetComponent<Image>().color = Color.red;
    }

Call the Command from the player’s own Player object, and send whatever identifier needed so the server can tell what other object the player clicked. Or send a Message instead of a Command.