छोड़ने की अनुमति देना मैं एक सिस्टम पर प्रदर्शन परीक्षण कर रहा हूं जहां मुझे यह सुनिश्चित करने की ज़रूरत है कि मैं डिस्क से डेटा पढ़ रहा हूं, और यह केवल कैश नहीं है (पहले परीक्षणों से कहें)। मैं here पढ़ा है कि मैं कमांड के साथ कैश ड्रॉप कर सकते हैंएक गैर-रूट उपयोगकर्ता को कैश
echo 3 | sudo tee /proc/sys/vm/drop_caches
हालांकि, ध्यान दें कि भले ही मेरे खाते एक व्यवस्थापक खाता (लॉग इन पीटर) है, यह अभी भी अपना पासवर्ड की आवश्यकता है। मैं पासवर्ड को इनपुट करने की आवश्यकता के बिना इसे बैच स्क्रिप्ट में चलाने में सक्षम होना चाहता हूं (क्योंकि यह स्पष्ट रूप से मैनुअल है)
अधिक research ने मुझे सूडोर्स फ़ाइल में ले जाया। मेरी योजना उपर्युक्त कमांड को ड्रॉप कैश नामक एक पंक्ति स्क्रिप्ट में रखना था, और सूडोर्स को संपादित करना ताकि मैं पासवर्ड दर्ज किए बिना इसे चला सकूं। तो मैंने लाइन
ALL ALL=(ALL)NOPASSWD:/home/peter/dropCache
मेरी सूडोर्स फ़ाइल (विसुडो का उपयोग करके) के अंत में लाइन जोड़ा। मेरी व्यवस्थापक खाते के साथ, अगर मैं
sudo -l
चलाने मैं
(ALL) NOPASSWD: /home/peter/dropCache
मिल हालांकि, अगर मैं अपने dropCache स्क्रिप्ट चलाने मैं अभी भी अपने पासवर्ड
./dropCache
[sudo] password for peter:
इस के साथ किसी भी मदद के लिए पूछे जाते बहुत सराहना की जाएगी। मैं Ubuntu 12.04
धन्यवाद पीटर
हाय थॉमस - शांत - मुझे इसे आजमाइए और आपके पास वापस करते हैं! –
यह काम किया! धन्यवाद थॉमस - आप अपने उच्च प्रतिष्ठा स्कोर –
के लायक हैं यह निष्पादन योग्य सुरक्षा जोखिम है - आप अपने पथ को सेट नहीं करते हैं और पूर्ण पथ नाम के बिना बाहरी कमांड चलाते हैं। आप बाहरी सिंक कमांड को चलाने के बजाय सिंक() सिस्टम कॉल को सीधे कॉल कर सकते हैं। –