ps
কমান্ডটি ব্যবহার করে আমরা কোনও প্রক্রিয়ার মালিক নির্ধারণ করতে পারি । এর অর্থ কি অন্য ব্যবহারকারীরা সেই প্রক্রিয়াটি চালাতে / হত্যা / পুনরায় চালু করতে পারবেন না?
ps
কমান্ডটি ব্যবহার করে আমরা কোনও প্রক্রিয়ার মালিক নির্ধারণ করতে পারি । এর অর্থ কি অন্য ব্যবহারকারীরা সেই প্রক্রিয়াটি চালাতে / হত্যা / পুনরায় চালু করতে পারবেন না?
উত্তর:
শংসাপত্রগুলি পড়ুন (7) , কাঁটাচামচ (2) , সম্পাদন করুন (2) । কাঁটাচামচ সিস্টেম কল পথ প্রসেস নির্মিত হয় (আজ, fork
সঙ্গে প্রায়শই বাস্তবায়িত হয় ক্লোন (2) কিন্তু আপনি যে একটি বাস্তবায়ন বিস্তারিত হিসেবে দেখতে পারেন)। Exec সিস্টেম কল উপায় এক্সিকিউটেবল প্রোগ্রাম শুরু হয়। মনে রাখবেন যে কিছু কিছু সিস্টেম কল ( সিস্কলগুলি (2) এ তালিকাভুক্ত ) দিয়ে কিছু প্রক্রিয়া থেকে সবকিছু করা হয়ে থাকে । বুট করার সময় প্রথম প্রথম প্রক্রিয়া ( init বা systemd ) কার্নেল দ্বারা যাদুতে শুরু করা হয়েছিল। অন্যান্য প্রক্রিয়া কাঁটাচামচ দ্বারা শুরু করা হয়েছে (2)। আধুনিক লিনাক্স কার্নেলগুলি কখনও কখনও - তবে খুব কমই - ম্যাজিক্যালি কয়েকটি বিশেষ প্রক্রিয়া (উদাঃ /sbin/hotplug
) বা কার্নেলের থ্রেড (যেমন kworker
, kswapd
....) শুরু করুন।
সুতরাং হ্যাঁ, প্রতিটি প্রক্রিয়া (এবং প্রতিটি ফাইল) এর কিছু মালিক (প্রযুক্তিগতভাবে uid , একটি ছোট অ-নেতিবাচক সংখ্যা) এবং গোষ্ঠী (গিড) থাকে। 0 টি ইউআইডিটি মূলের জন্য এবং এতে অতিরিক্ত অনুমতি রয়েছে।
সম্পর্কে আরো পড়ুন setuid (এবং setreuid (2) ...) এটা চতুর হয়।
এর অর্থ কী অন্য মালিক সেই প্রক্রিয়া চালাতে পারবেন না?
একটি প্রক্রিয়া ইতিমধ্যে চলছে (তবে এটি নিষ্ক্রিয় বা অপেক্ষারত হতে পারে), সুতরাং কেউ আবার এটি চালাতে পারে না। প্রোগ্রামটির (কোনও কার্যকর কার্যকর ফাইল , প্রায়শই ELF ফর্ম্যাটে) এর অভ্যন্তরে চলমান কোনও প্রক্রিয়া (গতিশীল কিছু) বিভ্রান্ত করবেন না ।
একটি প্রদত্ত প্রোগ্রাম (উদাহরণস্বরূপ /bin/bash
) বেশ কয়েকটি প্রক্রিয়াতে কার্যকর করা যেতে পারে । অনেক এক্সিকিউটেবল আপনার কোনও ডিস্কে (কোনও তাত্ক্ষণিক সময়ে) কোনও প্রক্রিয়া চালিত না করেই থাকে।
লিনাক্সে, প্রোস (5) প্রসেসের অবস্থা সম্পর্কে কার্নেলটি জিজ্ঞাসা করতে খুব দরকারী। উদাহরণ cat /proc/$$/status
এবং চেষ্টা করুন cat /proc/self/maps
। আরও দেখুন pgrep (1) , PS (1) , শীর্ষ (1) ।
প্রতিটি প্রক্রিয়ার নিজস্ব ভার্চুয়াল ঠিকানার স্থান , নিজস্ব ফাইল বর্ণনাকারী টেবিল, নিজস্ব ওয়ার্কিং ডিরেক্টরি , (এবং প্রায়শই বেশ কয়েকটি থ্রেড থাকে , পাইথ্রেড (7) ) ইত্যাদি ইত্যাদি থাকে ...
এর অর্থ কি অন্য মালিকরা সেই প্রক্রিয়াটি চালাতে / হত্যা / পুনরায় চালু করতে পারবেন না?
কোনও প্রক্রিয়া চালানোর কোনও অর্থ হয় না (এটি ইতিমধ্যে চলছে) যাইহোক, পিড 1234 এর প্রক্রিয়াজাতকরণের প্রক্রিয়াটি সিমিলিংক হিসাবে উপলব্ধ /proc/1234/exe
এবং আপনি এটি কার্যকর করতে (2) ব্যবহার করতে পারেন - তবে আপনার সম্ভবত করা উচিত নয় -। অনুমতি বিধি execve
প্রযোজ্য।
(২) একটি প্রক্রিয়াটি মেরে ফেলার জন্য আপনার সাধারণত একই ইউআইডি থাকা উচিত। তবে ডকুমেন্টেশনটি বলে:
For a process to have permission to send a signal, it must either be privileged (under Linux: have the CAP_KILL capability in the user namespace of the target process), or the real or effective user ID of the sending process must equal the real or saved set-user-ID of the target process. In the case of SIGCONT, it suffices when the sending and receiving processes belong to the same session.
কোনও প্রক্রিয়া বন্ধ করতে , কিল (2) এর সাথে ব্যবহৃত SIGSTOP
(বা SIGTSTP
) সিগন্যালটি ব্যবহার করুন । দেখুন সংকেত (7) ।
করতে সারসংকলন একটি থামানো প্রক্রিয়া ব্যবহার SIGCONT
সংকেত।
মালিক সাধারণত ব্যবহারকারী যে প্রক্রিয়াটি চালু করেছিলেন। কমান্ডটি অন্য ব্যবহারকারীদের দ্বারা কার্যকর করা যেতে পারে তবে এটি একটি আলাদা প্রক্রিয়া হবে।
এর অর্থ কী অন্য মালিক সেই প্রক্রিয়া চালাতে পারবেন না?
অন্য কোন মালিক নেই। প্রোগ্রামগুলি (এক্সিকিউটেবল ফাইল) এবং প্রসেসগুলি (চলমান প্রোগ্রামগুলি) গুলিয়ে ফেলবেন না।
এর অর্থ কি অন্য মালিকরা সেই প্রক্রিয়াটি চালাতে / হত্যা / পুনরায় চালু করতে পারবেন না?
একক মালিক ইতিমধ্যে প্রক্রিয়া চালু করেছেন। আপনি যদি অন্য ব্যবহারকারীদের বোঝাতে চান , তবে মালিক নয়, এটি নির্ভর করে।
রুট, অর্থাৎ uid
0 এর সমান ব্যবহারকারী , এর পূর্ণ ক্ষমতা রয়েছে। uid
ওএস দৃষ্টিকোণ থেকে একই ব্যবহারকারীকে ভাগ করে নেওয়া অন্যান্য ব্যবহারকারীরা একই ব্যবহারকারী, সুতরাং প্রক্রিয়াটিতেও সম্পূর্ণ ক্ষমতা রয়েছে।
ভিন্ন ইউআইডি সহ ব্যবহারকারীরা প্রক্রিয়াটি হত্যা / থামাতে / পুনরায় চালু করতে পারবেন না, যদি না তারা সেই প্রক্রিয়াটির সাথে সম্পর্কিত থাকেন তবে তাদের যদি মালিক বা মূল অধিকারের sudo
বা অন্য জাতীয় আদেশের মাধ্যমে বা কিছুটা হলেও স্যুইচ করার অনুমতি না দেওয়া হয়। তাদের শ্রেণিবিন্যাস থেকে।