My guess is this poor little girl has emotional trauma from her past and sees you as her Savior. In return she wants to please you which is why she is fine around you and housetraining has been easy. She will more than likely give you any behavior you try to teach her. Unfortunately she is still unsecure from her past and strangers pose a threat to ruin her new found happiness. She is trying to protect that by saying I don't need you I have them, stay away from me!

Your job to get her more secure around strangers is not going to easy but it can be done. You need to start out with teaching her basic commands such as sit and down. The best way to do this is to enroll her in a basic obedience class. This will have two benefits. 1. You will be teaching her commands and 2. You will be strenghtening your bond with her while socializing her around other dogs and people.

After she knows some basic commands (teach her using a food or toy reward for wanted behavior) you can start to work on her accepting strangers without growling.

To start go somewhere in an open area with someone your dog is not familiar with. Have that person approach you while you focus on your dog on leash. When the dogs comfort zone is invaded (ie. when she starts growling) have your friend back away. Concentrate on giving the pup a command to sit. When the sit is enforced and the growling stops praise and reward the pup. Have the friend approach again and repeat. Eventually you should be able to have your friend move closer and closer and the dog will be able to handle it when she realizes the stranger is not a threat.

Please note that this will take some time. It will not happen overnight and needs to be worked on in a daily environment. At the end of a week you should see some progress and at the end of a month you should see a remarkable difference.

Never scold the pup for growling or making noises since all she is doing is trying to protect her happiness and this will set your training back. Only reward her for giving you the desired behavior in the form of a sit or a down. If you enforce these basic commands you can put the dog in them when company comes and she should stay and she will realize you are ok and not going to abandon her.