ठीक-ठाक सूदोज़ विन्यास (कमांडलाइन तर्क की अनुमति)


20

उपयोगकर्ता को चलाने की अनुमति देने के लिए एक सीधा-आगे तरीका है (उदाहरण के लिए)

/usr/bin/pacman -S -u

जड़ के रूप में, उसे चलाने की अनुमति के बिना

/usr/bin/pacman -S -u some_package

?

रेखा

user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u

दोनों की अनुमति देता है, और

user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u ""

शब्दार्थ के समान प्रतीत होता है।

जवाबों:


27

आपके मामले के लिए कुछ इस तरह का प्रयास करें:

Cmnd_Alias PACMAN = /usr/bin/pacman -S -u, ! /usr/bin/pacman -S -u some_package
user ALL=(root) NOPASSWD: PACMAN

आप एक निश्चित पैटर्न से मेल खाने वाले पैकेजों को बाहर करने के लिए अपने sudoers फ़ाइल में [az], [0-9], * इत्यादि जैसे शेल ग्लॉब पैटर्न का उपयोग कर सकते हैं।


3

एक स्क्रिप्ट लिखें जो आपको चाहिए और सुडो को उस तक पहुंच प्रदान करे।

यह भी सुनिश्चित करें कि यह जो भी वातावरण चलाया जाता है उसमें नेटवर्किंग तक पहुंच बिल्कुल भी नहीं है, या वे बस दर्पण को खराब करने के लिए अपने स्वयं के डीएनएस का उपयोग कर सकते हैं और फिर पैमाना द्वारा स्थापित होने पर मनमाने कोड को रूट के रूप में चला सकते हैं।


एक सुंदर तरीका नहीं है,
सुडो

1
सबसे अच्छा समाधान नहीं है, लेकिन सुरक्षा चेतावनी के लिए +1
हारून जे लैंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.