سؤال

لديّ نص Shell الذي أريد ضبطه بت. قمت بتعيين المالك على الجذر وتعيين بت. أضفت "Whoami'in القشرة للتحقق مما إذا كانت تعمل بشكل صحيح ولكن عندما نفذت البرنامج النصي ، أعاد Whoomi اسم المستخدم ، وليس الجذر. ثم هذا خطأ ، أليس كذلك؟ كان يجب أن أحصل على الجذر إذا تم تعيين UID بشكل صحيح ، أليس كذلك؟

هل كانت مفيدة؟

المحلول

لا يمكنك استخدام setuid بت مع نصوص الصدفة. القذيفة توصيف كوخ خط لتحديد البرنامج المراد تنفيذه ، ثم يطلق هذا البرنامج دون رعاية أدنى عدد بتات setuid التي تم تعيينها على البرنامج النصي.

نرى https://serverfault.com/questions/8449/cannot-set-uid-on-shell-scripts.

نصائح أخرى

لا ، لا يغير Bit setuid المستخدم في المستخدم ، فإنه يغير المستخدم الفعال (EUID) الذي يعمل عليه البرنامج النصي على النحو.

علاوة على ذلك ، لا تعمل بتات setuid على البرامج النصية.

إذا كنت تريد تنفيذ برنامج نصي كجذر من قبل المستخدمين الأقل امتيازًا ، فإنني أوصي بالبحث في "SU" أو "Sudo".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top