কিছু সময়, এটি কোডে। উদাহরণস্বরূপ, মাঝপথে hwclock.c
, আপনি পাবেন:
if (getuid() == 0)
permitted = TRUE;
else {
/* program is designed to run setuid (in some situations) */
if (set || systohc || adjust) {
warnx(_("Sorry, only the superuser can change "
"the Hardware Clock."));
[...]
আপনি যদি রুট হন বা না হন তবে প্রোগ্রামটির আচরণ পরিবর্তন করবে।
বেশিরভাগ ক্ষেত্রে, এটি অন্তর্নিহিত; কার্নেল প্রেরণ উদাহরণস্বরূপ, প্রোগ্রাম যদি সিস্টেম কল করে যে আপনাকে সিস্টেমটি পুনরায় চালু করতে দেয়, আপনি কেবল রুট হলেই এটি কাজ করবে। আপনি যদি মূল না হন তবে আপনার কাছে "অনুমতি অস্বীকৃত" ত্রুটি থাকবে যা অ্যাপ্লিকেশনটি (যদি ভালভাবে লেখা থাকে) কেবল আপনাকে জানায়। অথবা আপনি কোনও ফাইল মুছতে চাইছেন; ফাইলটি করার জন্য যদি আপনার সঠিক অনুমতি থাকে তবে তা সফল হবে; যদি তা না হয় তবে এটি নির্ভর করে যে আপনি মূল বা না --- যখন rm
কল unlink()
করার পরে কার্নেল অনুমতি পরীক্ষা করে।
সুতরাং না, নীতিগতভাবে আপনি বলতে পারবেন না যে যদি প্রোগ্রামটির মূল সুযোগগুলির প্রয়োজন হয় বা না হয় তবে কেবল এক্সিকিউটেবলের অনুমতি দেখে। প্রচুর প্রোগ্রামগুলির কেবল কিছু অপারেশনের জন্য তাদের প্রয়োজন হবে, সুতরাং এরকম কিছু করা সত্যিই কঠিন হবে। ক্ষেত্রে hwclock
এক (যে কেউ ঘড়ি পড়তে পারেন কিন্তু শুধুমাত্র রুট এটি সেট করতে পারেন), কিন্তু তাদের শত শত আছে ( kill
, rm
, cat
...)
তারপরে সেটুয়েড প্রোগ্রামগুলির সম্পর্কিত এবং আকর্ষণীয় বিশ্ব রয়েছে ...
/bin
বা/sbin
ডিরেক্টরি থেকে পরিচালনা করতে পারেন । সমস্যাটি হ'ল those প্রোগ্রামগুলির মধ্যে কিছুগুলি পৃথকভাবে চলছে যা নির্ভর করে যে কোনও ব্যবহারকারী তাদের চালায়।