Defcon1-Header
Tool-BarfreeBSD ArticlesSearch Our SiteHOMEfreeBSD LinksContribute to FreeBSD HelpFreeBSD FilesFreeBSD Script Corner

Changing User Dir Ownership

One nite while working on something late, i screwed up and accidently changed the ownership of all the user home dirs on the machine to being owned by me. Instead of berating myself all nite, i wrote 2 small scripts to change them back to the proper ownership.
Bascially what i want to do is change the ownership of each dir in /usr/home to the name of the dir. In other words, I want the dir /usr/home/ed owned by ed. First I need to list all the dirs in /usr/home. BTW: both scripts for this resided in /usr/home for this. Modify to suit your needs. The first script was like this:
#!/bin/sh
/bin/ls | /usr/bin/xargs -n1 /usr/home/script2.sh

Now the script2.sh consisted of this:
#!/bin/sh
NAME=$1
/usr/sbin/chown -R $NAME $NAME

 The first script did an ls but then fed each single dir name to script2.sh one at a time. The second script took took the output from the first script and used it as teh arguments for the chown. Thus together the scripts read each dir/file name in /usr/home and then chown the dir to the username that is the same as the dir name. I have actually used this about 5 times now to save me from quite a bit of boring work fixing typos/mistakes.
 I was working on a way to do it all in one file, but couldn't get it to properly feed the dir name twice to the chown command. I might play with this more later and try to get that done, but for now it works and functions just fine for my uses.

© 1997 - 20013 Defcon1, www.defcon1.org , Copyrights for all materials on this web site are held by the individual authors, artists, photographers or creators. Materials may not be reproduced or otherwise distributed without permission of www.defcon1.org and the content's original author.

Defcon1-Header2
Tool-Bar-2Defcon1  Webmail