27 lines
510 B
Plaintext
27 lines
510 B
Plaintext
![]() |
#!/bin/sh
|
||
|
|
||
![]() |
usage () {
|
||
|
cat <<EOF>&2
|
||
![]() |
Usage: ${0##*/} FOLDERS
|
||
![]() |
|
||
|
Set file/directory owner and permissions according to current umask for current
|
||
![]() |
user.
|
||
![]() |
|
||
![]() |
EOF
|
||
![]() |
}
|
||
|
|
||
|
[ $# -eq 0 ] && usage && exit 1
|
||
|
[ "$1" = "-h" ] && usage && exit
|
||
|
[ "$1" = "--" ] && shift
|
||
![]() |
|
||
![]() |
FMASK=$(umask -S | sed 's/x//g')
|
||
|
DMASK=$(umask -S)
|
||
![]() |
[ -z "$UID" ] && UID=$(id -u)
|
||
|
[ -z "$GID" ] && GID=$(id -g)
|
||
![]() |
|
||
![]() |
for i ; do
|
||
![]() |
find "$i" -exec chown -R "$UID:$GID" {} \;
|
||
|
find "$i" -type d -exec chmod "$DMASK" {} \;
|
||
|
find "$i" -type f -exec chmod "$FMASK" {} \;
|
||
![]() |
done
|