जवाबों:
sudoआदेश के साथ एक विशेष उपयोगकर्ता के रूप में कुछ भी चला सकते हैं -uविकल्प। गोले के बारे में चिंता करने के बजाय, बस catअपनी फ़ाइल को अपने लक्षित उपयोगकर्ता के रूप में (या निष्पादित, जो भी हो) करने का प्रयास करें:
$ sudo -u apache cat .ssh/authorized_keys
cat: .ssh/authorized_keys: Permission denied
मुझे स्क्रिप्ट में उपयोग करने के लिए सुविधाजनक कुछ मिला
sudo -u <user> test -r <file-to-test> && ...
man testअधिक जानकारी के लिए
sudo -u <user> test -r <file-to-test>; echo $?
echo $?भाग इच्छा उत्पादन परीक्षण से बाहर निकलने की स्थिति।
बस यहाँ याद रखें कि 0यदि ऑपरेशन सफल रहा तो आउटपुट होगा ! या गैर-शून्य, जैसे 1, यदि नहीं।
जैसा @ थॉमस की टिप्पणी @ user72025 के जवाब पर, का उपयोग man testकी तरह अधिक आपरेशन परीक्षण पाने के लिए, test -xपरीक्षण executability को, test -wwritability के लिए, आदि
मैंने पाया है कि आप su -s <shellname> <username>एक विशिष्ट उपयोगकर्ता के रूप में एक विशिष्ट शेल दर्ज करने के लिए उपयोग कर सकते हैं । आप हमेशा की तरह फ़ाइल अनुमतियों का परीक्षण कर सकते हैं।
उदाहरण के लिए:
su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template
catहालांकि यह शायद सबसे अच्छा विकल्प नहीं है ... यह आप एक बड़ी फ़ाइल या एक बाइनरी फ़ाइल का परीक्षण कर रहे हैं ...