screen
পরিবেশ পরিবর্তনশীল আনসেট করে না; এটি লিনাক্স নিজেই অপসারণ করেছে।
বেশিরভাগ সিস্টেমে /usr/bin/screen
এক্সিকিউটেবলটি গ্রুপের জন্য সেটগ্রিড বিট দিয়ে ইনস্টল করা হয় utmp
, যাতে utmp
ডাটাবেস পরিবর্তন করতে সক্ষম হয় । এটি সকেট ডিরেক্টরিতে অ্যাক্সেস নিয়ন্ত্রণ করতে সেটগিড ব্যবহার করে ( /var/run/screen/
)।
লিনাক্স, যখন একজন উপর setuid (অথবা setgid ) প্রোগ্রাম দৌড়ে এটা নির্দিষ্ট এনভায়রনমেন্ট ভেরিয়েবল পাবেন না (তত্সহ LD_LIBRARY_PATH
, অন্যান্য LD_*
ভেরিয়েবল, এবং HOSTALIASES
অন্যথায় আপনি একটি ছোট লাইব্রেরী এবং কৌতুক লিখতে পেরেছিলেন:), অর্ডার সম্ভব হামলা পয়েন্ট কমানোর জন্য su
বা sudo
আপনার "উন্নত" ফাংশনগুলিকে সেভাবে কল করার জন্য।
আপনি সেটগিড বিটটি সরিয়ে ফেলতে পারেন screen
তবে আপনাকে সকেট ডিরেক্টরিটি প্রত্যেকেই পুরোপুরি অ্যাক্সেসযোগ্য করতে হবে (মোড 0777)। এটি কোনও সুরক্ষা ঝুঁকিপূর্ণ হওয়া উচিত নয়, screen
পাশাপাশি আক্রমণকারীটির ইউআইডিও পরীক্ষা করে।
তবে আপনার ডাটাবেসকে বিশ্ব-লিখনযোগ্য করা উচিত নয়utmp
।