اكتب البرنامج النصي Shell الذي لا يمكن تشغيله إلا بواسطة مستخدم Sudo في Ubuntu

StackOverflow https://stackoverflow.com/questions/2069960

  •  20-09-2019
  •  | 
  •  

سؤال

أنا أكتب برنامج نصي Shell الذي من المفترض أن يديره المستخدمون فقط في قائمة مستخدمي Sudo ، ما هي الطريقة المناسبة للقيام بذلك؟

ما أفكر فيه هو في البرنامج النصي Shell ، حاول إنشاء ملف وهمية في النظام مثل/var/run/وإزالته ، لذلك سيتلقى المستخدمون في قائمة Sudo خطأ في الإذن ، لكنني أعتقد أنه يجب أن يكون طريقة أكثر ملاءمة للقيام بذلك ، شكرا للمساعدة

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

المحلول

يمكنك التحقق من قيم $ UID و $ EUID في البرنامج النصي الخاص بك. سيكونون صفر لكونه يعادل الجذر. أو ، إن لم يكن باش ، يمكنك استخدامه id -u.

نصائح أخرى

قم بتغيير أذونات التنفيذ على البرنامج النصي لتكون قابلة للتنفيذ فقط من قبل المستخدم ، وتغيير ملكية البرنامج النصي إلى root. يجب أن تفعل ذلك.

تأكد من أنك في قائمة Sudoers ثم:

sudo chmod 700/path/to/scriptName

الرد على التعليق
عذرًا - لا أستخدم Subversion: أعتقد أنك ستحتاج إلى تشغيل برنامج نصي آخر كصاحب Sudoer يقوم بإنشاء البرنامج النصي مع الأذونات الصحيحة.

لا لم تفعل يجب أن قم بتغيير الملكية إلى الجذر ، لكنها ستبقي الأشياء نظيفة إذا قمت بذلك.

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