मैं इस उदाहरण में -perm फ्लैग के लिए gnu फाइंड सिंटैक्स का उपयोग करूँगा:
मूल रूप से - यदि आप ACLs जैसे निराला एक्सटेंशन को निकालते हैं, तो आपको 3 चॉइस - स्वामी, समूह, और "अन्य" एक्सेस प्राप्त होती है। एक लूप के लिए एक नौकरी की तरह लगता है।
इसे ऑप्टिमाइज़ करने के लिए बहुत जगह है लेकिन मैं इसे किसी और के पास छोड़ दूँगा ... इसके अलावा, मैं फाइलसिस्टम को खोजने और पार करने के सभी विवरणों को कभी भी याद नहीं रख सकता हूं और यह बकवास है। इसके अलावा, यह सुनिश्चित कर लें कि समूहों का आउटपुट मेरे टेस्ट लिनक्स सिस्टम पर समान है
$ groups snoopy
snoopy : snoopy doghouse linus admin wwI woodstock
$
यह एक मोटा उदाहरण है कि आप किसी उपयोगकर्ता द्वारा लिखी गई फ़ाइलों को कैसे योग्य पाएंगे। यह किसी भी उपयोगकर्ता के रूप में चलेगा, लेकिन यदि आप इसे एक गैर-uid0 उपयोगकर्ता के रूप में चलाते हैं, तो आपको केवल वे चीजें मिलेंगी जो निर्देशिकाओं में हैं जो स्क्रिप्ट चलाने वाले उपयोगकर्ता के पास अनुमतियों को पढ़ने और निष्पादित करने दोनों हैं।
#!/bin/sh
user=snoopy
directory=/
# first files owned by the user and writable
find "$directory" -follow -user "$user" -perm /u+w 2> /dev/null
# now for files that are group writable with the user in that group
for groups in $(groups snoopy 2> /dev/null | cut -f2 -d:)
do
find "$directory" -follow -group "$user" -perm /g+w 2> /dev/null
done
# now for everything else
find "$directory" -follow -perm /o+w 2> /dev/null