27 lines
510 B
Bash
Executable File
27 lines
510 B
Bash
Executable File
#!/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
|