तो मैंने ए chmod -x chmod
। मैं इस समस्या को कैसे ठीक कर सकता हूं? मैं चोमॉड को वापस निष्पादित अधिकार कैसे दे सकता हूं?
तो मैंने ए chmod -x chmod
। मैं इस समस्या को कैसे ठीक कर सकता हूं? मैं चोमॉड को वापस निष्पादित अधिकार कैसे दे सकता हूं?
जवाबों:
/lib64/ld-linux-x86-64.so.2
इसके बजाय उपयोग करना पड़ सकता है । ldd /bin/chmod
कौन सा लिंकर चलाने के लिए सूची चाहिए।
man ld-linux.so
: "ld.so [और ld-linux.so] एक कार्यक्रम के लिए आवश्यक साझा पुस्तकालयों को लोड करता है, कार्यक्रम को चलाने के लिए तैयार करता है, और फिर इसे चलाता है।" ( ld.so
के लिए है a.out
प्रारूप निष्पादनयोग्य और ld-linux.so
ELF प्रारूप के लिए है।)
ld-linux.so
निष्पादन योग्य / पुस्तकालय हाइब्रिड की तरह, सांख्यिकीय रूप से जुड़ा हुआ है, उपयोगकर्तास्पेस में चलता है, और गतिशील रूप से जुड़े निष्पादनयोग्य और उनके सभी आश्रितों को लोड करने के लिए जिम्मेदार है, फिर उन्हें चला रहा है।
यह इस तथ्य पर निर्भर करता है कि गंतव्य फ़ाइल की अनुमति स्रोत फ़ाइल के बजाय संरक्षित है जब इसे कॉपी किया जा रहा है। हम "की अनुमति" उधार ले रहे हैं ls
:
cp /bin/ls /tmp/chmod.tmp
cp /bin/chmod /tmp/chmod.tmp
mv /tmp/chmod.tmp /bin/chmod
cp
-p फ्लैग ऑन करने की जरूरत है
cp
निष्पादन योग्य होने के बाद , मैं सिर्फ टेम्प फाइल में cat
सामग्री को घेर रहा हूं chmod
।
setfacl -m u::rx /bin/chmod
... स्वामी को अनुमति निष्पादित करेगा।
लेकिन, /lib/ld-linux.so.2
चाल साफ-सुथरी है। :)
यह अजीब है ... मैंने कुछ दिनों पहले किसी के ट्वीट के माध्यम से ऐसा कुछ देखा था ...
मुझे संदेह है कि यह एक वास्तविक प्रश्न नहीं है: http://www.slideshare.net/cog/chmod-x-chmod
एक नया chmod बनाएँ और मूल के लिए उपयोग करें
umask 000
cat chmod > ~/my-chmod
~/my-chmod a+x chmod
(umask 000;gcc -o foo foo.c)
उत्पादन होगा foo
)। हालाँकि, कई (सबसे?) गोले 0666 पास होते हैं जब वे पुनर्निर्देशन के लिए फाइल खोलते / बनाते हैं, जिसका अर्थ है कि यह उत्तर कई गोले के तहत काम नहीं करने वाला है।
chmod
!