আমি একই সমস্যার মুখোমুখি হয়েছি এবং আমাকে sudo su - devuser
দেব সার্ভার ছাড়া অন্য কোনও কিছু চালানোর অনুমতি নেই , তাই এটিই আমি এনেছি:
- ডিভুজারের। প্রোফাইলে যদি পূর্ববর্তী ব্যবহারকারীর বাড়িতে ফিরে যায় তবে স্যুইচ করুন:
prev_user_home=$(~/bin/home.sh)
if [ -n $prev_user_home ] ; then
cd $prev_user_home
fi
- পূর্ববর্তী ব্যবহারকারী নির্ধারণের জন্য একটি স্ক্রিপ্ট। স্ক্রিপ্টটি ডিভুসারের বিন ডিরেক্টরিতে স্থাপন করা হয়েছে:
#!/bin/bash
#brings you back home after sudo su
function get_owner {
pid=$1
echo $(ps ouid -p $pid h | tr -d ' ')
}
pid=$$
my_uid=$(get_owner $pid)
uid=$my_uid
i=0
while [[ $uid == $my_uid && $i -lt 20 ]] ; do
pid=$(ps -o ppid= $pid)
uid=$(get_owner $pid)
i=$((i+1))
done
user_home=$(getent passwd $uid | cut -d ':' -f '6')
if [[ -d $user_home && $uid != 0 ]] ; then
echo $user_home
fi
এটি একটি প্রক্রিয়া ট্রি পর্যন্ত যায় এবং প্রক্রিয়াটির নিজস্ব ব্যবহারকারীর পরিবর্তন হয়েছে কিনা তা পরীক্ষা করে।