क्या .sudo_as_admin_successful को बनाना संभव है?


46

जब भी मैं किसी कमांड को निष्पादित करता हूं sudo, तो .sudo_as_admin_successfulमेरे घर निर्देशिका में एक फ़ाइल बनाई जाती है। जहां तक ​​मैं बता सकता हूं, यह इस संदेश को अक्षम करने के एकमात्र उद्देश्य के लिए मौजूद है जो स्टार्टअप पर प्रिंट करता है:

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

संबंधित अनुभाग में टिप्पणी करके उस संदेश को रोकना संभव है /etc/bash.bashrc, लेकिन फिर sudoभी मेरे होम डायरेक्टरी में एक कष्टप्रद फाइल बनती है।

यह वेबपृष्ठ पता चलता है आप फ़ाइल से अपने आप को हटाने के द्वारा बनाया जा रहा बंद करो कि कर सकते हैं adminसमूह है, लेकिन मैं किसी भी तरह के समूह में नहीं कर रहा हूँ - idशो है कि मैं में हूँ josh, adm, cdrom, sudo, dip, plugdev, lpadminऔर sambashare, और adminमें नहीं है /etc/group

क्या इस फ़ाइल को बनाने से रोकने का कोई तरीका है?


मेरा मानना ​​है कि यह इस सवाल का डुप्लिकेट नहीं है , क्योंकि यह पूछ रहा था कि क्या यह नोटिस नोट बैश करके छपवाना संभव है, बजाए इसके कि इससे बनाई जा रही फाइल को रोकना संभव है sudo


1
इसके बारे में इतना गुस्सा क्या है? यह मुश्किल से कोई जगह लेता है।
edwinksl

12
@edwinksl यह दृश्य अव्यवस्था है जब मैं कुछ और खोजने की कोशिश कर रहा हूं। मुझे इसके अस्तित्व के बारे में पता नहीं होना चाहिए, यह देखते हुए कि मैं इसे कभी नहीं बदलूंगा।
जोश

5
और यही कारण है कि वहाँ एक है। सामने। आप अपने विचारों में छिपी हुई फाइलों को शामिल क्यों कर रहे हैं?
रिनजविंड १wind

11
कम से कम इस फ़ाइल को स्वयं .config या .local में रखना चाहिए। यह कभी-कभी ऐसा नहीं होता है कि हमें छिपी हुई फ़ाइलों को ब्राउज़ करने की आवश्यकता होती है, विशेष रूप से होम निर्देशिका में। क्या ऐसा नहीं है कि .config / .Local का आविष्कार किया गया था, क्योंकि घरेलू निर्देशिका का हास्यास्पद अधिभार, जिसमें से यह फ़ाइल संभवतः सबसे गंभीर उदाहरण है?
नीलजी

1
डिस्ट्रो वॉर शुरू करने के लिए नहीं (यह askubuntu.com पर पूछा गया है), लेकिन मैंने डबल-चेक किया: यह वास्तव में कुछ है जो उबंटू ने जोड़ा है जो अपस्ट्रीम डेबियन वितरण में मौजूद नहीं है। इसे "उपयोगकर्ता के अनुकूल" होने की संभावना है, लेकिन मैं, ओपी की तरह, इस कष्टप्रद जैसी यादृच्छिक फ़ाइलों की उपस्थिति का पता लगाता हूं।
प्रति लंडबर्ग

जवाबों:


38

plugins/sudoers/sudoers.cस्रोत कोड फ़ाइल के निम्नलिखित अनुभाग के आधार पर , यह ऐसा नहीं लगता है sudoकि USE_ADMIN_FLAGपूर्व-प्रोसेसर मैक्रो को फिर से परिभाषित किए बिना , पुन: जमा करना संभव नहीं है ।

इसके अलावा, ध्यान दें कि यह दोनों की समूह सदस्यता के लिए जाँच कर रहा है admin और sudo । मैंने चैंज को चेक नहीं किया है, लेकिन मुझे संदेह है कि sudoविशेषाधिकार प्राप्त उपयोगकर्ताओं के लिए डिफ़ॉल्ट समूह बनने पर बाद का चेक जोड़ा गया था - शायद फ़ाइल नाम अभी भी adminसंगतता के लिए संदर्भित करता है ।

1229 #ifdef USE_ADMIN_FLAG
1230 static int
1231 create_admin_success_flag(void)
1232 {
1233     struct stat statbuf;
1234     char flagfile[PATH_MAX];
1235     int len, fd = -1;
1236     debug_decl(create_admin_success_flag, SUDOERS_DEBUG_PLUGIN)
1237
1238     /* Check whether the user is in the admin group. */
1239     if (!user_in_group(sudo_user.pw, "admin") &&
1240         !user_in_group(sudo_user.pw, "sudo"))
1241         debug_return_int(true);
1242
1243     /* Build path to flag file. */
1244     len = snprintf(flagfile, sizeof(flagfile), "%s/.sudo_as_admin_successful",
1245         user_dir);
1246     if (len <= 0 || (size_t)len >= sizeof(flagfile))
1247         debug_return_int(false);
1248
1249     /* Create admin flag file if it doesn't already exist. */
1250     if (set_perms(PERM_USER)) {
1251         if (stat(flagfile, &statbuf) != 0) {
1252             fd = open(flagfile, O_CREAT|O_WRONLY|O_EXCL, 0644);
1253             if (fd != -1)
1254                 close(fd);
1255         }
1256         if (!restore_perms())
1257             debug_return_int(-1);
1258     }
1259     debug_return_int(fd != -1);
1260 }
1261 #else /* !USE_ADMIN_FLAG */
1262 static int
1263 create_admin_success_flag(void)
1264 {
1265     /* STUB */
1266     return true;
1267 }
1268 #endif /* USE_ADMIN_FLAG */

बेशक यह recompiling के बिना संभव है sudo! बस बाहर निकल जाओ objdump -d, उस जांच में शामिल तर्क को ट्रैक करें, फिर अपने भरोसेमंद हेक्स संपादक (या यहां तक ​​कि hexdumpऔर एक नियमित पाठ संपादक को चुटकी में करेंगे) के साथ कुछ सर्जरी के लिए जाएं। क्या गलत हो सकता था?
mtraceur
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.