গিক্সুডো এবং গিকসুর মধ্যে পার্থক্য কী?


58

সেখানে আচরণ মধ্যে কোনো পার্থক্য আছে কি gksu fooএবং gksudo foo?
এগুলি কি বিনিময়যোগ্যভাবে ব্যবহার করা যায়?

উত্তর:


39

উভয় ফাইল একই জায়গায় নির্দেশ করে:

$ ls -l /usr/bin/gksudo 
lrwxrwxrwx 1 root root 4 2010-09-27 18:23 /usr/bin/gksudo -> gksu

... এর gksudoসাথে সিলেক্ট করা আছে gksu। কিন্তু তার মানে এই নয় তারা কি এটা থেকে অনেক দূরে একই জিনিস।

অ্যাপ্লিকেশনগুলি এটি চালানোর জন্য ব্যবহৃত কমান্ড সনাক্ত করতে পারে। এটি সাধারণত argv[0]সি-স্টাইলের ভাষাগুলিতে বা $0বোর্ন-স্টাইলের শেল স্ক্রিপ্টগুলিতে। অ্যাপ্লিকেশনটি এটি দেখতে পারে এবং এই ক্ষেত্রে, বাস্তবে এটি কীভাবে কাজ করে তা পরিবর্তন করে। এর প্রথম ইঙ্গিতটি man gksuপৃষ্ঠাতে রয়েছে:

gksu  is  a  frontend  to  su  and gksudo is a frontend to sudo.

আপনি যদি উত্সটি ( apt-get source gksu) এর দিকে লক্ষ্য করেন তবে run_modeআপনি দেখতে পাবেন কীভাবে এটি এটি সনাক্ত করে:

  { /* support gksu_sudo_run */
    gchar *myname = g_path_get_basename (argv[0]);
    if (!strcmp(myname, "gksudo"))
      run_mode = SUDO_MODE;
    g_free (myname);
  }

আপনি এটি --su-mode/ -wএবং --sudo-mode/ -Sআর্গুমেন্টগুলির সাহায্যে ওভাররাইড করতে পারেন (যাতে আপনি gksudoসিমিলিংকের প্রয়োজন ছাড়াই সমমানের কমান্ডগুলি চালাতে পারেন ... তবে এটি আপনার উপর নির্ভর করে।

যদি আপনি জানতে চান যে এই "মোডগুলি" কীভাবে সত্যই পৃথক হয়, তবে এর মধ্যে কেবল কিছুটা পালাতে পারে gksu। আপনার এটি অনুসরণ করা প্রয়োজন libgksu। এটি সেই লাইব্রেরি যা সিস্টেমে হস্তান্তর করার পূর্বে অনুমতিগুলি পরীক্ষা করে।

যদি কোনও মোড নির্দিষ্ট না হয়ে থাকে (যেমন আপনি gksuকোনও যুক্তি ছাড়াই কল করেন ) এটি পৌঁছানোর সময়ের মধ্যে libgksu, এটি জিকনফকে পরীক্ষা করবে (স্টেফানো উল্লেখ করে) এবং যদি এটি এখনও সিদ্ধান্ত নিতে না পারে তবে এটি suমোডে ডিফল্ট হবে।


1
অলির মন্তব্যে যোগ করতে; যদিও gksudo gksu এর সাথে মিলযুক্ত, উবুন্টুতে, ডিফল্টরূপে আমরা কেবল gksudo ব্যবহার করব কারণ আমাদের কাছে / অ্যাপস / gksu / sudo- মোড সক্ষম রয়েছে। সুতরাং যদি না কেউ জোর করে --su- মোড বিকল্পটি gksu ব্যবহার না করে।
বিশ

5
@ অলি: আমি তাত্ক্ষণিকভাবে এই সিদ্ধান্তে পৌঁছাতে পারব না যে এটি কোনও সিমলিংক কারণেই কোনও পার্থক্য নেই। ব্যস্তবক্সে দেখুন, সিমিলিংকের নামের উপর নির্ভর করে বিভিন্ন ক্রিয়া সম্পাদন করা হয়। এক্ষেত্রে, আমি জানি না এটি সত্য কিনা না, তবে আফাইক সত্যই এটির ঘটনা।
লেকেনস্টেইন

1
-1, খুব বিভ্রান্তিমূলক: সফ্টওয়্যার তাদের নাম চাওয়ার জন্য কী নাম ব্যবহার করা হয়েছিল তার উপর আলাদাভাবে আচরণ করতে পারে। উদাহরণস্বরূপ bashPOSIX কঠোর মোড চালু করে যখন হিসাবে ডাকা হয় sh। আর gksu হয় এছাড়াও আবাহন নাম সচেতন।
MestreLion

আমার সেলফোনে খুব ছোট স্ক্রিন এবং খুব বড় আঙুলের সাহায্যে ইন্টারনেট ব্যবহার করা, আমার অবশ্যই অজান্তেই ডাউনভোট করা উচিত। আমি ক্ষতিপূরণ করতে
উর্ধ্বগীত করেছি

37

উবুন্টু (!) এ, কোনও পার্থক্য নেই।

  • gksuরুট ব্যবহারকারীদের মধ্যে সাধারণত লগইন করে এই সেশনে একটি অ্যাপ্লিকেশন চালায়। তবে উবুন্টুতে এটি "সুডো মোড" ব্যবহার করে ডিফল্ট হয় যা দৌড়ানোর সমতুল্য gksudo। এটি হ'ল উবুন্টুতে, আপনি ডিফল্টরূপে রুট হিসাবে লগ ইন করতে পারবেন না

  • gksudoএর গ্রাফিকাল সমতুল্য sudo(এবং ওলি যেমন gksu- এর প্রতীকী লিঙ্কটি দেখায়)

Gksu এর gconf এন্ট্রি থেকে:

বিকল্প পাঠ

তদতিরিক্ত, sudo এবং gksudo মধ্যে পার্থক্য:

রুট হিসাবে গ্রাফিকাল অ্যাপ্লিকেশন শুরু করতে আপনার কখনই স্বাভাবিক সুডো ব্যবহার করা উচিত নয়। এই জাতীয় প্রোগ্রামগুলি চালানোর জন্য আপনার gksudo (কুবুন্টুতে কেডেসুডো) ব্যবহার করা উচিত। gksudo হোম = ~ মূল সেট করে এবং অনুলিপি করে। tmp ডিরেক্টরিতে অনুমোদন। এটি আপনার হোম ডিরেক্টরিতে থাকা ফাইলগুলিকে মূলের মালিকানাধীন প্রতিরোধ করে। (এএএএএফসিটি, গিক্সুডো বনাম সুডো দিয়ে শুরু করা প্রক্রিয়াটির পরিবেশ সম্পর্কে এটি বিশেষ special
 - ( ক্রিস উইলসনের মাধ্যমে সম্প্রদায়ের ডকুমেন্টেশন থেকে )


14

আমি জানি যে এটি একটি পুরানো থ্রেড, তবে আমাকে এবং এর মধ্যে একটি সূক্ষ্ম তবে প্রয়োজনীয় পার্থক্য সম্পর্কে আপনাকে বলতে বলা হয়েছে ।gksugksudo

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

সংক্ষিপ্তসার হিসাবে, এই চেষ্টা করুন।

  1. কিছু ফোল্ডারে তিনটি ফাইল তৈরি করুন:
    touch abc
    touch abc.tmp
    touch abctmp
  2. নিম্নলিখিত ছয়টি কমান্ড চালান। প্রথম পাঁচটি একই (প্রত্যাশিত) ফলাফল দেয় (অর্থাত্ ন্যায়বিচার abc.tmp) যেখানে ষষ্ঠটিতে একটি অতিরিক্ত ফাইল ( abctmp) অন্তর্ভুক্ত থাকে যা এটি করা উচিত নয়।

    find . -regextype posix-egrep -regex '.*\.tmp' -print
    sudo find . -regextype posix-egrep -regex '.*\.tmp' -print
    gksudo -- find . -regextype posix-egrep -regex '.*\.tmp' -print
    gksudo --su-mode -- find . -regextype posix-egrep -regex '.*\.tmp' -print
    gksu --sudo-mode -- find . -regextype posix-egrep -regex '.*\.tmp' -print
    gksu -- find . -regextype posix-egrep -regex '.*\.tmp' -print
    

সমস্যার কল্পনা যখন আপনি প্রতিস্থাপন -printসঙ্গে -deletefindকমান্ড (যা ঠিক কি, আমার ঘটেছে যার ফলে মুছে ফেলা হবে কিছু সিস্টেম ফাইল)।

সুতরাং, দয়া করে gksudoপরিবর্তে ব্যবহার করুন gksu


সবেমাত্র 12.04LTS এ চেষ্টা করে দেখুন। এখনও পুরোপুরি বুঝতে পারছেন না কেন তবে একটি পার্থক্য রয়েছে। Gksu এর উত্স কোডটি gksudoটাইপ করার সমতুল্য দেখায়gksu --sudo-mode
ওয়ারেন হিল

@ ওয়ারেনহিল - হ্যাঁ, তত্ত্ব অনুসারে! বাস্তবে নয়। আমি জানিনা কেন.
ধানের ল্যান্ডউ

2
আকর্ষণীয়, এবং 13.04 এ যাচাই করা হয়েছে। অবশ্যই একটি উদ্ধৃতি হ্যান্ডলিং বাগের মতো দেখাচ্ছে।
l0b0


1
@ l0b0 - ধন্যবাদ, আমি আমার ভোটটি বাগটিতে যুক্ত করেছি।
ধানের ল্যান্ডউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.