লিনাক্সে `PS` বা` শীর্ষস্থানীয় তালিকা থেকে কোনও প্রক্রিয়া 'আড়াল' করা কি সম্ভব?


10

প্রথমত, আমি অনুমান করি যে এটি সম্ভব হলে এটি রুট হিসাবে সম্পন্ন করা প্রয়োজন (বা এমন ব্যবহারকারী হিসাবে যা মূল্যের ইউআইডি 0 ভাগ করে নেয়)।

কিভাবে একটি প্রক্রিয়া যাতে চালু করা যেতে পারে যে এটি একটি আপ প্রদর্শন করে ps auxবা ps efঅথবা topযদি কমান্ড root- ব্যতীত দ্বারা চালানো হয় তালিকা?

এটা কি সম্ভব?

আমি সাধারণত যে বিতরণগুলি চালিত করি সেগুলি হ'ল আরএইচইএল / সেন্টোস এবং উবুন্টু - সুতরাং যদি কোনও ডিস্ট্রো-নির্দিষ্ট উত্তর থাকে তবে তা ঠিক।


ওয়ারেন: এর সমাধান কি কখনও খুঁজে পাবেন?
ক্রিস

@ ক্রিস - নাহ ... @ বাগদত্তের উত্তরটি কেবল একমাত্র পথ বলে মনে হচ্ছে, এবং আমি স্বাচ্ছন্দ্য বোধ করার চেয়ে অনেক বেশি কাজ করেছি: - |
ওয়ারেন

আমি এই প্রকল্পটি হাতে নিয়ে যাচ্ছি এবং আমি যা নির্ধারণ করি তা দিয়ে পুনরায় প্রতিবেদন করব।
ক্রিস

উত্তর:


5

ভাল, আপনার কাছে এখানে কয়েকটি বিকল্প রয়েছে। সহজ উপায়টি গ্রহণ করা হ'ল পিএস এবং শীর্ষস্থানীয় প্রোগ্রামগুলিকে পরিবর্তিত সংস্করণগুলির সাথে সরিয়ে আনা হবে যা আপনি যা লুকিয়ে রাখতে চান তা গোপন করে।

বিকল্পটি হ'ল কোনও বিদ্যমান প্রক্রিয়াতে এম্বেড থাকা আপনার কোডটি চালানো, বা কোনও নিরীহ নাম দিয়ে আপনার কোডের চারপাশে একটি মোড়ক-স্ক্রিপ্ট লিখুন।

পিএস এর কয়েকটি সংস্করণে আপনি এটি আরজিভি [] পরিবর্তন করে এটি পরিবর্তন করতে পারেন, তবে এটি শীর্ষের পক্ষে কাজ করে কিনা তা নিশ্চিত নন এবং এটি লিনাক্সে কাজ করে কিনা তা নিশ্চিত নন (এটি মূলত বিএসডি কনভেনশন)।

এটি সমস্ত কিছুর উপর নির্ভর করে আপনি ঠিক কী অর্জন করতে চান?


আমার লক্ষ্য এখানে সমস্ত ব্যবহারকারীর কাছে দৃশ্যমান না হওয়ার জন্য মূল দ্বারা প্রক্রিয়াকৃত প্রক্রিয়াগুলি (সম্ভবত সুরক্ষার সাথে সম্পর্কিত ডেমন বা অনুরূপ)
ওয়ারেন

@ ফ্ল্যাঙ্কেটো, সুতরাং আপনি কি বলছেন যে আমার যদি এমন একটি প্রোগ্রাম রয়েছে যা ইতিমধ্যে চলছে এবং এটি পরে একই প্রক্রিয়াতে একটি পাসওয়ার্ড সহ একটি কমান্ড-লাইন কমান্ড চালায় যা পাসওয়ার্ডটি নিরাপদে দেওয়া হবে? যেমন চালান python myScript.pyএবং সমস্ত subprocess.Popenকমান্ড (যা পাসওয়ার্ড ধারণ করে বা নাও থাকতে পারে) প্রদর্শিত না হয়, যতক্ষণ না এটি একই প্রক্রিয়া?
ব্রুটসর্ফুজথ্রিক্স

যাইহোক, এটি কাজ করে না (আমি এটি চেষ্টা করে দেখেছি এবং পাসওয়ার্ডটি দেখেছি)। সুতরাং, আমি ধরে নিচ্ছি আপনি কিছু অন্যরকম বোঝাতে চাইছেন। নির্দ্বিধায় নির্দ্বিধায়। :)
ব্রুটসর্ফুজথ্রিক্স

13

কার্নেল প্যাচ অনুসারে http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201 , আপনি প্রোক ফাইল সিস্টেমের জন্য হাইডপিড বিকল্পটি ব্যবহার করতে পারেন:

হাইডপিড = 0 (ডিফল্ট) এর অর্থ পুরানো আচরণ - যে কোনও ব্যক্তি সমস্ত ওয়ার্ল্ড-পঠনযোগ্য / প্রোক / পিআইডি / * ফাইল পড়তে পারে।

হাইডপিড = 1 এর অর্থ ব্যবহারকারীরা কোনও / প্রোক // ডিরেক্টরি অ্যাক্সেস করতে না পারে তবে তাদের নিজস্ব। সেনমিডলাইন, সময়সূচি *, স্থিতির মতো সংবেদনশীল ফাইলগুলি এখন অন্যান্য ব্যবহারকারীর বিরুদ্ধে সুরক্ষিত। প্রোক_পিড_পরিমিশন () এবং ফাইলগুলির অনুমতিগুলি যেভাবে করা হয়েছে তা পরীক্ষা করা ছাড়ার পরে, নির্দিষ্ট ফাইলগুলির মোডগুলি প্রত্যাশিত প্রোগ্রামগুলি বিভ্রান্ত হয় না।

হাইডপিড = 2 এর অর্থ হাইডপিড = 1 প্লাস সমস্ত / প্রোক / পিআইডি / অন্যান্য ব্যবহারকারীদের কাছে অদৃশ্য। এর অর্থ এই নয় যে এটি কোনও প্রক্রিয়া বিদ্যমান কিনা তা লুকিয়ে রাখে (এটি অন্যান্য উপায়ে যেমন কিল -0 $ পিআইডি দ্বারা শিখতে পারে), তবে এটি প্রক্রিয়াটি 'আইউইড এবং এজিড' লুকায়। এটি অনুপ্রবেশকারীদের চলমান প্রক্রিয়াগুলি সম্পর্কে তথ্য সংগ্রহের কাজটি উচ্চারণ করে, কিছু ডিমন উন্নত সুবিধাসমূহের সাথে চালিত হয় কিনা, অন্য ব্যবহারকারী কিছু সংবেদনশীল প্রোগ্রাম চালায় কিনা, অন্য ব্যবহারকারীরা কোনও প্রোগ্রাম চালায় কিনা ইত্যাদি etc.

gid = XXX এমন একটি গ্রুপকে সংজ্ঞায়িত করেছে যা সমস্ত প্রক্রিয়া সম্পর্কিত তথ্য (হাইডপিড = 0 মোডে) সংগ্রহ করতে সক্ষম হবে। এই গ্রুপটি suroers ফাইল বা অন্য কিছুতে ননরুট ব্যবহারকারীকে রাখার পরিবর্তে ব্যবহার করা উচিত। তবে, অবিশ্বস্ত ব্যবহারকারী (যেমন ডেমন ইত্যাদি) গোটা সিস্টেমে কাজগুলি নিরীক্ষণ করার কথা নয় তাদের গ্রুপে যুক্ত করা উচিত নয়।

আপনি প্রক্রিয়া স্তরে দৃশ্যমানতা নিয়ন্ত্রণ করতে সক্ষম নন তবে আপনি নিশ্চিত করতে পারেন যে আপনার ব্যবহারকারীরা কেবল তাদের নিজস্ব প্রক্রিয়াগুলি দেখতে পাচ্ছেন।

যদি আপনার কার্নেল সংস্করণটি ৩.৩ এর বেশি হয় তবে আপনি নিম্নলিখিত কমান্ডটি দিয়ে চেষ্টা করতে পারেন:

 
mount /proc -o remount,hidepid=2


আপনি কি বিষয়টি সীমাবদ্ধ করতে পারেন hidepid=2যাতে এটি কেবল নির্দিষ্ট ব্যবহারকারীকেই প্রভাবিত করে (বা এটি নির্দিষ্ট ব্যবহারকারীকে শ্বেত তালিকাভুক্ত করে)?
ব্রুটসর্ফুজথ্রিক্স

দুর্দান্ত কাজ! আমার সমস্যাটি হ'ল আমি ক্রোন স্ক্রিপ্ট ব্যবহার করে কোনও সার্ভারের সাথে সংযুক্ত হয়েছি এবং যে কোনও ব্যবহারকারীর "htop" (উদাহরণস্বরূপ) ব্যবহার করে শংসাপত্রগুলি দেখতে সক্ষম হয়েছিল। "লুকোচুরি = 2" এ সেট করা ব্যবহারকারী অন্য ব্যবহারকারীদের দ্বারা চালু হওয়া প্রক্রিয়াগুলি দেখতে পাবে না যা আমি খুঁজছিলাম। ডিফল্ট হিসাবে সেট করা হয় না কেন?
Lepe

@ উত্তরাধিকারগত কারণে সম্ভবত চলে যান। এটি এবং এটি ভেঙে দেয় এবং তাই (এখনও) সর্বত্র ব্যবহার করা যাবে না।
ফ্লোরিয়ান ওয়েনডেলবারন

ওপি পিডটিকে কেবলমাত্র অন্য ব্যবহারকারীদের জন্যই নয়, সামগ্রিকভাবে অদৃশ্য হওয়ার জন্য বলেছিল ...?
phil294

কেবলমাত্র নির্দিষ্ট ব্যবহারকারীদের দ্বারা তৈরি প্রসেসগুলি লুকানোর কোনও উপায় আছে? যেমন। root?
এভারি 235

-2

উপরে এবং এন কমান্ডে এফ কমান্ড ব্যবহার করুন, উদাহরণস্বরূপ আপনি যা দেখতে চান তা কনফিগার করতে। আপনি যে কনফিগারটি ~ / .toprc ব্যবহার করতে চান তা লিখতে W কমান্ড ব্যবহার করবেন? শীর্ষ কমান্ড দেখতে। এটি আপনার সমস্যাটি দ্রুত সমাধান করতে পারে - এটি আমার জন্য হয়েছিল। এফ দিয়ে আমি যে ক্ষেত্রগুলি দেখতে চাই সেগুলি যোগ করতে / মুছে ফেলতে পারি, যখন এফ মধ্যে সারণি সেট করতে s ব্যবহার করতে পারেন, তারপরে q প্রদর্শন করতে ফিরে যেতে পারেন। তারপরে আমি কয়টি প্রসেস দেখতে চাই তা নির্ধারণ করতে এবং ডটকম .ttrc- এ সংরক্ষণ করতে ড


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