मैं sudoers में कमांड तर्क कैसे निर्दिष्ट करूं? एक पृष्ठभूमि के रूप में, aws
कमांड वास्तव में उप-प्रणालियों के एक पूरे समूह का प्रवेश द्वार है और मैं उपयोगकर्ता को केवल चलाने के लिए प्रतिबंधित करना चाहता हूंaws s3 cp ...any other args...
जब मैं निम्नलिखित में कोशिश करता हूं /etc/sudoers
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws s3 cp, /usr/local/aws/bin/aws s3 cp
gbt1 ALL=(gbt-ops) NOPASSWD: AWSS3_CMD
शेल दुर्भाग्य से पासवर्ड के लिए संकेत देता है
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
यदि मैं Cmnd_Alias में कमांड आर्ग को हटाता हूं, तो यह वांछित (पासवर्ड प्रॉम्प्ट के बिना) प्रवाहित होता है, लेकिन प्राधिकरण बहुत व्यापक है। तो, केवल कुछ विशेष प्रकार के कमांड इनवॉइस को प्रतिबंधित करने का सही तरीका क्या है ।
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
फिर
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
बहुत बहुत धन्यवाद।