किसी विशेष उपयोगकर्ता द्वारा बनाई गई फ़ाइलें खोजें


15

मैं किसी विशेष उपयोगकर्ता द्वारा बनाई गई सभी फ़ाइलों की खोज करने और उन्हें स्क्रीन पर प्रदर्शित करने के बारे में कैसे जाऊंगा?

मैंने एक स्क्रिप्ट शुरू की है जो वर्तमान उपयोगकर्ता को उपयोगकर्ता नाम दर्ज करने के लिए प्रेरित करती है, जिसकी वे सभी फाइलें देखना चाहते हैं। मैंने सोचा था कि यदि मैं त्रुटि जाँच में शामिल करना चाहूँ तो एक कथन का उपयोग करने के बारे में सोचा था।

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username

6
findएक है -userएक विशेष उपयोगकर्ता के स्वामित्व वाली फ़ाइलों के लिए खोज के लिए विकल्प। यकीन नहीं है कि आप कैसे यह निर्धारित करने में सक्षम होंगे कि किसने एक फ़ाइल बनाई, हालांकि। स्वामित्व बदल सकता है इसलिए मुझे नहीं पता कि क्या आप वास्तव में चाहते हैं।
ब्राचली

2
एकमात्र तरीका मैं प्रदर्शन करने के लिए देखता हूं जो कि फाइलसिस्टम ऑडिट में है।
BitsOfNix

जवाबों:


22

आप सामान्य लिनक्स फाइल सिस्टम पर ऐसा नहीं कर सकते, क्योंकि यह फाइल का ट्रैक नहीं रखता creator, केवल फाइल के मालिक का। निर्माता और मालिक आमतौर पर हैं, लेकिन जरूरी नहीं कि समान हो।

यदि आप फ़ाइल के स्वामी को ढूंढना चाहते हैं, तो आप कर सकते हैं, जैसा कि ब्राचली ने संकेत दिया था, उपयोग करें

find / -type f -user user_name

उन फ़ाइलों को खोजने और नाम प्रदर्शित करने के लिए।

फ़ाइलों को प्रदर्शित करने के लिए आपको कुछ प्रोग्राम की आवश्यकता होगी जो उस तरह की किसी भी फ़ाइल प्रकार के लिए सामग्री दिखा सके। यदि आपके पास ऐसी show_fileउपयोगिता है जो एक file_name को तर्क के रूप में लेती है, तो आप कर सकते हैं:

find / -type f -user user_name -exec show_file {} \;

0

उपयोग करें find:

find / -type f -user “<SHORTUSERNAME>" -print 2>/dev/null

तो, आपकी स्क्रिप्ट में:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.