.সুডো_আস_এডমিন_সফেসফুল তৈরি হচ্ছে কি থামানো সম্ভব?


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
এটি সম্পর্কে এত বিরক্তিকর কি? এটি সবেমাত্র কোনও স্থান নেয়।
এডউইনকস্ল

12
@edwinksl যখন আমি অন্য কিছু সন্ধান করার চেষ্টা করছি তখন এটি ভিজ্যুয়াল ক্লোটার। এর অস্তিত্ব সম্পর্কে আমার সচেতন হওয়া উচিত নয়, আমি এটিকে কখনও সংশোধন করব না।
জোশ

5
এবং সে কারণেই একটি আছে। অগ্রে. আপনি কেন আপনার দৃষ্টিতে লুকানো ফাইলগুলি অন্তর্ভুক্ত করছেন?
রিনজউইন্ড

11
কমপক্ষে এই ফাইলটি নিজেকে .config বা .local এ রাখা উচিত। বিশেষত হোম ডিরেক্টরিতে আমাদের লুকানো ফাইলগুলি ব্রাউজ করতে হবে এমন ঘটনা খুব কম নয়। হ'ল ডিরেক্টরিটি হ'ল হাস্যকর ওভারলোড, যার মধ্যে এই ফাইলটি সম্ভবত সবচেয়ে কৃতজ্ঞ উদাহরণ হিসাবে দেখা যায়?
নীলজি

1
কোনও ডিস্ট্রো যুদ্ধ শুরু করার জন্য নয় (এটি জিজ্ঞাসুবন্টু ডটকম-এ জিজ্ঞাসা করা হয়েছে), তবে আমি ডাবল-চেক করেছি: এটি আসলে এমন কিছু যা উবুন্টু যুক্ত করেছিলেন যা উজানের দেবিয়ান বিতরণে উপস্থিত নেই। এটি সম্ভবত "ব্যবহারকারী বান্ধব" হিসাবে যুক্ত হয়েছে তবে আমি ওপি-র মতো এই বিরক্তিকর মতো এলোমেলো ফাইলের উপস্থিতি খুঁজে পাই।
প্রতি লন্ডবার্গে

উত্তর:


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 */

অবশ্যই এটি পুনরায় কম্পাইল sudoনা করেই সম্ভব ! কেবল বেরিয়ে objdump -dআসুন, সেই চেকটিতে জড়িত যুক্তিগুলি সন্ধান করুন, তারপরে hexdumpকিছু শল্য চিকিত্সার জন্য আপনার বিশ্বস্ত হেক্স সম্পাদক (বা এমনকি একটি নিয়মিত পাঠ্য সম্পাদক একটি চিম্টিতে করতে পারেন) এর সাথে যান। কি ভুল হতে পারে?
এমট্রেসিয়র
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.