שנות הרשאות לקבצים או לתיקיות

בזמן האחרון יוצא לי לעבוד הרבה עם שרתי לינוקס ולא פעם אני צריך לשנות הרשאות לקבצים או לתיקיות. כשרוצים לתת אותה הרשאה לקבצים ולתיקיות זה די פשוט, אני משתמש בפקודה chmod
chmod -R [number] foldername

הבעיה מתחילה כשאני רוצה לתת הרשאה אחת לקבצים והרשאה אחרת לתת־התיקיות. לצורך כך יצרתי שני תסריטים פשוטים שמשתמשים בפקודה find. אחד רץ רק על הקבצים והשני רץ רק על תיקיות.

fchmod (לקבצים):
#!/bin/bash
per=$1
path=$2
if [ "$path" == "" ]; then
path=.
fi
find $path -type f -exec chmod $per {} \;

dchmod (לתיקיות):
#!/bin/bash
per=$1
path=$2
if [ "$path" == "" ]; then
path=.
fi
find $path -type d -exec chmod $per {} \;

כדי להשתמש בתסריטים פשוט מעתיקים אותם למחשב לתיקיית bin בתיקיית הבית, נותנים להם הרשאות ריצה ואז מריצים את הפקודה

dchmod 755 mydir
או לקבצים
fchmod 466 mydir

אם לא מגדירים את התיקייה הפקודה תרוץ על התיקייה הנוכחית.