linux - كيفية تشغيل البرنامج النصي كمستخدم آخر بدون كلمة مرور




bash sudo (2)

اتصل visudo وأضف هذا:

user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh

يجب أن تكون مسارات الأوامر مطلقة ! ثم اتصل sudo -u user2 /home/user2/bin/test.sh من shell user1 . فعله.

لدي script.sh التي يجب تشغيلها كمستخدم 2. ومع ذلك ، يمكن تشغيل هذا البرنامج النصي فقط ضمن user1 في التطبيق الخاص بي.

أرغب في تشغيل الأمر التالي:

su user2 -C script.sh

ولكن كن قادراً على تشغيل بدون كلمة مرور.

وأريد أيضًا أن يكون هذا مقيِّدًا جدًا ، حيث أنه في user1 لا يمكن تشغيل script.sh إلا في user2 ولا شيء آخر.

لقد حاولت القيام بذلك مع ملف sudoers وحصلت فقط على الخلط لا نهاية لها بعد ساعات من المحاولة.

إذا كان شخص ما يمكن أن يقدم مثالا واضحا على كيفية تحقيق ذلك (بدلا من شيء عام مثل استخدام sudoers) ، سيكون موضع تقدير كبير.


حاول الجري:

su -c "Your command right here" -s /bin/sh username

سيقوم هذا بتشغيل الأمر كاسم مستخدم معطى لديك أذونات sudo كهذا المستخدم.





sudoers