কেন chown
রুট শুধুমাত্র কমান্ড? রুটহীন ব্যবহারকারীরা নিজের ফাইলগুলি দেওয়ার জন্য কেন ছেঁটে ব্যবহার করতে পারবেন না?
chown
করতে পারেন না ? (আমি এমন সিস্টেম দেখেছি যেখানে ফাইল সিস্টেমের কনফিগারেশনের উপর নির্ভর করে আপনি পারেন))
কেন chown
রুট শুধুমাত্র কমান্ড? রুটহীন ব্যবহারকারীরা নিজের ফাইলগুলি দেওয়ার জন্য কেন ছেঁটে ব্যবহার করতে পারবেন না?
chown
করতে পারেন না ? (আমি এমন সিস্টেম দেখেছি যেখানে ফাইল সিস্টেমের কনফিগারেশনের উপর নির্ভর করে আপনি পারেন))
উত্তর:
বেশিরভাগ ইউনিক্স সিস্টেম ব্যবহারকারীদের ফাইলগুলি "দেওয়ার" থেকে বাধা দেয়, chown
অর্থাত্ ব্যবহারকারীদের কেবলমাত্র লক্ষ্য ব্যবহারকারী এবং গোষ্ঠী সুবিধাগুলি থাকলে চলতে পারে। যেহেতু ব্যবহারের chown
জন্য ফাইলের মালিক হওয়া বা রুট হওয়া প্রয়োজন (ব্যবহারকারীরা কখনই অন্যান্য ব্যবহারকারীর ফাইলকে উপযুক্ত করতে পারে না), কেবলমাত্র রুট chown
কোনও ফাইলের মালিককে অন্য ব্যবহারকারীর কাছে পরিবর্তন করতে চালানো যেতে পারে।
এই বিধিনিষেধের কারণ হ'ল অন্য ব্যবহারকারীর কাছে কোনও ফাইল প্রদান করা অস্বাভাবিক, তবে এখনও গুরুত্বপূর্ণ পরিস্থিতিতে খারাপ কিছু ঘটতে পারে। উদাহরণ স্বরূপ:
chown
সেই ফাইলটিকে অন্য কোনও ব্যবহারকারী বিলের মালিকানাধীন করতে চালান । কেবলমাত্র এলিস ফাইলটি ব্যবহার করতে পারলেও ফাইলটি তখন বিলের ডিস্ক কোটায় গণনা করা হবে।/bin/bash
, সেটআপ করতে পারে এবং তারপরে chown
যারাই চায় এটি এটি করতে পারে। এখন সেই ব্যক্তি হিসাবে তাদের শেল অ্যাক্সেস রয়েছে।
chown
সর্বদা সেটুইড এবং সেটগিড বিট সাফ করে।
drwxr-xr-x ring0 ring0 .
) মালিক হয়ে থাকি যার মূলটিতে নিয়মিত ফাইল থাকে ( -rw-r--r-- root root file
), তবে কেন এটি করতে পারি না, chown ring0 file
কেননা এটি কোনওভাবেই করার অনুমতি দেওয়া হয়েছে, যেমন ring0
, cp file x ; rm file ; mv x file
(এবং কিছু alচ্ছিক touch sometime file
...)?
লিনাক্সে, আপনাকে ডেকে আনার জন্য CAP_CHOWN ক্ষমতা প্রয়োজন। রুট যেমন দেওয়া হয়। ব্যাখ্যার জন্য : http://vouters.dyndns.org/tima/Linux-OpenVMS-C- প্রয়োগকারী_চাউন.ইচটিএমএল দেখুন । আপনি যদি CAP_CHOWN সক্ষমতা দিতে চান, তবে আপনার কোডটি libcap-ng বা libcap দিয়ে তৈরি করুন যেমন: http://vouters.dyndns.org/tima/Linux-PAM-C-Pluggable_Authentication_Modules_programming_example.html যেখানে CAP_AUI- র সরল প্রতিস্থাপন করতে হবে CAP_CHOWN সহ।
আপনি কমান্ডটি চালু করতে পারেন তবে আপনি যদি রুট না হন তবে এটি কাজ করবে না। এটি সহজ: এমন কোনও ব্যবহারকারী কল্পনা করুন যা কোনও সফ্টওয়্যারকে রুট ব্যবহারকারীতে পরিবর্তন করতে পারে। এটি সেটুইড বিট যোগ করতে পারে এবং, হ্যাঁ, লোকটি মূল! সুতরাং, ব্যবহারটি chmod সহ বিট যোগ করতে পারে তবে ফাইলগুলির মালিক পরিবর্তন করার কোনও সুযোগ নেই।