Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I changed the shortname of my user account, but it seems to have caused an issue with some files (especially homebrew stuff), which are still owned by the old username. My old short name was cannyboy, and my new one is cannyman. How would I go thru the whole hard drive and change ownership of all cannyboy to cannyman, without changing any other attributes of the files?

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

As starter I would suggest you run the "repair permission" function in disk utility.

If the problem still persists you could run a command like:

find . -user old_user | while read file; do echo chown new_user  $file; done

note: this doesn't do anything as is now - you will need to adjust it to your needs - and make sure it does nothing bad.

share|improve this answer
add comment

FWIW changing the short name is considered "bad." Guess you can see why now.

That said, one way to deal with this is to use "find" to locate all the files owned by cannyboy:

find * -user cannyboy

(for just homebrew you could limit this to the /usr/local/ folder hierarchy like):

find -f /usr/local/* -user cannyboy

Next loop through the results with:

sudo chown cannyboy cannyman *file*

note the above command will require sudo and if you mess up could cause further problems.

To do this in a two step process, first:

find -f /usr/local/* -user cannyboy > files.txt

Then loop through files.txt using the following script (with sudo):

#!/bin/bash

while read file;
do
    chown cannyboy cannyman $file
done

The advantage of this is you can use a subset of your txt file to test everything before you commit to a massive change.

If you are brave, you can try the one step process (this should work, but it might not):

#/bin/bash
for result in `find -f /usr/local/* -user cannyboy`
do
    chown cannyboy cannyman $result
done

(BTW prior to Mac OS X 10.8.1 there was a nasty find bug that would omit some results)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.