ওপেনভিপিএন-এ "--আপ" বিকল্পটি সাধারণত রাউটিং ইত্যাদির জন্য ব্যবহৃত হয় এবং সুতরাং ওপেনভিপিএন কারও হিসাবে চালানোর জন্য রুট সুবিধাগুলি ছাড়ার আগে এটি প্রক্রিয়া করা হয়। যাইহোক, আমি শেল স্ক্রিপ্টগুলি চালু করছি যা একটি অনিবদ্ধ ব্যবহারকারী হিসাবে চালানো দরকার।
আমি কেমন করে ঐটি করি? আমি ড্রপ প্রসেস প্রিভিলেজস , বিশেষত বহুপদী এবং টাইলারের উত্তরগুলি অধ্যয়ন করেছি , তবে কীভাবে প্রয়োগ করব তা আমি বুঝতে পারি না। আমি সেন্টোস .5.৫ এ কাজ করছি, এবং "chmod u + s" এবং "সেটুইড ()" হিসাবে উভয়ই অবরুদ্ধ রয়েছে।
এখানে একটি ওপেনভিপিএন প্লাগইন রয়েছে ("openvpn-down-root.so") যা "- ডাউন" বিকল্পের দ্বারা অনুরোধিত স্ক্রিপ্টগুলিকে রুট হিসাবে চালাতে সক্ষম করে। "Openvpn-up-user.so" এর মতো একটি সমতুল্য হতে পারে, তবে আমি এটি পাই নি।
Edit0
নিকোলা কোটুরের উত্তর, আমি ইয়ান মায়ারের রুনিট-আরপিএম ইনস্টল করেছি । যদিও chpst কমান্ডটি টার্মিনালে কাজ করে, আপ স্ক্রিপ্টে এটি "কমান্ড পাওয়া যায় নি" এর সাথে ব্যর্থ হয়। "Sudo chpst" প্লাস যথাযথ প্রদর্শন এবং ভাষা নির্ধারণ করে যা কাজ করে। দয়া করে দেখুন কেন আমার টার্মিনাল আউটপুট ইউনিকোড অক্ষর সঠিকভাবে হয় না? এটি দেওয়া, আপ স্ক্রিপ্ট এই চারটি লাইন প্রয়োজন:
LANG="en_US.UTF-8"; export LANG
GDM_LANG="en_US.UTF-8"; export GDM_LANG
DISPLAY=:0; export DISPLAY
sudo chpst -u user -U user /home/user/unprivileged.sh &
Edit1
0xC0000022L এর মন্তব্যে, আমি দেখতে পেয়েছি যে "sudo -u ব্যবহারকারী" পাশাপাশি "sudo chpst -u ব্যবহারকারী -U ব্যবহারকারী" হিসাবে কাজ করে:
LANG="en_US.UTF-8"; export LANG
GDM_LANG="en_US.UTF-8"; export GDM_LANG
DISPLAY=:0; export DISPLAY
sudo -u user /home/user/unprivileged.sh &
আমি ম্যান সুদোয়ার্স অধ্যয়ন করব এবং / যখন আমি একা কাজ করতে পারি সুডো আপডেট করব।