আমি বর্তমানে ব্যাশ স্ক্রিপ্টটির সাথে বর্তমান ব্যবহারকারী হিসাবে চালিত sudo
হওয়া চাই, তবে এটি সরাসরি ব্যবহারকারীরূপে নির্বাহ করা হলে চালানো থেকে রোধ করতে পারে। এটি কারণ আমি বর্তমান ব্যবহারকারীর জন্য কিছু সেটআপ ক্রিয়া করছি যার জন্য রুট অনুমতিগুলি প্রয়োজন, তবে SUDO_USER
পরিবেশের পরিবর্তনশীল সেট হওয়ার উপর নির্ভর করে ।
এই মুহূর্তে আমার যা আছে:
#!/usr/bin/env bash
# Require script to be run via sudo, but not as root
if [[ $EUID != 0 ]]; then
echo "Script must be run with root privilages!"
exit 1
elif [[ $EUID = $UID && "$SUDO_USER" = "" ]]; then
echo "Script must be run as current user via 'sudo', not as the root user!"
exit 1
fi
এটি দাঁড়িয়ে হিসাবে এটি নির্ভরযোগ্য? আমি আমার চেকিং সম্পর্কে কিছুটা অনিশ্চিত EUID
এবং UID
মিলছি, যেহেতু আমি জানি না যে UID
সর্বদা নির্ভরযোগ্যভাবে সঠিকভাবে সেট করা আছে কিনা। SUDO_USER
খালি আছে কিনা তা খালি পরীক্ষা করা কি যথেষ্ট হবে ?
sudo