How did my Mac end up with iPhone 4S as my host name in the user prompt in OS X terminal? [duplicate]

The other day I was searching for Xcode iOS 5 tutorials. About a day or two later, I noticed my terminal prompt is now "iPhone4s : myusername". Naturally , my biggest fear is that there could be a worm or trojan horse on here. I look up the current procedure for checking the most current Mac Malware and the system turned up clean. I followed the examples to edit the PIF with the code:

PS1="\h : \u\$" 

and it does not get rid of the "iPhone4s" prefix. I checked the System Preferences > Sharing and the name for the computer is correct.

How do I go about making sure the system is not hacked, and how to get rid of the iPhone4s name? I have 3 accounts created on this system. The other 2 are not affected.


Solution 1:

It turns out it was just as our Unix guy had said. The iPhone4s Host name is only present when I am at work and my mac book is accessing the companies wireless network. When I am away, the terminal shows the proper hostname. We are a mac centric company but we use all windows servers. Apparently, that makes a situation ripe for these strange DHCP anomalies.

Thanks for the help.

Solution 2:

I'm not sure why superuser migrated this here as this is a problem with your Mac and the router and not a phone, but just go to your sharing preference pane and change the name of your Mac. Be sure to pay attention to the Edit... button since your Mac could have adopted the name from a router thinking the IP address was for your phone and not your Mac.

You can use the hostname command to check things before and after you change things in the GUI.

Solution 3:

I'm not sure how the name was changed and if it's at all possible to trace it back, but you can easily change the HostName to any name using the scutil command:

sudo scutil --set HostName your_new_name

Here's a shell script I use to change various computer names (ComputerName, HostName, LocalHostName) in one step:

#!/bin/bash
# Change your computer names
# Run with sudo

# variables
id=$1
computerName=$(scutil --get ComputerName)
hostName=$(scutil --get HostName)
localHostName=$(scutil --get LocalHostName)

changeName(){
    scutil --set ComputerName $id
    scutil --set HostName $id
    scutil --set LocalHostName $id
}

printChanges(){
    clear
    printf "**************OLD SETTINGS*************\n"
    printf "ComputerName:   $computerName\n"
    printf "HostName:       $hostName\n"
    printf "LocalHostName:  $localHostName\n\n"

    newComputerName=$(scutil --get ComputerName)
    newHostName=$(scutil --get HostName)
    newLocalHostName=$(scutil --get LocalHostName)

    printf "***********CURRENT SETTINGS************\n"
    printf "ComputerName:   $newComputerName\n"
    printf "HostName:       $newHostName\n"
    printf "LocalHostName:  $newLocalHostName\n\n"
}

# main
if (($#==0))
    then
    # print current names
    clear
    printf "***********CURRENT SETTINGS************\n"
    printf "ComputerName: $computerName\n"
    printf "HostName:     $hostName\n"
    printf "LocalHostName $localHostName\n\n"
elif (($#==1))
    then
    # change name and print changes
    changeName $id      
    printChanges
else
    echo "Expected: Empty OR NewComputerName"
fi

Solution 4:

TLDR: It's weird but benign so you can ignore it.

This is an old question, but it has a cool answer so I'm sharing it.

It was answered here by the user that wrote the original question, and it seems like this happens over public wifi networks when your mack picks up a hostname from the DHCP server.

The answer linked this article which explains that it's caused by the domain server when it picks up on a previous user's hostname.