কীভাবে কোনও ব্যবহারকারীকে শাটডাউন সুবিধা দেওয়া যায়?


9

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

আমি এই পৃষ্ঠাটি উল্লেখ করেছি এবং আমার সুদোয়ার্স ফাইলে পাঠ্য যুক্ত করেছি। যাইহোক, আমি যখনই চালিত করি তখনও এটি আমাকে পাসওয়ার্ড জিজ্ঞাসা করে sudo shutdown -h now। এছাড়াও, যখন আমি sudo ছাড়াই শাটডাউন সম্পাদন করি তখন রুট সুবিধাগুলি প্রয়োজন বলে আমি একটি ত্রুটি পেয়েছি।

আমার sudoers ফাইলটি দেখতে এরকম কিছু দেখাচ্ছে।

# Cmnd alias specification
Cmnd_Alias      SHUTDOWN = /sbin/shutdown

# User privilege specification
root    ALL=(ALL:ALL) ALL
myusername    ALL = NOPASSWD: SHUTDOWN

ম্যানুয়ালি পাসওয়ার্ড না লিখে কোনও ব্যবহারকারীকে শাটডাউন কমান্ড কার্যকর করার অনুমতি কীভাবে দেব?

ধন্যবাদ।


1
আপনি কি আপনার আসল এবং পুরো sudoersফাইলটি পোস্ট করতে পারেন ?
এনজোটিব

উত্তর:


6

আপনি এইচএএল বা কনসোলকিট ব্যবহার করে শাট ডাউন বা পুনঃসূচনা করতে পারেন যার জন্য আপনার একটি ব্যবহারকারীর নাম / পাসওয়ার্ড প্রবেশের প্রয়োজন হবে না:

এইচএএল (পুরানো উবুন্টু সংস্করণ):

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

কনসোলকিট (উবুন্টু ১১.০৪-এ নতুন পরীক্ষা করা উবুন্টু সংস্করণ):

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

7

আমি এই উত্তরে এটি পছন্দ করেছি , আমার জন্য নির্দ্বিধায় কাজ করে। হয়তো আপনার পদ্ধতির visudoঅংশটি মিস ?

একটি কমান্ড লাইন খুলুন এবং টাইপ করুন:

sudo visudo 

যে ফাইলটি খোলে তাতে শেষে নীচের লাইনটি যুক্ত করুন:

yourusername ALL=NOPASSWD: /sbin/halt

তারপরে সম্পাদক থেকে প্রস্থান করুন এবং এটি নিরাপদ করুন (CTRL + x)।

এখন আপনি কমান্ড লাইন থেকে আপনার কম্পিউটারটি বন্ধ করতে পারেন, যেমন কোনও কিছু ডাউনলোড করার পরে:

wget UrlOfTheFileYouWantToDownload ; sudo halt

1

কিছু সময় আগে আমি সুইডটি সেট করেছিলাম (ব্যবহারকারী আইডি সেট করুন)। এটি প্রোগ্রামটিকে ফাইলের মালিক হিসাবে চালিত করে, ব্যবহারকারী এটি চালাচ্ছে না। যেহেতু শাটডাউন মূলের মালিকানাধীন তাই এটি আপনাকে sudo ছাড়াই বন্ধ করতে দেয় let

chmod u+s /sbin/shutdown

সুরক্ষা জড়িত রয়েছে যদিও যেহেতু যে কেউ তখন শাটডাউন চালাতে পারে। http://en.wikipedia.org/wiki/Setuid


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

হুম ... সত্য! তবে অফিসিয়াল উপায় কী? পোলকিট নিয়ে খেলছেন? খুব সুন্দর হয় না ...
টার্বো

sudoআমার মতে সঠিক উপায়, তবে দুর্ভাগ্যক্রমে ব্যবহারকারী তার sudoersফাইলটি দেখার সুযোগ দেয় না এবং এতে কী দোষ হয়।
এনজোটিব

এটিই আমার পক্ষে কাজ করেছে।
মার্ক স্টুয়ার্ট

0

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

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