मैंने यह सवाल स्टैक ओवरफ्लो में पहले ही पूछ लिया था , लेकिन मुझे इसे यहाँ पोस्ट करने के लिए कहा गया है। तो वही कर रहे हैं।
मैंने अपने जावा प्रोग्राम का उपयोग करके इस कमांड को चलाया-
sudo -u <username> -S pwd
मुझे यह आउटपुट मिला-
command=sudo -u <username> -S pwd
exitCode=1
sudo: sorry, you must have a tty to run sudo
मैंने संपादन / आदि / sudoers की कोशिश की, लेकिन यह पहले से ही शामिल है
<username> ALL=(ALL) NOPASSWD: ALL
फिर, मुझे पता चला कि यह निम्नलिखित कोड / in / sudoers पर टिप्पणी करके किया जा सकता है
# Defaults requiretty
इसके अलावा, डिफ़ॉल्ट रूप से, जब किसी अन्य उपयोगकर्ता के रूप में एक कमांड निष्पादित करने का प्रयास किया जाता है sudo, तो हमें अपना पासवर्ड प्रदान करना होगा। लेकिन इसे / etc / sudoers में निम्न परिवर्तन करके बदला जा सकता है-
Defaults targetpw
मेरा प्रश्न यह है कि क्या जावा में मेरे उपरोक्त कमांड को कहीं भी बिना किसी बदलाव के डिफ़ॉल्ट सेटिंग्स के द्वारा निष्पादित करना संभव है ?
requirettyडिफॉल्ट द्वारा सक्षम होने पर डिस्ट्रो विशिष्ट लगता है। sudoअपने स्वयं के प्रलेखन के अनुसार यह "डिफ़ॉल्ट रूप से बंद है।"