Recusively change the owner of files (chown) on Mac OS X

Source: Internet
Author: User

I 've just changed my OS x/MAC main user-I 've created a new 'CODER' user account that I want to use for development instead of my old 'lombard' account. I realized that a lot of my applications I 've previusly installed via homebrew now had to be changed to be owned by the new coder user. first I ran 'brew doctor' find see what obvious issues I have:

Gerts-Mac-mini:src coder$ brew doctorWarning: /usr/local/etc isn‘t writable.This can happen if you "sudo make install" software that isn‘t managed byby Homebrew. If a brew tries to write a file to this directory, theinstall will fail during the link step.You should probably `chown` /usr/local/etcxcode-select: note: no developer tools were found at ‘/Applications/Xcode.app‘, requesting install. Choose an option in the dialog to download the command line developer tools.xcode-select: note: no developer tools were found at ‘/Applications/Xcode.app‘, requesting install. Choose an option in the dialog to download the command line developer tools.Warning: You have an outdated version of /usr/bin/install_name_tool installed.This will cause binary package installations to fail.This can happen if you install osx-gcc-installer or RailsInstaller.To restore it, you must reinstall OS X or restore the binary fromthe OS packages.Warning: Git could not be found in your PATH.Homebrew uses Git for several internal functions, and some formulae use Gitcheckouts instead of stable tarballs. You may want to install Git:  brew install gitWarning: No developer tools installed.Install the Command Line Tools:  xcode-select --installxcode-select: note: no developer tools were found at ‘/Applications/Xcode.app‘, requesting install. Choose an option in the dialog to download the command line developer tools.

Indeed, several files/directories below '/usr/local 'were created by homebrew as user 'lombard ':

Gerts-Mac-mini:src coder$ ls -l /usr/localtotal 80-rw-r--r--   1 lombard  admin   3158  5 Jun 09:16 CODEOFCONDUCT.md-rw-r--r--   1 lombard  admin    687  5 Jun 09:16 CONTRIBUTING.mddrwxr-xr-x   4 lombard  admin    136 17 Jun 17:11 Cellar-rw-r--r--   1 lombard  admin   1253  5 Jun 09:16 LICENSE.txtdrwxr-xr-x   9 lombard  admin    306 17 Jun 17:11 Library-rw-r--r--   1 lombard  admin   1858  5 Jun 09:16 README.md-rw-r--r--   1 lombard  admin  23719  5 Jun 09:16 SUPPORTERS.mddrwxrwxr-x  12 root     admin    408 17 Jun 17:11 bindrwxr-xr-x   3 lombard  admin    102 17 Jun 17:11 etcdrwxrwxr-x   5 root     admin    170 17 Jun 17:11 libdrwxr-xr-x   3 root     wheel    102 17 Jun 17:11 libexecdrwxrwxr-x   4 root     admin    136 17 Jun 17:11 share

I can't just use 'chown-R' because I only want to change the owner of some specific files. to recursively fix/change the owner only of files specifically owned by another user, use the versatile 'Find 'command:

$ find . -user lombard -exec sudo chown coder {} \;

Now I just took care of the other things that brew doctor complained about:

$ xcode-select --install$ brew update

That's it! Now I'm ready to install more tools using homebrew using the new user account.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.