যদিও আপনি কমান্ডলাইন আর্গুমেন্টগুলিকে সীমাবদ্ধ করেছেন এমন কোনও কিছুই নেই যা ব্যবহারকারীকে কোনও র্যান্ডম ফাইল খুলতে, সম্পাদনা করতে এবং রাইড হিসাবে চালিত হয়ে ওভাররাইট করতে ভিম ব্যবহার করতে বাধা দেয় ।
ব্যবহারকারী sudo vim /etc/httpd/conf/httpd.conf
এবং তারপর চালাতে পারেন
- সম্পাদনা বাফার থেকে সমস্ত পাঠ মুছুন
- তারপরে সুবিধার উত্সের জন্য একটি বিদ্যমান ফাইল (যদিও এটি এমনকি প্রয়োজন হয় না): উদাহরণস্বরূপ sudo কনফিগারেশন
:r /etc/sudoers
নোট: SELinux দ্বারা সীমাবদ্ধ না থাকলে ব্যবহারকারী কোনও ফাইল এইভাবে পড়তে পারবেন না !
- নিজেকে আরও সুডোর সুবিধা দিন
user ALL=(ALL) NOPASSWD: ALL
- পুরানো কনফিগারেশন ওভাররাইট করুন
:w /etc/sudoers
আমি আপনার ব্যবহারকারী এখন আপনার সিস্টেমে অ্যাক্সেস, সংশোধন বা ধ্বংস করতে পারে এমন কয়েক ডজন অনুরূপ পদ্ধতি কল্পনা করতে পারি।
এমনকি আপনার অডিটের ট্রেইলও পাবেন না যা এই ফ্যাশনে ফাইলগুলি পরিবর্তন করা হয়েছে কারণ আপনি কেবল তাকে সুডোগুলি বার্তাগুলিতে আপনার অ্যাপাচি কনফিগারেশন সম্পাদনা করতে দেখবেন। এটি sudo
কোনও সম্পাদককে সুযোগ দেওয়ার ক্ষেত্রে সুরক্ষা ঝুঁকি ।
কম-কম একই কারণ হ'ল কমান্ডগুলিতে যেমন sudo মূল স্তরের অধিকার প্রদান করা tar
এবং unzip
প্রায়শই নিরাপত্তাহীন, কোনও কিছুই আপনাকে সংরক্ষণাগারে সিস্টেম বাইনারি বা সিস্টেম কনফিগারেশন ফাইলগুলির প্রতিস্থাপন অন্তর্ভুক্ত করতে বাধা দেয় না।
দ্বিতীয় ঝুঁকি, যেমন অনেক অন্যান্য মন্তব্যকারীদের সরু আউট আছে, যে vim
জন্য করতে পারবেন শেল বেরিয়ে , যেখানে আপনি তেজ যে আপনি করতে পারবেন মধ্যে থেকে একটি উপ-শেল শুরু করতে পারেন কোনো অবাধ কমান্ড প্রয়োগ । আপনার সুডো ভিম সেশনের মধ্যে থেকে সেগুলি রুট হিসাবে চলবে, উদাহরণস্বরূপ শেল পালানো:
:!/bin/bash
আপনাকে একটি ইন্টারেক্টিভ রুট শেল দেবে
:!/bin/rm -rf /
পাব ভাল গল্প করতে হবে।
পরিবর্তে কী করবেন?
আপনি এখনও sudo
ব্যবহারকারীদের সুরক্ষিত উপায়ে মালিকানাধীন ফাইলগুলি সম্পাদনা করার অনুমতি দিতে ব্যবহার করতে পারেন ।
আপনার sudoers কনফিগারেশনে আপনি একটি বিশেষ সংরক্ষিত কমান্ড সেট করতে পারেন sudoedit
তারপরে পূর্ণ (ওয়াইল্ডকার্ড) পাথনাম ব্যবহারকারীর দ্বারা সম্পাদিত ফাইল (ফাইল) এ:
user ALL=(ALL) sudoedit /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf
তারপরে ব্যবহারকারীরা -e
তাদের সুডো কমান্ড লাইনে সুইচটি ব্যবহার করতে পারেন বা sudoedit
কমান্ডটি ব্যবহার করতে পারেন :
sudo -e /etc/httpd/conf/httpd.conf
sudoedit /etc/httpd/conf/httpd.conf
ম্যান পেজে যেমন ব্যাখ্যা করা হয়েছে :
-e (edit)
বিকল্পটি ইঙ্গিত কমান্ড চলমান পরিবর্তে ব্যবহারকারী সম্পাদনা করুন এক বা একাধিক ফাইল শুভেচ্ছা। কমান্ডের পরিবর্তে, সুরক্ষা নীতি পরামর্শের সময় "sudoedit" স্ট্রিং ব্যবহার করা হয়।
যদি ব্যবহারকারী নীতি দ্বারা অনুমোদিত হয়, নিম্নলিখিত পদক্ষেপ নেওয়া হয়:
- অস্থায়ী অনুলিপিগুলি আমন্ত্রণকারী ব্যবহারকারীর সাথে সেট করে মালিকের সাথে সম্পাদনা করা ফাইলগুলি তৈরি করা হয়।
- নীতি দ্বারা নির্দিষ্ট করা সম্পাদকটি অস্থায়ী ফাইলগুলি সম্পাদনা করতে চালিত হয়। Sudoers নীতি SUDO_EDITOR, VISUAL এবং EDITOR এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে (সেই ক্রমে)। যদি SUDO_EDITOR, VISUAL বা EDITOR এর কোনওটি সেট না করা থাকে তবে সম্পাদক
sudoers
(5) বিকল্পে তালিকাভুক্ত প্রথম প্রোগ্রামটি ব্যবহৃত হয়।
- যদি সেগুলি সংশোধন করা হয়, অস্থায়ী ফাইলগুলি তাদের মূল স্থানে অনুলিপি করা হয় এবং অস্থায়ী সংস্করণগুলি সরানো হয়।
নির্দিষ্ট ফাইলটি উপস্থিত না থাকলে এটি তৈরি করা হবে।
নোট করুন যে সুডো দ্বারা চালিত বেশিরভাগ কমান্ডের বিপরীতে, সম্পাদকটি চালিত ব্যবহারকারীর পরিবেশহীনভাবে চালিত হয়। যদি কোনও কারণে সুডো তার সম্পাদিত সংস্করণ সহ কোনও ফাইল আপডেট করতে অক্ষম হয় তবে ব্যবহারকারী একটি সতর্কতা গ্রহণ করবেন এবং সম্পাদিত অনুলিপি অস্থায়ী ফাইলে থাকবে।
sudoers
ম্যানুয়াল একটি পুরো অধ্যায় কিভাবে এটা সীমিত অফার করতে পারেন হয়েছে শেল বেরিয়ে বিরুদ্ধে সুরক্ষা সঙ্গে RESRICT
এবং NOEXEC
অপশন।
restrict
ব্যবহারকারীদের স্বেচ্ছাসেবী কমান্ড চালানোর অনুমতি দেয় এমন কমান্ডগুলিতে ব্যবহারকারীদের অ্যাক্সেস দেওয়া এড়িয়ে চলুন। অনেক সম্পাদকের একটি সীমাবদ্ধ মোড থাকে যেখানে শেল এস্কেপগুলি অক্ষম থাকে যদিও স্যুডোইডিট সুডোর মাধ্যমে সম্পাদকদের চালনার পক্ষে আরও ভাল সমাধান। প্রচুর সংখ্যক প্রোগ্রাম যা শেল থেকে রক্ষা পাওয়ার প্রস্তাব করে তাদের ব্যবহারকারীর এমন প্রোগ্রামগুলিতে সীমাবদ্ধ করা যা প্রায়শই অকার্যকর থাকে।
এবং
noexec
অনেকগুলি সিস্টেম যা ভাগ করা লাইব্রেরিগুলিকে সমর্থন করে তাদের একটি পরিবেশগত পরিবর্তনশীল (সাধারণত LD_PRELOAD) বিকল্প শেয়ার্ড লাইব্রেরিতে নির্দেশ করে ডিফল্ট লাইব্রেরি ফাংশনগুলিকে ওভাররাইড করার ক্ষমতা রাখে। এই জাতীয় সিস্টেমে সুডোর নেক্সেক কার্যকারিতা সুডোর দ্বারা চালিত একটি প্রোগ্রামকে অন্য কোনও প্রোগ্রাম চালানো থেকে বিরত রাখতে ব্যবহার করা যেতে পারে। দ্রষ্টব্য, ... ...
কমান্ডের জন্য noexec সক্ষম করতে, NOEXEC
উপরের ব্যবহারকারীর স্পেসিফিকেশন বিভাগে ডকুমেন্টেড হিসাবে ট্যাগটি ব্যবহার করুন । এখানে আবার সেই উদাহরণটি দেওয়া হয়েছে:
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
এটি ব্যবহারকারীর অ্যারন চালাতে /usr/bin/more
এবং /usr/bin/vi
নেক্সেক সক্ষম সক্ষম করে। এটি commands দুটি কমান্ডকে অন্যান্য কমান্ড (যেমন শেল) চালানো থেকে বিরত রাখবে।
vim
, ব্যবহারকারী খুশি যে কোনও ফাইল খুলতে এবং লিখতে মুক্ত।