শাটডাউন / রিবুট / সাসপেন্ড / হাইবারনেট কীভাবে অক্ষম করবেন?


12

জিনোম সহ আমার একটি উবুন্টু 10.04 এলটিএস ডেস্কটপ পিসি রয়েছে।

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


আমি জানিনা? কিয়াস্ক হিসাবে? আপনি কেবল সরিয়ে ফেলুন shutdownএবং pm-suspendথেকে /sbin/এবং/bin/
অমিতাট কেকে

এই ফাইলগুলি ক্যাশে থাকতে পারে, না? এগুলি অপসারণ করা স্থায়ীভাবে পুনরায় বুট / শাটডাউন / স্থগিতকরণ / হাইবারনেশন ফাংশনটিকে জিনোমে স্থায়ীভাবে বাতিল করবে?
ল্যান্সবায়নেস

হ্যাঁ, এটি সম্ভবত @ ল্যান্স বায়েন্সে করতে হবে
কে কে

উত্তর:


15

এই ক্রিয়াগুলির ব্যবহারকারীর অ্যাক্সেস পোলকিট দ্বারা নিয়ন্ত্রিত হয়। বিশেষত, তারা নিম্নলিখিত ক্রিয়াগুলির সাথে মিল রাখে:

  • org.freedesktop.consolekit.system.stop
  • org.freedesktop.consolekit.system.restart
  • org.freedesktop.upower.suspend
  • org.freedesktop.upower.hibernate

সক্রিয় স্থানীয় ব্যবহারকারীদের জন্য এই সমস্ত ক্রিয়াকলাপ ডিফল্টরূপে অনুমোদিত হয় (যদিও consolekitসিস্টেমে লগ-ইন থাকা কোনও একক ব্যবহারকারী থাকলে কেবল প্রথম দুটি অনুমতিই কাজ করতে বাধা দেয়)।

আপনি যদি এই ক্রিয়াগুলি অক্ষম করতে চান তবে এমন একটি ফাইল তৈরি করুন /etc/polkit-1/50-local.d/disable-shutdown.pkla:

[Disable shutdown/whatever]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

এটি সেই ক্রিয়াগুলি সম্পূর্ণ হতে বাধা দেয়। এই নীতি ফাইলগুলির আরও তথ্য চালনা করে পাওয়া যাবে man pklocalauthority

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

মনে রাখবেন যে পরে উবুন্টু সংস্করণগুলিতে কেউ উপযুক্ততা ভঙ্গ করার সিদ্ধান্ত নিয়েছে। উত্তর হিসাবে 14.04 মধ্যে lightdm থেকে অক্ষম শাটডাউন / রিবুট করার কিভাবে? ক্রিয়াটি "org.freedesktop। login1 .reboot" (এবং -র মতো) এ পরিবর্তিত হয়েছে বলে মনে হচ্ছে ।

উদাহরণস্বরূপ 14.04 এ নিম্নলিখিত লাইনগুলিকে /etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pklaকাজ হিসাবে যুক্ত করা :

[Disable lightdm PowerMgmt]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

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


3
উবুন্টু 13.10 এর সাথে এখানে কাজ করা বন্ধ করে দিয়েছে !!!
গ্যাব্রিলেভ

@ গ্যাব্রিলিভ 13.10 এ লগইন 1 সহ সংস্করণ কাজ করে? আমি এটি 14.04 এ পরীক্ষা করেছি - এবং আশা করি ক্যানোনিকালের কেউ মজা করার জন্য প্রতিটি রিলিজের মধ্যে পোলকিটের পিছনে সামঞ্জস্যতা ভঙ্গ করে না।
ক্রিয়াকলাপ হ্রাস

অন্য ডেটা পয়েন্ট হিসাবে, আমি শাটডাউন এবং পুনরায় বুট করতে অস্বীকার করতে (তবে হাইবারনেট এবং স্থগিতের অনুমতি দিন) নতুন উবুন্টু 18.04.1 এলটিএস এ এটি সফলভাবে ব্যবহার করেছি। নোট করুন যে আমার এই 'লগইন 1' নামগুলি ব্যবহার করা দরকার ছিল; যে আমি 'থামাতে' এবং 'হল্ট-একাধিক-সেশন' অক্ষম করেছি; আমি এটি করেছি কারণ আমি /usr/share/polkit-1/ferences/org.freedesktop.login1.policy এ এই ক্রিয়াগুলি পেয়েছি; এবং পরিশেষে, উবুন্টু 18.04 এর জিডিএম 3 ইউআই-তে, নিশ্চিতকরণ ডায়ালগের বোতামগুলি গোপন নয়, তবে তাদের কেবল কোনও প্রভাব নেই।
মার্নিক্স ক্লাস্টার রিইনস্টেটমোনিকা

6

মলি-গার্ড ইনস্টল করার বিষয়টি বিবেচনা করুন ।

sudo apt-get install molly-guard

এই প্যাকেজটি আপনাকে সিস্টেমের হোস্টনেম প্রবেশের জন্য ইন্টারেক্টিভভাবে অনুরোধ করে অনিচ্ছাকৃত শাটডাউন / রিবুট / সাসপেন্ড / হাইবারনেট প্রতিরোধ করবে।

তবে শটডাউন / রিবুট / সাসপেন্ড / হাইবারনেট সম্পূর্ণ অক্ষম করতে মলি-গার্ডকে কনফিগার করা তুচ্ছ। কেবলমাত্র /etc/molly-guard/run.d/99-prevent- সবগুলিতে একটি এক্সিকিউটেবল ফাইল তৈরি করুন যা এতে এটি রয়েছে:

#!/bin/sh
exit 1

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


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

1
কনসোল থেকে কাজ করে, তবে মলি-গার্ড স্থানে রেখেও (এবং 'সর্বদা জিজ্ঞাসা করুন' সেট করে) জিনোম থেকে শুরু করার সময় জিজ্ঞাসা না করেই শাটডাউনটি এগিয়ে যায় (3.4)।
জানুয়ারী

হ্যাঁ, এটি আর কাজ করছে না ... 13.10 থেকে, সম্ভবত 13.04।
অ্যালেক্সিস উইলক

3

সতর্কবার্তা! এখানে তালিকাবদ্ধ কমান্ডগুলিব্যবহার করা বিপজ্জনক । আপনার নিজের ঝুঁকি ব্যতীত এগুলি ব্যবহার করবেন না!

chmod -x /usr/sbin/pm-suspend
chmod -x /sbin/reboot
chmod -x /sbin/shutdown

4
আপনি কি আপনার উত্তরটি প্রমাণ করতে পারবেন? আমি অবশ্যই মনে করি না যে তিনি রিবুট এবং শাট ডাউনের সম্ভাবনাগুলি সরিয়ে দিতে চেয়েছিলেন।
ভাইয়ার

কীভাবে একজন এভাবে হাইবারনেশন সক্ষম করতে পারে?
গ্যাব্রিয়েল ফেয়ার

"chmod + x" "chmod -x" নয়
ল্যান্সবায়নেস

5
সতর্কবাণী! এটি করবেন না এই কমান্ডগুলির সাথে সিমিলিং করা রয়েছে /bin/systemctlএবং এটি থেকে সম্পাদনযোগ্য বিটটি মুছে ফেলা হবে। এটি একটি সমালোচনামূলক এক্সিকিউটেবল যা নিয়ন্ত্রণ করে service SERVICE_NAME [stop|start|restart]। আপনার সিস্টেম সম্ভবত আর বুট করবে না (যদি আপনি এটি একেবারে বন্ধ করতে পারেন)।
ড্যানিয়েল এফ

আমি এই আদেশগুলি একটি উবুন্টু ভিপিএসে চালিত করেছি। হোস্ট থেকে ভিপিএস বন্ধ করুন, শাটডাউন ব্যর্থ হয়েছে। এটি এসএসএইচ ডেমনকে হত্যা করেছে। জোর করে থামানো এবং শুরু করা, এসএসএইচ ঠিক জরিমানায় করতে পারেন। পুনঃসূচনাটি /bin/systemctlকেবল পঠন-পাঠাতে সেট করা হয়েছে-rw-r--r-- 1 root root
ক্রিও

0

ওপির উত্তরের ভিত্তিতে আপনি এটি করতে পারেন

for file in $(/sbin/shutdown /sbin/reboot /usr/sbin/pm-suspend); do
    mv $file $file.bak && touch $file
done

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

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