আমি আমার ম্যাকটিতে একটি নন-রুট প্রক্রিয়া হিসাবে একটি ওয়েব সার্ভার চালাতে চাই। সাধারণত শুধুমাত্র মূল প্রক্রিয়াগুলি 80 (বা 1024 এর নীচে যে কোনও পোর্টে) বাঁধতে পারে।
আমি কি বিশেষত 80 বন্দরটি খুলতে পারি যাতে নন-রুট প্রক্রিয়াগুলি এটি শুনতে পারে?
আমি আমার ম্যাকটিতে একটি নন-রুট প্রক্রিয়া হিসাবে একটি ওয়েব সার্ভার চালাতে চাই। সাধারণত শুধুমাত্র মূল প্রক্রিয়াগুলি 80 (বা 1024 এর নীচে যে কোনও পোর্টে) বাঁধতে পারে।
আমি কি বিশেষত 80 বন্দরটি খুলতে পারি যাতে নন-রুট প্রক্রিয়াগুলি এটি শুনতে পারে?
উত্তর:
নকশা দ্বারা এটি করা শক্ত এবং আপনার মেশিনে রুট অ্যাক্সেস না থাকলে নিম্নলিখিত পরিবর্তনগুলির সেটআপ করতে রুটের প্রয়োজন হওয়ায় নিম্নলিখিতগুলির কোনওটিই কাজ করবে না। একবার পরিবর্তিত হয়ে গেলে, ব্যবহারকারীর স্পেস প্রোগ্রামগুলি রুট না করেই অ্যাক্সেস করতে পারে।
এটি সম্পাদন করার দুটি সাধারণ উপায় রয়েছে এবং আপনি যে বাছাই করেছেন তা নির্ভর করবে আপনি কেন এই বিধিনিষেধের আশেপাশে কাজ করার চেষ্টা করছেন:
আপনার মেশিনটিকে 8080 ট্র্যাফিক 8080 পোর্টে বা আপনার পছন্দের কোনও বন্দরটি পাস করার জন্য পুনরায় কনফিগার করে আপনি ব্যবহারকারী স্পেস সার্ভারগুলিকে যে জায়গাতে অ্যাক্সেস দেওয়া হয়েছে সেখানকার রুট সুবিধাগুলি বন্দরগুলি পেতে অনুমতি দিতে পারেন।
প্রক্রিয়াটি সোজা:
পদক্ষেপ 1: বর্তমান ফায়ারওয়াল বিধিগুলি দেখুন।
sudo ipfw show
পদক্ষেপ 2: পোর্ট ফরওয়ার্ডিং বিধি যুক্ত করুন (80 থেকে 8080)
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
আপনি যদি আপনার ফায়ারওয়াল নিয়মগুলি মুছে ফেলতে চান তবে:
sudo ipfw ফ্লাশ
( উত্স )
এটি একটি অস্থায়ী পরিবর্তন এবং আপনি পুনরায় বুট করার পরে, বা তিনি শেষ লাইনের নির্দেশিত ইন্ট্রি হিসাবে ফ্লাশ করবেন re
আপনি এই পরিবর্তনটি স্থায়ী করতে পারেন , বা আপনার সার্ভার শুরু করার আগে আপনি কমান্ডটি একটি স্টার্টআপ লাইন হিসাবে যুক্ত করতে পারেন যা সম্ভবত সুরক্ষার দিক থেকে নিরাপদ।
আথবাইন্ডকে একটি নির্দিষ্ট প্রোগ্রামকে সম্পূর্ণ মূল অ্যাক্সেস না দিয়েই নিম্ন স্তরের বন্দরগুলিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য বিশেষভাবে নকশা করা হয়েছিল।
একটি ওএস এক্স পোর্ট রয়েছে:
https://github.com/Castaglia/MacOSX-authbind
এটি এখনও আইপিভি 4 ট্র্যাফিকের মধ্যে সীমাবদ্ধ থাকতে পারে, যদিও এটি আপনার প্রয়োজনীয়তা পূরণ করে কিনা তা খুঁজে পেতে আপনাকে অতিরিক্ত কিছু তদন্ত করতে হতে পারে।
launchd
.plist
... "ProgramArguments": [ "path/to/authbind", "/usr/bin/php", "-c", "/www/.router.ini", "-S", "0.0.0.0:80", "-t", "/www", "/www/.router.php"]
oo ওহু!
আপনি ncat
অন্য কোনও বন্দরে চলমান ওয়েব সার্ভার থেকে ট্র্যাফিক ফরোয়ার্ড করতে ব্যবহার করতে পারেন :
sudo ncat -l -p 80 -c ' ncat -l -p 1234'
এটি 80h বন্দরের ট্র্যাফিক লোকালহোস্টের দিকে পাঠিয়ে দেবে: 1234। এটি যদিও কিছুটা কুলডেজ, তবে আমি দ্রুত পরীক্ষার বাইরে এটি কোথাও ব্যবহার করব না এবং অবশ্যই উত্পাদনে নেই।
মনে রাখবেন যে এটি কোনও নন-রুট প্রক্রিয়াটিকে তার সাথে আবদ্ধ করতে দেয় না, তবে একটি উদাহরণস্বরূপ একটি পোর্ট বাছাই করার মাধ্যমে প্রক্রিয়াটি 1234 ডলারে আবদ্ধ হতে পারে, এটি দেখতে পোর্ট ৮০ এর সাথে আবদ্ধ বলে মনে হবে This এটি সমানভাবে করছে ফায়ারওয়াল দিয়ে পোর্ট 80 কে 1234 পোর্টে ফরোয়ার্ড করা হচ্ছে তবে অনেক বেশি অস্থায়ী ভিত্তিতে।
ncat
সাথে আসে । ম্যাকপোর্টস নিজেই macport.org/install.php থেকে ইনস্টল করা যেতে পারে । nmap
sudo port install nmap
আপনি পোর্ট ফরওয়ার্ডিং করতে ssh ব্যবহার করতে পারেন। সুতরাং আপনার যদি 8080 তে কোনও সার্ভার চলমান থাকে তবে আপনি 80 বন্দর থেকে ট্র্যাফিক ফরোয়ার্ড করতে পারেন Here এখানে আমি ব্যবহার করি এমন একটি স্ক্রিপ্ট, যা দেশী অ্যাপাচি বন্ধ করে দিলে এবং ট্র্যাফিক এগিয়ে দিলে:
forward8080to80.command:
echo "You may close this terminal and the forwarding will continue."
echo "To stop, kill the ssh process found by `sudo lsof -i ':80' | grep LISTEN`"
sudo apachectl stop
sudo ssh user@127.0.0.1 -L 80:127.0.0.1:8080
আপনি যা করতে সক্ষম হবেন তা হ'ল আপনার রাউটারের 80 টি পোর্ট খুলুন এবং এটি আপনার ওয়েব সার্ভারের স্থানীয় আইপি ঠিকানায় নির্দেশ করুন। তারপরে আপনার ম্যাকটিতে, সিস্টেম পছন্দগুলি> পছন্দ ভাগ করে নেওয়া পেন থেকে ওয়েব ভাগ করা সক্ষম করুন এবং এটিকে আপনার পছন্দের ডিরেক্টরিতে নির্দেশ করুন। এটি অতীতে 10.6 সার্ভারে স্যুইচ না করা পর্যন্ত আমার পক্ষে কাজ করেছে।