मैंने यह सवाल स्टैक ओवरफ्लो में पहले ही पूछ लिया था , लेकिन मुझे इसे यहाँ पोस्ट करने के लिए कहा गया है। तो वही कर रहे हैं।
मैंने अपने जावा प्रोग्राम का उपयोग करके इस कमांड को चलाया-
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
अपने स्वयं के प्रलेखन के अनुसार यह "डिफ़ॉल्ट रूप से बंद है।"