নির্বাচনী কমান্ডগুলি (লিনাক্স) কার্যকর করতে ব্যবহারকারীকে সীমাবদ্ধ করুন


14

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

%tomc ALL=/bin/bash,/usr/bin/vim /*

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

@ পল আপনি কি এর জন্য আমাকে আরও ভাল এবং ব্যবহারিক বিকল্পগুলির পরামর্শ দিতে পারেন?

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

উত্তর:


18

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

tomc ALL=(root) /usr/bin/vim /etc/myapp.conf
tomc ALL=(root) /usr/bin/less /var/log/myapp/*.log

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


7
এই লাইনগুলির কোনওটিই নিরাপদ নয়। আপনি উল্লেখ হিসাবে,vimনির্বিচারে শেল কমান্ড চালাতে পারেন। এবং দ্বিতীয় লাইন সম্ভবত অনুমতি দেবেless /var/log/myapp/../../../etc/shadow! আমার পরীক্ষাগুলি অনুসারে নিরাপদে নিরাপদে ব্যবহার করা শক্ত ! তবে আপনি যদিএটিকেএড়াতে*এবংsudoeditপরিবর্তেব্যবহারকরতে পারেনvimতবে আপনি ঠিকঠাক হতে পারেন।
জোয়েটউইডল

এড়ানো *যথেষ্ট নয়! ব্যবহারকারী lessহিসাবে একবার root, টাইপ করার চেষ্টা করুন !tail /var/log/secure। কেমন লাগছে? NOEXECট্যাগ অধ্যয়ন । তবে @ জোয়েটউইডল এর ​​বার্তাটিকে মনে রাখুন: সুডোর নিরাপত্তা আসলেই শক্ত।
ব্রুনো ব্রোনোস্কি

3

আমার সিএনোলজি ডিসকস্টেশনটি ডিএসএম 6 চলমান কেবল অ্যাডমিন ব্যবহারকারীরা ধারাবাহিকভাবে এসএসএস করতে পারবেন (অ-প্রশাসক ব্যবহারকারীরা / etc / পাসডাব্লুডিতে / sbin / nologin হিসাবে শেল রাখেন - আপনি অস্থায়ীভাবে এসএসএসের অনুমতি দিতে এটি / বিন / এস-এ সেট করতে পারেন, তবে পুনরায় বুট করুন / etc / passwd ফাইলটি পুনরায় সেট করা হয়েছে)) এই কারণে কোনও অ্যাকাউন্টের জন্য কিছু ধরণের স্যুডো বাধা প্রয়োজন যা অন্যথায় কেবলমাত্র উদাহরণস্বরূপ / sbin / পাওয়ার অফ চালানোর জন্য বিদ্যমান। / ইত্যাদি / সূডারগুলিতে নিম্নলিখিত লাইনগুলি আমার পক্ষে কাজ করেছিল:

# Allow guestx user to remote poweroff
guestx ALL=(ALL) !ALL
guestx ALL=NOPASSWD: /sbin/poweroff

অনুবাদ: সমস্ত কমান্ড অস্বীকার করুন, তারপরে কেবলমাত্র কাঙ্ক্ষিত কমান্ডের অনুমতি দিন (এক্ষেত্রে পাসওয়ার্ড না চাইতে)।

এই কনফিগারেশনের মাধ্যমে সুডো পাসওয়ার্ড জিজ্ঞাসা করে এবং পরে শ্বেত তালিকাভুক্ত অন্য আদেশগুলি ব্যর্থ করে:

guestx@ds:~$ sudo su -
Password: 
Sorry, user guestx is not allowed to execute '/bin/su -' as root on ds.
guestx@ds:~$ 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.