जवाबों:
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 -w
writability के लिए, आदि
मैंने पाया है कि आप su -s <shellname> <username>
एक विशिष्ट उपयोगकर्ता के रूप में एक विशिष्ट शेल दर्ज करने के लिए उपयोग कर सकते हैं । आप हमेशा की तरह फ़ाइल अनुमतियों का परीक्षण कर सकते हैं।
उदाहरण के लिए:
su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template
cat
हालांकि यह शायद सबसे अच्छा विकल्प नहीं है ... यह आप एक बड़ी फ़ाइल या एक बाइनरी फ़ाइल का परीक्षण कर रहे हैं ...