1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/sh -e
- if test "0`printcontenv S6_FIX_ATTRS_HIDDEN`" -ne 0 ; then
- lsopt='-a'
- else
- lsopt=''
- fi
- applyrec () {
- s6-chown -u "$3" -g "$4" -- "$1"
- if test -d "$1" ; then
- s6-chmod "$6" "$1"
- if test "$2" = true ; then
- for subfile in `s6-ls $lsopt "$1" ; do
- applyrec "$subfile" "$2" "$3" "$4" "$5" "$6"
- done
- fi
- else
- s6-chmod "$5" "$1"
- fi
- }
- while read globex recurse userentry fmode dmode ; do
- if test -n "$globex" && test "$globex" != "#" ; then
- account="${userentry%%,*}"
- if test "$account" != "$userentry" ; then
- default="-D${userentry#*,}"
- else
- default='-i'
- fi
- if test "${account%%:*}" != "$account" ; then
- opts='-nB'
- else
- opts=""
- fi
- uidgid=`s6-envuidgid "$default" $opts -- "$account" multisubstitute importas UID UID importas GID GID '' s6-echo -- '${UID}:${GID}'`
- uid=${uidgid%%:*}
- gid=${uidgid#*:}
- for file in $globex ; do
- applyrec "$file" "$recurse" "$uid" "$gid" "$fmode" "$dmode"
- done
- fi
- done
|