/ Dev / ttyUSB0 के लिए अनुमतियाँ कॉन्फ़िगर करें


4

मैं Ubuntu 12.04 से एक Arduino के साथ संवाद करने की कोशिश कर रहा हूं। USB केबल में प्लग करते समय, arduino का सीरियल पोर्ट / dev / ttyUSB0 के रूप में होता है। जब मैं इसे मस्जिद का उपयोग करके कनेक्ट करने का प्रयास करता हूं , तो मुझे "डिवाइस / देव / ttyUSB0" नहीं खोल सकता है, लेकिन तब नहीं जब मैं sudo का उपयोग करके मस्जिद लॉन्च करता हूं । सीरियल डिवाइस को सामान्य गैर-रूट उपयोगकर्ता के रूप में सुलभ बनाने के लिए मुझे क्या कॉन्फ़िगर करना होगा?

जवाबों:


4

आपके पास कई विकल्प हैं:

स्वचालित ACL असाइनमेंट

आपके पास उबंटू में चलने वाले सिस्टमड-लॉगइंड या कंसोलकिट की सबसे अधिक संभावना है, जो स्वचालित रूप से डिवाइस नोड्स पर एसीएल को कॉन्फ़िगर कर सकता है जिसके आधार पर उपयोगकर्ता खाता कंसोल में लॉग इन होता है। ये ACL सामान्य अनुमतियों के अतिरिक्त पहुँच प्रदान करता है और इसका उपयोग करते हुए देखा जा सकता है getfacl

इसका उपयोग करने के लिए, निम्नलिखित को /etc/udev/rules.d/60-extra-acl.rules1 में जोड़ें :

KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess"

( 1 हाँ, फ़ाइल बनाएँ। यह डिफ़ॉल्ट रूप से मौजूद नहीं है; पूरी निर्देशिका व्यवस्थापक अनुकूलन के लिए है।)

समूह-आधारित पहुंच

ट्टी डिवाइस आमतौर पर एक विशिष्ट समूह जैसे "डायलआउट" या "यूकप" द्वारा पठनीय / लेखन योग्य होते हैं । सभी सीरियल पोर्ट तक पहुँच प्राप्त करने के लिए अपने आप को उस समूह में जोड़ें :

# gpasswd -a YourUsername dialout

समूह परिवर्तन लागू होने पर लॉग आउट और लॉग इन करना न भूलें।

अनुमति या स्वामित्व परिवर्तन

उपरोक्त के समान udv नियम "मुख्य" स्वामी और समूह के साथ-साथ अनुमतियों (जो कि डिफ़ॉल्ट समूह को पहले स्थान पर सेट किया गया है) को सेट करने के लिए भी उपयोग किया जा सकता है। उदाहरण के लिए:

     KERNEL=="ttyUSB[0-9]*", OWNER="YourUsername"
or:  KERNEL=="ttyUSB[0-9]*", GROUP="users", MODE="0660"
or:  KERNEL=="ttyUSB[0-9]*", MODE="0666"

आप OWNER, GROUP और MODE मापदंडों को असाइन कर सकते हैं।

अस्थायी मैनुअल परिवर्तन

एक ऐसा करने के लिए एक बार परिवर्तन, बस का उपयोग chmodऔर / या chownआप सामान्य रूप से।

     # chown YourUsername /dev/ttyUSB0
or:  # chmod a+rw /dev/ttyUSB0

2019 अद्यतन: जाहिरा तौर पर मूल udev नियम उस में एक सिंटैक्स त्रुटि थी, और कोई भी 7 वर्षों में इसे देखा, यहां तक कि लोगों को नहीं है जो इसे upvoted ...
grawity
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.