আমি বর্তমানে ব্যাশ স্ক্রিপ্টটির সাথে বর্তমান ব্যবহারকারী হিসাবে চালিত 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