On Tue, Dec 19, 2006 at 10:19:42PM -0600, Greg Wallace wrote:
> On Tuesday, December 19, 2006 @ 5:15 AM, Joachim Schrod wrote:
> 
> >Greg Wallace wrote:
> >> I would like to go through all files and subdirectories of a directory
> and
> >> set the group permissions equal to the owner permissions.  Is there a
> >> command that will do this?  This directory has thousands of files and
> >> hundreds of directories under it, so doing this manually isn't feasible.
> 
> >find directory | while read f
> >    do setfacl -m `getfacl "$f" | grep user | sed s/user/group/` "$f"
> >    done
> 
> 
> >     Joachim
> 
> Joachim:
>   Well, I tried this script but it didn't work.  I put the above code into a
> file, hard coded /root/test for directory to point to a directory called
> test under root that had 4 files under it, and tried executing the script to
> see if it copied over the permissions.  I got the following error when I
> tried to run it --
> 
> ': not a valid identifier line 1: read : `f

To code above is bourne shell code and the new lines are intended.
You may replace the new lines with `;' ...

 find directory | while read f ; do setfacl -m $(getfacl "$f" | grep user | sed 
s/user/group/) "$f"; done

Or within a shell script

  #!/bin/sh
  
  find ${1+"$@"} | while read f
  do
      m=$(getfacl --omit-header "$f" 2> /dev/null | sed -n 's/user/group/p')
      test -n "$m" || continue
      setfacl -m $m "$f"
  done


      Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr
-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to