रूट के बिना एक सीरियल पोर्ट को पढ़ें / लिखें?


31

मैं फेडोरा 14 में एक सीरियल पोर्ट से / को पढ़ने / लिखने के लिए एक आवेदन लिख रहा हूं, और जब मैं इसे रूट के रूप में चलाता हूं तो यह बहुत अच्छा काम करता है। लेकिन जब मैं इसे एक सामान्य उपयोगकर्ता के रूप में चलाता हूं तो मैं डिवाइस (/ dev / ttySx) तक पहुंचने के लिए आवश्यक विशेषाधिकार प्राप्त करने में असमर्थ हूं। यह भद्दा है क्योंकि अब मैं वास्तव में ग्रहण का उपयोग करके लानत की बात पर बहस नहीं कर सकता।

मैंने सूडो के साथ एक्लिप्स चलाने की कोशिश की है लेकिन यह मेरे कार्यक्षेत्र को दूषित करता है और मैं इस परियोजना को खोल भी नहीं सकता। इसलिए मैं जानना चाहता हूं कि क्या लिखने की पहुंच आवश्यकताओं को कम करना संभव है। क्या यह संभव है?

जवाबों:


46

सीरियल पोर्ट तक पहुंचने का अधिकार डिवाइस फ़ाइल (जैसे /dev/ttyS0) की अनुमतियों द्वारा निर्धारित किया जाता है । तो आपको बस इतना करने की ज़रूरत है कि डिवाइस आपके पास होने के लिए व्यवस्थित हो, या (बेहतर) अपने आप को उस समूह में रखें जो डिवाइस का मालिक है, या (यदि फेडोरा इसका समर्थन करता है, जो मुझे लगता है कि यह करता है) डिवाइस के लिए व्यवस्था करें उस उपयोगकर्ता से संबंधित है जिसने कंसोल पर लॉग इन किया है।

उदाहरण के लिए, मेरे सिस्टम पर (फेडोरा नहीं), /dev/ttyS0उपयोगकर्ता rootऔर समूह के स्वामित्व में है dialout, इसलिए धारावाहिक उपकरण को सक्षम करने के लिए, मैं खुद को dialoutसमूह में जोड़ूंगा :

usermod -a -G dialout MY_USER_NAME

1
मैं इसे स्वीकार करने जा रहा हूं क्योंकि यह मुझे सही रास्ते पर मिला है। फेडोरा के लिए, एक उपयोगकर्ता द्वारा बनाए जाने के बाद कमांड usermod का उपयोग किया जाता है। विचाराधीन समूह मेरे लिए भी डायलआउट था: sudo usermod -a -G डायलआउट <username>। चीयर्स।
यानी २१:२४ बजे

5
ध्यान दें कि आपको नए समूह में प्रदर्शित होने के लिए लॉग आउट और लॉग इन करने की आवश्यकता हो सकती है
Jan ekpaček

1
लोकप्रिय मांग के अनुसार: sudo usermod -a -G dialout $USER:-)
Ciro Santilli 改造

0

कई वितरण धारावाहिक बंदरगाहों तक पहुंच को सक्षम करने के लिए समूह सदस्यता का उपयोग करते हैं। हालांकि मुझे फेडोरा ऑफहैंड के बारे में जानकारी नहीं है।


0

मुझे लगता है कि आप अपने आप को sudoers फ़ाइल में जोड़ सकते हैं जो आपको कमांड अलियास के रूप में कमांड के एक सेट को निर्दिष्ट करने की अनुमति देगा जिसे आप पासवर्ड के बिना निष्पादित करने में सक्षम होंगे। आप Ubuntu डॉक्स में sudoers फ़ाइल के बारे में एक उत्कृष्ट ट्यूटोरियल पा सकते हैं ।

फिर आप सामान्य रूप से ग्रहण चला सकते हैं और यह उन विशिष्ट आदेशों को बिना रूट अनुमतियों के निष्पादित करने में सक्षम होगा।


-2

मुझे यह समस्या दिन में भी थी, उपयोगकर्ता को डायलआउट समूह में जोड़ने के अलावा, आपको उस उपयोगकर्ता को एक्सेस करने या देवता की अनुमति देने की भी आवश्यकता है। बस सु -> रूट पासवर्ड दर्ज करें -> chmod -R 777 / dev -R, मतलब पुनरावर्ती मोड, उस फ़ोल्डर के भीतर सब कुछ एक ही अनुमति होगी

समस्या यह है, आपको यह करने की ज़रूरत है कि हर बार जब आप अपने कंप्यूटर को रिबूट करें और अपने डिवाइस को प्लग-इन करें और बाहर निकाल दें !!!


3
chmod -R 777 /devबहुत बुरा विचार है।
राल्फफ्राइडल

याह सहमत हैं, अगर इसके लिए कोई अन्य सुझाव है, तो यह बहुत अच्छा होगा
टुनू योलिम न्गजिलो

मुझे आश्चर्य है कि क्या आपको फिर से लॉग आउट करने की आवश्यकता है, जैसा कि स्वीकृत उत्तर पर टिप्पणी में है ? इससे अक्सर लोग यात्रा करते हैं।
sourcejedi

/ देव / के अंदर सब कुछ करने के लिए सभी उपयोगकर्ताओं के लिए मुफ्त पहुँच देना बेहद असुरक्षित है। कृपया ऐसा न करें।
अपराह्न
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.