ব্যবহারকারীর আদেশগুলি সীমাবদ্ধ করতে sudoers ফাইল সম্পাদনা করা


8

কোনও sudoers ফাইল সম্পাদনা করা সম্ভব যাতে কোনও ব্যবহারকারী নির্দিষ্ট একটি ব্যতীত যে কোনও কমান্ডের জন্য sudo ব্যবহার করতে পারে? আমি বিপরীত সত্য, আমি বিশ্বাস করি যে sudoers ফাইল সেটআপ করা যেতে পারে যাতে কোনও ব্যবহারকারী কেবলমাত্র আদেশের একটি প্রদত্ত তালিকা কার্যকর করতে পারে।

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

উত্তর:


5

এটি দেখার আরেকটি উপায় হ'ল ব্যবহারকারীরা যদি মূলত সীমাহীন রুট অ্যাক্সেস থাকে তবে তারা সহজেই সম্পূর্ণ রুট অ্যাক্সেস অর্জন করতে পারেন।

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

যদিও সেলিনাক্স একটি সম্ভাব্য উপায়, যদিও এটি শিখতে অনেক বেশি লাগে।


3

আপনি যা চান তা করতে (ব্যবহারকারীর ফর্মটি থামিয়ে দেওয়া, রিবুট এবং শাটডাউন চালিয়ে রাখুন), ব্যবহারকারীকে সেসব স্কেল বানানো থেকে বিরত রাখতে আপনাকে সেলিনাক্স স্টাফটি সন্ধান করতে হবে। অন্যথায় ব্যবহারকারী কেবল প্রথমে / বিন / শ চালান এবং তারপরে sudo দিয়ে না গিয়ে চালাবেন / বিন / থামবেন ha


2
বা একটি জিলিয়ন প্রোগ্রামের যে কোনও একটি থেকে আপনি শেল, বা তাদের নিজস্ব স্ক্রিপ পেতে পারেন।
রোনাল্ড পটল

3

তারা সুডোর মাধ্যমে সমস্ত কিছু লগইন করুন, সম্ভবত, এটি আবার না করার জন্য আপনার কাছে পয়েন্টটি পেতে কিছু উপায় আছে have

Defaults logfile=/var/log/sudolog 

তারা চালিত সমস্ত কমান্ড লগ করবে, আরও তথ্যের জন্য গুগল।


আপনার সেন্ট্রালাইজড লগিং প্রয়োজন হবে এবং যদি তারা শেল চালায় তবে আপনাকে তাদেরকে চিৎকার করতে হবে। উদাহরণস্বরূপ একটি সম্পাদক থেকে একটি শেল প্রাপ্ত করা যায়। বা ম্যান ম্যান ইত্যাদি
জেমস

3

হ্যাঁ এবং না ... আপনি কোনও ব্যাংকে (!) এর আগে ফাইলটি পূর্ববর্তী করে একটি নির্দিষ্ট ফাইল চালানো থেকে কোনও ব্যবহারকারীকে আটকাতে পারবেন, তবে আপনি কোনও ব্যবহারকারী ফাইলটিকে অন্য কোনও স্থানে অনুলিপি করতে এবং সেখান থেকে চালানো থেকে থামাতে পারবেন না।

User_Alias    ADMINS = peter, bob, bunny, %operator

ADMINS        ALL    = !/usr/bin/su, !SHELLS

অন্য ব্যবহারকারী হিসাবে নির্দিষ্ট ফাইলগুলিতে অ্যাক্সেস প্রদান


উপরের "শেলস" কীভাবে সেট করবেন তার উদাহরণ: সিএমেন্ড_আলিয়াস শেলস = / বিন / শ, / বিন / কেএস, / বিন / বাশ, / বিন / জেডএস, \ / বিন / সিএস, / বিন / টিসিএস, \ / usr / বিন / লগইন, / ইউএসআর / বিন / সু
পালচার

একগুচ্ছ ইউটিলিটিগুলি আপনাকে মূল হিসাবে কমান্ড চালাতে দেবে (টার, লিঙ্কগুলি এবং আমার মাথার উপরের অংশটি এনপ্যাপ করে), তাই আমি সত্যই সত্য মনে করি যে আসল সমাধানটি হয় ক) আপনি মূল হিসাবে চালিত চান এমন হোয়াইটলিস্ট কমান্ড বা খ) কেবল ভাড়া করুন আপনি যে কাউকে বিশ্বাস করেন
কিছু লিনাক্স নের্ড

2

ব্যবহারকারী যদি সত্যিই রিবুট করতে চান তবে তিনি একটি উপায় খুঁজে পাবেন। sudo -s, sudo -i, sudo $EDITOR /etc/sudoers... আপনার সীমাবদ্ধতা মুছে ফেলার জন্য ব্যবহার করা যাবে।

এবং ইউনিক্সের মতো সিস্টেমে আপনি যতক্ষণ না রুট (uid 0) ততক্ষণ সিস্টেমটি পুনরায় বুট করার অনুমতি পাবেন। আপনি যদি সেই সিস্টেম কলগুলিকে সীমাবদ্ধ করার কোনও উপায় খুঁজে পান তবে কেউ এটি করতে পারে:

ব্যবহারকারী $ প্রতিধ্বনি বি | sudo tee / proc / sysrq-ট্রিগার

বা এর একটি প্রকরণ। বা কার্নেল আতঙ্কের কারণে পুনরায় বুট করুন। অথবা ...

অবশেষে, রুট অ্যাক্সেস থাকা সাধারণত আপনাকে যে কোনও বিধিনিষেধ স্থানে থাকে তা সরিয়ে ফেলার ক্ষমতা দেয়।


এটি চুষে ফেলে যে লিনাক্সের আর সুরক্ষিত ব্যবস্থা নেই has তারা নিখুঁত ছিল না, কিন্তু মানুষ তারা সেট আপ করা সহজ ছিল। তারা পুনরায় বুট আটকাতে পারেনি, তবে প্রচুর অন্যান্য জিনিস প্রতিরোধ করেছে। এবং যেহেতু এগুলি এত সহজ ছিল আপনি এগুলি সমস্ত সিস্টেমে ব্যবহার করতে পারেন। কোন টুইট এবং এই জাতীয় প্রয়োজন।
টমাস

তারা কি বিএসডিতে ছিল না, লিনাক্স নয়?
user1686

1

নিশ্চিত, রুট কল ভিজুডো হিসাবে এবং 'ব্যবহারকারীকে' চালানো / এসবিিন / থামাতে বাধা দেয়:

user ALL=(ALL) NOPASSWD: !/sbin/halt

আমি বিশ্বাস করি যে অনুরোধটি সেই আদেশের তালিকার জন্য ছিল যা ব্যবহারকারীকে চালানোর অনুমতি নেই
ওয়েন

1

এইভাবে করার ঝুঁকি রয়েছে: প্রায়শই একই ক্রিয়াটি করার উপায় রয়েছে। উদাহরণস্বরূপ, টেলনিট 6 বা আরম্ভ 6 পুনরায় বুট করে। কর্নেলটিকে কোর ডাম্পে চাপ দেওয়ার এবং পুনরায় বুট করার কোনও উপায় থাকতে পারে।


1

নিম্নলিখিত লাইনে ব্যবহারকারীকে "জিম" / usr / বিন / হত্যা এবং / usr / বিন / su ব্যতীত সমস্ত কিছু চালাতে দেওয়া উচিত।

jim          ALL= !/usr/bin/kill,!/usr/bin/su

0

এটি অনির্ধারিত এবং ওয়াইএমএমভি তবে নির্দিষ্ট গ্রুপ / ব্যবহারকারীর জন্য আপনি যে আদেশগুলি চালনা করতে চান না তার একটি সেমিডি_লিস্ট সেটআপ এবং তারপরে কী!

আমার এটি পরীক্ষা করার অ্যাক্সেস নেই এবং কেবলমাত্র সুডোয়ার্স ম্যানুয়ালে অনলাইনে ম্যানুয়াল পৃষ্ঠাটি দেখেছি তাই যদি আমি ভুল হয় তবে কিছু বিশেষজ্ঞরা আমাকে এখানে সংশোধন করবেন

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