গ্রাফিকাল অ্যাপ্লিকেশন শুরু করতে ব্যবহারকারীদের কখনই স্বাভাবিক সুডো ব্যবহার করা উচিত নয়?


114

আমি "রুটসুডো" ডকুমেন্টেশনটি পড়েছি এবং এই লাইনে আগ্রহী:

রুট হিসাবে গ্রাফিকাল অ্যাপ্লিকেশন শুরু করতে আপনার কখনই স্বাভাবিক সুডো ব্যবহার করা উচিত নয়

কেন? পার্থক্য কি? আমি কেবল একটি সাধারণ ডেস্কটপ ব্যবহারকারী হিসাবে একটি সহজ ব্যাখ্যা প্রদান করুন।



আসলে, আমার সম্প্রতি / ইউএসআর / লোকালতে এমএটিএলবি ইনস্টল করতে খুব কষ্ট হয়েছিল। / Usr / স্থানীয় লেখার জন্য এটির রুট সুবিধার প্রয়োজন, তবে gksu ব্যবহার করে ইনস্টলারটি চালনার ফলে কোনওভাবে ইনস্টল করা প্রোগ্রামটি অ-রুট হিসাবে চালানো অসম্ভব হয়ে পড়ে। সুডো ব্যবহার করে ইনস্টলার চালানো সমস্ত কিছু ঠিকঠাক করে তোলে।
বিবি-হারিয়ে

উত্তর:


129

গ্রাফিকাল অ্যাপ্লিকেশনগুলি প্রায়শই ব্যবহারকারীর বাড়ির ফোল্ডারের ভিতরে লিখিত কনফিগারেশন ফাইলগুলিতে সেটিংস এবং অন্যান্য ব্যবহারকারী-নির্দিষ্ট ডেটা সংরক্ষণ করে । ব্যবহারকারীর হোম ফোল্ডার হিসাবে তাদের কী ব্যবহার করা উচিত তা নির্ধারণ করতে প্রধান প্রক্রিয়া প্রয়োগকারী অ্যাপ্লিকেশনগুলি HOME পরিবেশ পরিবর্তনশীল । (আপনি নিজে এটি দিয়ে পরিদর্শন করতে পারেন echo $HOME)।

মনে করুন আপনি geditহিসাবে (একটি গ্রাফিকাল টেক্সট সম্পাদক) চালাচ্ছেন root। আপনি চালাতে পারেন sudo gedit, HOMEদিকে বাতলান অব্যাহত থাকবে আপনার হোম ডিরেক্টরীতে, যদিও প্রোগ্রাম চলছে যেমনroot । ফলস্বরূপ, আপনার হোম ডিরেক্টরি হিসাবেgedit কনফিগারেশন ফাইলগুলি লিখবে । এটি কখনও কখনও কনফিগারেশন ফাইলগুলির মালিকানাধীন হয়ে যায় এবং এইভাবে আপনার কাছে অ্যাক্সেসযোগ্য হয় (যখন আপনি পরে প্রোগ্রামটি নিজের হিসাবে চালান এবং হিসাবে হিসাবে না )। এটি মূলত ঘটে যখন অ্যাপ্লিকেশনটিকে একটি নতুন কনফিগারেশন ফাইল তৈরি করতে হয়। নতুনভাবে তৈরি করা ফাইলগুলি, ডিফল্টরূপে, তাদের তৈরি করা ব্যবহারকারীর মালিকানাধীন যারা তাদের তৈরি করেন (যারা এই ক্ষেত্রে তিনি আপনি নন)।rootrootrootroot

আপনার গ্রাফিকাল অ্যাপ্লিকেশনগুলি sudoসোজা না করে বরং গ্রাফিকাল ফ্রন্ট্যান্ডের সাথে চালানো উচিত এটি প্রাথমিক কারণ sudo। উবুন্টু এবং তার ডেরাইভেটিভস (Xubuntu এবং Lubuntu সহ) অধিকাংশ মান গ্রাফিকাল ফ্রন্টএন্ড হয় gksu/gksudo । কুবুন্টুতে এটি হয় kdesudo। (এটি ডেস্কটপ পরিবেশ ব্যবহৃত হচ্ছে তার উপর নির্ভর করে on )

আপনি যদি গ্রাফিকাল অ্যাপ্লিকেশনটি চালানোর জন্য সরাসরি ব্যবহার করতে চান তবে আপনি sudoচালাতে geditপারেন:

sudo -H gedit

-Hপতাকা তোলে sudoসেট HOMEনির্দেশ করার জন্য rootএর বাড়ি ফোল্ডারে (যা /root)।

এটি এখনও .Xauthorityকোনও অস্থায়ী ফোল্ডারে এটি অনুলিপি করে স্বয়ংক্রিয়ভাবে হ্যান্ডেল করবে না (গ্রাফিকাল sudoসীমান্তগুলি আপনার জন্য যত্ন নিতে এটি অন্য জিনিস )। তবে .Xauthorityদুর্গম ইভেন্টে অ্যাক্সেসযোগ্য, আপনি এটি বলে ত্রুটি পাবেন এবং তারপরে আপনি sudo rm ~/.Xauthorityস্বয়ংক্রিয়ভাবে পুনঃজেনারেট হওয়ায় সমস্যাটি এটি মুছে ফেলার মাধ্যমে সমাধান করতে পারবেন । সুতরাং, .Xauthorityকনফিগারেশন ফাইলগুলির মালিকানা এবং অনুমতিগুলি সুরক্ষার চেয়ে মালিকানা ও অনুমতিগুলি রক্ষা করা কম গুরুত্বপূর্ণ।

rootজমির মালিকের বিপরীতে .Xauthority, যখন কনফিগারেশন ফাইলগুলি মালিকানাধীন হয়ে ওঠে rootতবে সমস্যাটি কী তা সর্বদা সুস্পষ্ট নয় (কারণ গ্রাফিকাল প্রোগ্রামগুলি প্রায়শই চলবে তবে খুব ভালভাবে কাজ করবে না এবং কনসোলে কোনও কার্যকর ত্রুটি আউটপুট দেয়)। এবং এটি কখনও কখনও সমাধানের জন্য আরও বড় ঝামেলা হয়, বিশেষত আপনি যদি এমন পরিস্থিতিতে থাকেন যে আপনি নিজের বাড়ির ডিরেক্টরিতে থাকা এক বা একাধিক ফাইলগুলি আপনার ব্যতীত অন্য কারও মালিকানাধীন করতে চান (কারণ তখন আপনি chownআপনার সমস্ত ফাইল পুনরাবৃত্তভাবে ইঙ্গিত করে এটি ঠিক করতে পারবেন না) নিজের কাছে ফিরে আসুন)।

অতএব, অ্যাপ্লিকেশনটির অভ্যন্তরীণ কাজের সাথে আপনি অত্যন্ত পরিচিত না হন এবং নিশ্চিত হন যে এটি কোনওরকম কনফিগারেশন ফাইল লেখার চেষ্টা করে না, তবে গ্রাফিকাল অ্যাপ্লিকেশন চালানোর জন্য sudo(কমপক্ষে ছাড়া -H) ব্যবহার করা উচিত নয় ।


এই ফাইলটি মূলের মালিকানাধীন থাকলে আমি কী আবার আমার হোম ডিরেক্টরিতে সমস্ত কনফিগারেশন ফাইলের (বা কোনও ফাইল) মালিক হতে পারি?
নুর

@ নূর ধরে নিলেন আপনার হোম ডিরেক্টরিতে এমন কোনও ফাইল নেই যা আপনি অন্য কোনও ব্যবহারকারীর মালিকানা পেতে চান বা আপনি যে কোনও গ্রুপের সদস্যপদ পেতে চান (ভাগ করে নেওয়ার জন্য) , আপনি চালাতে পারেন: sudo chmod -R $USER:$USER ~দুর্ভাগ্যক্রমে, এই মানদণ্ডগুলি সর্বদা প্রয়োগ হয় না। আপনার যদি এমন কোনও ফাইল থাকে যেখানে আপনার গ্রুপের মালিককে সংরক্ষণ করা দরকার, আপনি চালাতে পারেন sudo chmod -R $USER ~। এটি সাধারণত পর্যাপ্ত। (আপনার যদি নিজের হোম ডিরেক্টরিতে অন্য কোনও ব্যক্তির মালিকানাধীন ফাইলগুলির দরকার হয় তবে
এটিও

1
@ এলিয়াকাগান chmodআসলে কি তা করে? আমি সবসময় ভাবতাম এটিই chownএটি করেছিল। chmodএটা আমার জন্য কখনও করেনি।
Wyatt8740

2
@ Wyatt8740 আমার উপরের মন্তব্যে chownপরিবর্তে chmodআমার অবশ্যই লেখা উচিত ছিল । এর জন্য দুঃখিত - এবং এটি নির্দেশ করার জন্য ধন্যবাদ!
এলিয়াহ কাগন

2
@TheQuark ইন sudo -H echo $HOME, আপনার শেল - আপনি যেমন চলমান, না রুট হিসাবে - সঞ্চালিত প্যারামিটার সম্প্রসারণ উপর $HOME, পথ প্রাপ্তির আপনার হোম ডিরেক্টরীতে, তারপর পাসের যে sudoঘুরে ইতিমধ্যে-প্রসারিত মান পাসের যা echo, যা এটি ছাপে। sudo -H printenv HOME, sudo -H bash -c 'echo $HOME'এবং sudo -H sh -c 'echo $HOME'সমস্ত মুদ্রণ /root। এটি ধারণাগতভাবে অনুরূপ - যদিও কোনও আলাদা প্রক্রিয়া অনুসারে - কীভাবে x=a echo "$x"মুদ্রণ না করে a( xইতিমধ্যে যদি এর মান না থাকে a)।
এলিয়াহ কাগন

25

সহজভাবে করা:

এটি আপনার হোম ডিরেক্টরিতে থাকা ফাইলগুলিকে মূলের মালিকানাধীন প্রতিরোধ করে।

এটি এখানে পড়ুন । এছাড়াও, সম্ভবত একটি নকল "gksudo nautilus" এবং "sudo nautilus" এর মধ্যে পার্থক্য কী?


gksudo উবুন্টু এবং ডেবিয়ান ইনস্টলগুলির সাথে আর অন্তর্ভুক্ত নয়। বিশদ জানতে এর foss.com/gksu-replacement-ubuntu দেখুন । Askubuntu.com/a/1047413/197910 এখন উচ্চতর সমাধান।
K7AAY

5

অ্যাড-অন ব্যবহার করা gksu nautilusএবং এর বিকল্প । এটি আপনাকে নটিলাসের সাহায্যে ফাইল এবং ডিরেক্টরিগুলি ব্রাউজ করতে এবং তারপরে এটিকে রুট (প্রশাসক) হিসাবে খুলতে দেয়।gksu geditnautilus-admin

ইনস্টলেশন সরাসরি এগিয়ে আছে:

sudo apt install nautilus-admin

এখন আপনি যখন নটিলাসে আছেন তখন প্রশাসকের হিসাবে সম্পাদনা করার জন্য আপনার কাছে অতিরিক্ত বিকল্প থাকবে:

নটিলাস অ্যাডমিন.gif


gedit রুট হিসাবে পছন্দ পছন্দ করে না

আপনি যখন geditরুট হিসাবে চালান আপনি ট্যাব স্টপগুলির জন্য নিয়মিত ব্যবহারকারী হিসাবে সেটআপ করা পছন্দগুলি ব্যবহার করতে পারবেন না, ট্যাবগুলিকে ফাঁকা স্থান, ফন্টের নাম, ফন্টের আকার, লাইন মোড়ানো ইত্যাদিতে রূপান্তর করুন

এটির সমাধানের জন্য আমি sgeditব্যবহারকারীর পছন্দগুলি উত্তরাধিকার সূচিত করে এবং এগুলি রুটে প্রয়োগ করতে স্ক্রিপ্ট লিখেছি : আমি কীভাবে আমার ব্যবহারকারীর gedit এর পছন্দসমূহের সাথে আমার রুট gedit সিঙ্ক করতে পারি?

  • কল করে কল করুন sgedit filename1 filename2 ...
  • ট্যাব স্টপস, হরফ, লাইন-মোড়ানো ইত্যাদির জন্য ব্যবহারকারীর জেডিট সেটিংস পান
  • sudo -Hরুট পাওয়ার পাওয়ার সাথে সাথে ফাইলের মালিকানা সংরক্ষণে উন্নীত হয় ।
  • শেষ sudoসময় শেষ হলে পাসওয়ার্ডের অনুরোধ ।
  • সুডোর জিডিট সেটিংস পান
  • ব্যবহারকারী এবং সুডো জিডিট সেটিংসের মধ্যে পার্থক্য তুলনা করে
  • কেবলমাত্র পার্থক্যের উপর সেট গেটেটিং চালায় (174 সেট কমান্ডকে এক ডজন বা তারও কম করে ফেলেছে Next
  • geditএকটি পটভূমি টাস্ক হিসাবে কল যেমন টার্মিনাল প্রম্পট তত্ক্ষণাত্ উপস্থিত হয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.