बिना सुडो के जड़ के स्वामित्व वाला बाइनरी चलाएं


12

मेरे पास नौकरी के लिए एक साक्षात्कार था:

कैसे आप उपयोगकर्ता के साथ निष्पादित कर सकते हैं (रन) कार्यक्रम user1के बिना sudoविशेषाधिकारों और करने के लिए उपयोग के बिना rootखाता:

$ whoami
user1
$ ls -l ~/binary_program
-rw-r--r-- 1 root root 126160 Jan 17 18:57 /home/user1/binary_program

जवाबों:


17

चूंकि आपने अनुमति पढ़ ली है:

$ cp ~/binary_program my_binary
$ chmod +x my_binary
$ ./my_binary

बेशक यह ऑटो-मैजिकली अनुदान नहीं देगा जो आपने विशेषाधिकार बढ़ा दिया है। आप अभी भी उस बाइनरी को एक नियमित उपयोगकर्ता के रूप में निष्पादित कर रहे हैं।


4
@ user2555595 मुझे डर है कि आप गलत हैं। एक फ़ाइल पर अमल बिट निकालने का प्रयास करें , जिसके आप स्वामी और यह क्रियान्वित। यहां तक ​​कि रूट को "अनुमति से वंचित" किया जाता है जब किसी फ़ाइल को निष्पादित बिट सेट के बिना निष्पादित किया जाता है।
जोसेफ आर।

आप सही हैं, जानकारी के लिए धन्यवाद
user2555595

5
@ user2555595 यह केवल स्क्रिप्ट के लिए लागू होता है , न कि बायनेरिज़ पर। bashयदि bashदुभाषिया के रूप में आह्वान किया गया है तो अधिक विशेष रूप से केवल या पॉसिक्स शेल स्क्रिप्ट ।
थॉमस निमन

आपकी जानकारी के लिए धन्यवाद, लोग! आपका दिन शुभ हो!
inivanoff1

2
@ inivanoff1 कृपया "स्वीकृत" उत्तरों में से एक को चिह्नित करना न भूलें ताकि लोगों को पता चले कि यह प्रश्न हल हो गया है।
जोसेफ आर।

20

आप लिनक्स का उपयोग कर सकते गतिशील लिंकर / लोडर चलाने के लिए सीधे ELF निष्पादनयोग्य जिसके लिए आप पढ़ लिया है, लेकिन अधिकार पर अमल नहीं:

$ /lib/ld-linux.so.* /home/user1/binary_program

जब कोई ईएलएफ निष्पादन योग्य होता है, तो डायनामिक लिंकर .interpको प्रोग्राम कोड के खंड में संग्रहीत किया जाता है। डायनेमिक लिंकर को सीधे (जॉब इंटरव्यू के बाहर) करने के कारणों में इसके व्यवहार को संशोधित करने के लिए इसे कमांड-लाइन विकल्प पास करना शामिल है।

ध्यान दें कि डायनामिक लिंकर का वास्तविक स्थान पर्यावरण के आधार पर हो सकता है, उदाहरण के लिए 64-बिट उबंटू में लिंकर चालू है /lib64/ld-linux-x86-64.so.2

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.