শাটডাউন এবং পুনরায় চালু করার জন্য আমাদের কেন টার্মিনালে রুট হওয়া দরকার?


65

যখন আমরা প্যাকেজগুলি ইনস্টল / অপসারণ / আপডেট করি বা প্রশাসনিক সুবিধাগুলির প্রয়োজন হয় এমন কোনও পরিবর্তন করি যখন আমাদের অধিকারী অ্যাডমিন ব্যবহারকারীর পাসওয়ার্ডের জন্য অনুরোধ করা হয় sudo- এটি জিইউআই এবং টার্মিনাল উভয়ের মাধ্যমে ঘটে।

গুই মাধ্যমে প্রম্পট

তবে, আমরা যদি টার্মিনালের মাধ্যমে শাটডাউন এবং পুনরায় চালু করার চেষ্টা করি, এটি অভিযোগ করে যে আমাদের হওয়া দরকার root:

$ reboot
reboot: Need to be root

$ shutdown now
shutdown: Need to be root

আমরা যখন ডান উপরের অংশে কগ-হুইলের মাধ্যমে এই ক্রিয়াগুলি সম্পাদন করি তখন কখনই আমাদের কাছে পাসওয়ার্ড জিজ্ঞাসা করা হয় না।

কগ-হুইল মেনু

কেন এই তাত্পর্য আছে?


5
ভাল প্রশ্ন .. আপনি কি জানেন আমি একই জিজ্ঞাসা করতে যাচ্ছিলাম। আমার দৃশ্যটি ছিল উবুন্টুকে শর্ট-কাট কীগুলি বন্ধ করে দেওয়া। i, e যখনই আমি সিআরটিএল + সুপার + এর মতো কিছু নির্ধারিত কী টিপুন এটি কমান্ডটি কার্যকর করে sudo shutdown -h nowতবে সমস্যাটি ছিল যে অ্যাক্সেসের অনুমতি ছাড়া shutdownএটি কখনই কাজ করে না .. কারণ শর্টকাট কী টিপলে পাসওয়ার্ডটি কোথায় / কীভাবে প্রবেশ করতে বলবে? .. আশা করি আপনি আমার পরিস্থিতি বুঝতে পেরেছেন .. :)
সৌরভ কুমার

আরও দেখুন: Askubuntu.com/questions/1190/…
তকাত

উত্তর:


50

আপনি মেশিনটি শাটডাউন করার অনুমতি দিলে কগ-হুইল চেক করে শাটডাউন করে। এটি পলিসিকিটের মাধ্যমে করা হয়। শাটডাউন করার ক্ষেত্রে ফাইলটিতে এই বিবৃতিটি /usr/share/polkit-1/actions/org.freedesktop.consolekit.policyচেক করা হয়:

<action id="org.freedesktop.consolekit.system.stop">
  <description>Stop the system</description>
  <message>System policy prevents stopping the system</message>
  <defaults>
    <allow_inactive>no</allow_inactive>
    <allow_active>yes</allow_active>
  </defaults>
</action>

পলিসিকিট একটি dbus-sendকমান্ড ট্রিগার করে । শাটডাউন করার ক্ষেত্রে এটি হবে:

dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

রুট-প্রাইভেলিজ সহ পটভূমিতে একটি ডেমন চলছে যা আপনার জন্য শাটডাউন কমান্ডটি আহ্বান করে।

আপনি যখন কমান্ড লাইন ( shutdown, reboot, halt, ...) এর মাধ্যমে মেশিনটিকে "পুরানো পথ" বন্ধ করতে সক্ষম হতে চান , তখন আপনাকে সেই কমান্ডগুলিতে suid-Bit যুক্ত করতে হবে। তবে সচেতন হোন, আপনার সিস্টেমে থাকা প্রত্যেকের শেলের অ্যাক্সেস থাকলে তা আপনার মেশিনটি বন্ধ করে দিতে পারে।


14
কিছুটা নিরাপদ বিকল্প হ'ল sudoers পাসওয়ার্ডহীন শাটডাউন ইত্যাদির অনুমতি দেওয়া যা সহজেই সম্পন্ন হয়: প্রবেশ করুন sudo visudo, যোগ করুন %sudo ALL = NOPASSWD: /sbin/shutdown, /sbin/poweroff, /sbin/halt, /sbin/reboot, সংরক্ষণ করুন এবং প্রস্থান করুন। এইভাবে, কমান্ড-লাইন পুনরায় বুট করার জন্য এখনও প্রয়োজন হবে sudo reboot, তবে আপনাকে আপনার পাসওয়ার্ড প্রবেশ করতে হবে না।
সেবাস্তিয়ান থারস্ম্মিডিট

27

উবুন্টু হ'ল জিএনইউ / লিনাক্স অপারেশন সিস্টেমের বিতরণ যা ঘুরেফিরে ইউনিক্স সিস্টেম পরিবারের অন্তর্ভুক্ত - এটি বেশ কয়েকটি আধুনিক অপারেটিং সিস্টেমের একটি সাধারণ স্থাপত্য।

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

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

উপরে উল্লিখিত পলিসিকিট একটি প্রমিত কাঠামো সরবরাহের মাধ্যমে এই প্রক্রিয়াটি প্রসারিত করে যার মাধ্যমে লগইন পরিচালক (বা যে কোনও প্রোগ্রাম শটডাউন পরিষেবা সরবরাহ করে) ব্যবহারকারীরা কীভাবে শাটডাউন করার অনুমতিপ্রাপ্ত তা যাচাই করতে পারে এবং যার মাধ্যমে প্রশাসক যথাক্রমে এই অনুমতিগুলি কনফিগার করতে পারে।

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

যাইহোক, শেলের উপর বোবা traditionalতিহ্যবাহী শাটডাউন প্রোগ্রামটি এইভাবে কাজ করে না, এটি আপনার প্রয়োজন যে এটি একটি সুপার-ইউজার প্রসঙ্গে চালিত হয়েছে see


14

কারণ লিনাক্স সাধারণত সার্ভার বা অনুরূপ হিসাবে ব্যবহৃত হয় এবং লিনাক্স বাক্সে এসএসএইচিং এমনকি একটি সাধারণ উবুন্টু ল্যাপটপও সাধারণ quite

কথাটি হল, আপনি এসএসএইচ অ্যাক্সেসযুক্ত লোকেরা এটি বন্ধ করতে সক্ষম নাও করতে পারেন, বিশেষত যখন এটি ব্যবহার করে অন্য দূরবর্তী অবস্থান থেকে লগইন থাকতে পারে। জিইউআইতে অ্যাক্সেস সহ কেউ - ভাল, তিনি শারীরিক পাওয়ার বোতাম দিয়ে যে কোনও উপায়ে নিজেই এটি বন্ধ করতে পারেন।

এছাড়াও, একটি দূরবর্তীভাবে লগ ইন করা ব্যবহারকারী এটি আবার চালু করতে সক্ষম হবে না।


আমি যখন এই প্রশ্নটি জিজ্ঞাসা করেছি তখন আমার কাছে এটি ঘটেনি, তবে আমি মনে করি উবুন্টুতে তারা কোনও রিমোট সার্ভারে জিইউআই প্যাকেজ ইনস্টল করতে এবং কমান্ড লাইনের পরিবর্তে জিইউআইয়ের মাধ্যমে রিমোট সার্ভারটি ব্যবহার করতে পারে। (উইন্ডোজ রিমোট ডেস্কটপ বা টিমভিউয়ার কীভাবে কাজ করে তার অনুরূপ)। সুতরাং এই ধারণাটি অকার্যকর করে তুলবে যে জিবিআই-তে উবুন্টু ব্যবহার করা কেউ শারীরিক পাওয়ার বোতাম দিয়ে শাটডাউন করতে পারে।
আদিত্য

@ আদিত্য যা সার্ভারের প্রয়োজন সেভাবে সেটআপ করা উচিত, যা অ্যাডমিনকে করার সিদ্ধান্ত নিতে হবে
মণীশার্থ

হ্যাঁ. প্যাকেজগুলি ইনস্টল করতে এবং প্রয়োজনীয় হিসাবে কনফিগার করতে সক্ষম হওয়ার জন্য এটির রুট সুবিধার প্রয়োজন। তবে গতকাল আপনার উত্তরটি পড়ার সময় এই দৃশ্যটি আমার মনে এসেছিল এবং আমি ভেবেছিলাম এটি আপনার সাথে ভাগ করে নেব :-)
আদিত্য

14

আমি যখন জিইউআইয়ের মাধ্যমে রিবুট করি তখন আমি আমার sudoপাসওয়ার্ড ছাড়াই এটি করতে পারি ।

কেবলমাত্র আপনি যদি লগইন হন তবে অন্য কোনও ব্যবহারকারী থাকলে (কনসোল ব্যবহারকারীগণ সহ) আপনাকে একটি মূল পাসওয়ার্ড দিতে হবে enter এটি ওএস এক্স এবং নতুন উইন্ডোজ সংস্করণগুলিতে একই।

কেন এমন? সেখানে উবুন্টু সিস্টেমের অভ্যন্তরীণভাবে কী ঘটছে?

নিম্নলিখিত আদেশ:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

ডি-বাস একটি আইপিসি প্রক্রিয়া - একই হোস্টে চলমান প্রক্রিয়াগুলির মধ্যে স্থানীয় যোগাযোগের মাধ্যম।

ডি-বাস হ'ল ইউডিপির মতো নিম্ন-স্তরের বার্তা-পাসিং প্রোটোকলের চেয়ে "স্মার্ট"। অন্যদিকে, এটি বিচ্ছিন্ন আইটেম হিসাবে বার্তাগুলি বহন করে - তথ্যের ধারাবাহিক স্ট্রিম নয়।

ডি-বাসের বহন করা তথ্যগুলির একটি কাঠামোগত দৃষ্টিভঙ্গি রয়েছে এবং বাইনারি আকারে ডেটা নিয়ে কাজ করে; বিভিন্ন প্রস্থ, স্ট্রিং, এবং ইত্যাদির অবিচ্ছেদ্য সংখ্যা। যেহেতু ডেটা কেবল ডি-বাসের "কাঁচা বাইটস" নয়, বার্তাটি বৈধ করা যেতে পারে।

- ফ্রি ডেস্কটপ

shutdownকমান্ডটি শুধুমাত্র কেউ লগ ইন করেছে কিনা তা পরীক্ষা করে দেখেনি কেন ? এটি সৎ হওয়ার জন্য একটি উদ্দীপনাযুক্ত বৈশিষ্ট্য বলে মনে হচ্ছে। আমি কল্পনা করতে পারি এটি কখনও কখনও সময় সাশ্রয় করতে পারে তবে একটি সামঞ্জস্যপূর্ণ কনসোল প্রায়শই পছন্দ করা হয়। কমান্ডগুলি চালানোর পরে কখনও কখনও পাসওয়ার্ডের প্রয়োজন হয় না এবং কখনও কখনও হয় না।

আমার সর্বনাম তিনি / তাঁর


এছাড়া qdbus অ্যাপের মাধ্যমে খাটো সংস্করণ
Sergiy Kolodyazhnyy

কোনও ডিই থেকে লগ আউট / লগ আউট করার সময় (এই ক্ষেত্রে জিনোম) আমাকে sudoজিডিএম এর মাধ্যমে লগ ইন করা অন্য কোনও ব্যবহারকারীর সাথে বা টিটিটির মাধ্যমে লগ ইন করা অন্য কোনও ব্যবহারকারীর সাথেও মূল / ব্যবহারকারীর পাসওয়ার্ড জিজ্ঞাসা করা হয়নি ।
কোস

@ কোস হু, এটি আশ্চর্যজনক। স্ক্রিনশটটি জিনোম 3-এর, এবং আমি গুই এবং টিটি-তে লগ ইন করেছি
টিম

মানে আমি একই বার্তাটি পেয়েছি তবে "পাওয়ার অফ" ক্লিক করে স্রেফ এগিয়ে যায় এবং সিস্টেমটি বন্ধ করে দেয়। আমি ফ্যাবিকেও এটি পরীক্ষা করতে বলেছিলাম এবং এটি তার জন্য একই রকম হয়, এটি কী তা নিশ্চিত নয়।
কোস

@ কোস ওহহ হু হ্যাং।
টিম

9

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

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

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


5

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

দিটো দ্য হল্ট এবং পাওয়ারআফ কমান্ডগুলিও।


2
আপনার উত্তরের জন্য ধন্যবাদ, আমি বুঝতে পারি যে কয়েক ডজন দ্বারা ব্যবহৃত একটি মেশিনের ব্যবহারকারী হিসাবে আমি মেশিনটি রিবুট করতে সক্ষম হব না, তবে আমি যখন মাউসটির মাধ্যমে পুনরায় বুট করার সিদ্ধান্ত নিলাম তখন উবুন্টু (বা বেশিরভাগ ডেস্কটপ ডিস্ট্রোস) কী করবে? কীবোর্ডের পরিবর্তে? তারা priveliges ছাড়া যে অনুমতি দেয়।
asco

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