ভিন্ন ব্যবহারকারী হিসাবে অ্যাপাচি চালাচ্ছেন


10

আমি যখন ps -efHসমস্ত প্রক্রিয়াটি তালিকাভুক্ত করার জন্য কমান্ডটি চালিত করি তখন আমি অ্যাপাচি দেখতে পাচ্ছি rootএবং উপ-প্রক্রিয়াগুলি চলছে বলে মনে হচ্ছে www-data। এখানে উদ্ধৃতাংশ:

root     30117     1  0 09:10 ?        00:00:00   /usr/sbin/apache2 -k start
www-data 30119 30117  0 09:10 ?        00:00:00     /usr/sbin/apache2 -k start
www-data 30120 30117  0 09:10 ?        00:00:00     /usr/sbin/apache2 -k start
www-data 30121 30117  0 09:10 ?        00:00:00     /usr/sbin/apache2 -k start

আমি কি আপাচি এবং সমস্ত উপ-প্রক্রিয়াগুলি পৃথক ব্যবহারকারী হিসাবে চালিত করতে পারি apache2d:apache2d? যদি তাই হয়, কিভাবে? আমি কোথাও পড়েছি যে এর জন্য সেটিংস পাওয়া যেতে পারে /etc/apache2/httpd.confতবে সেই ফাইলটি খালি মনে হচ্ছে? /etc/init.d/apache2স্ক্রিপ্টের মালিক এবং গোষ্ঠী পরিবর্তন করে এবং তারপরে সেটুইড পতাকাটি সেটিংস করে কি এটি সম্পাদন করা যায়?

উত্তর:


21

৮০ বন্দরকে আবদ্ধ করতে প্রথমে অ্যাপাচি রুট হিসাবে চলতে হবে initially অন্যথায় রুট সম্পর্কে চিন্তা করবেন না। এটি প্যারেন্ট আপাচি প্রক্রিয়া এবং কোনও অনুরোধ পরিবেশন করে না। এটি চাইল্ড প্রক্রিয়াগুলিকে উত্সাহিত করবে এবং হ্যান্ডলিংয়ের অনুরোধগুলির জন্য সুবিধাগুলি ছাড়বে।

পরিবর্তন করার জন্য অ্যাপাচি ব্যবহারকারী সেট Userএবং Groupআপনার অ্যাপাচি কনফিগ মধ্যে প্যারামিটার।


ওয়েল, ডিজিগ্রেসের জন্য দুঃখিত, তবে আমি লক্ষ্য করেছি যে হ্যাপ্রোক্সি হ্যাক্রোক্সি হিসাবে চালাতে পারে (মূল হিসাবে নয়), এবং টিসিপি 80 পোর্ট বাঁধাই করতে পারে। এটি কীভাবে অর্জন করে? কোন জ্ঞান?
kiiwii

1
এটা হয় না। প্রক্রিয়াগুলি কেবলমাত্র 1024 এর অধীনে পোর্টগুলিতে আবদ্ধ হতে পারে যদি এতে সুপার ব্যবহারকারীর সুবিধাদি থাকে। সুতরাং হ্যাপ্রোক্সিটি হয় মূল হিসাবে শুরু হয় এবং সুবিধাগুলি ছাড়ছে (সম্ভবত) বা সেটুইড রুট (সম্ভাবনা নেই)।
বাহামাত

আপনাকে এটি রুট হিসাবে চালানোর দরকার নেই, আপনার কেবলমাত্র আপনার 'অ্যাপাচি' ব্যবহারকারীকে সীমিত পোর্টগুলিতে অ্যাক্সেসের অনুমতি দেওয়া দরকার (যেমন, 1024 এর নীচে)। এই উত্তরটি কীভাবে আপনি 'লেখককে' ব্যবহার করতে পারেন তা ব্যাখ্যা করে: superuser.com/questions/710253/…
প্রাণী 451

4

@ বাহামত এটি বেশ ভালভাবে ব্যাখ্যা করেছেন তবে আমি আরও কিছুটা বিশদ যুক্ত করব।

স্বাভাবিক অপারেশন চলাকালীন, রুটের মালিকানাধীন অ্যাপাচি প্রক্রিয়াটি 80 বন্দরটি শুনতে এবং তার (নিরাপদে অ-সুবিধাযুক্ত, www-dataব্যবহারকারী হিসাবে ) বাচ্চাদের কাছে আগত সংযোগগুলি ফরোয়ার্ড করা ব্যতীত কোনও আসল ক্রিয়াকলাপ সম্পাদন করবে না ।

মাস্টার কনফিগারেশন ফাইলের অবস্থানটি সংকলন-সময় বিকল্পগুলির উপর নির্ভর করে এবং প্রতি বিতরণে পরিবর্তিত হয়, তবে /etc/apache2/apache2.confএটি শুরু করার একটি ভাল অনুমান।

এছাড়াও, আপনি যদি কোনও মাল্টি-ইউজার ওয়েবহোস্টিং সিস্টেম সেট আপ করে থাকেন তবে আপনি SuExec এবং fcgid সন্ধান করতে পারেন যাতে প্রতিটি পৃথক ওয়েব হোস্টিং ব্যবহারকারীর অ্যাপাচি প্রক্রিয়াটি ব্যবহারকারী হিসাবে চলতে পারে - যাতে যদি কোনও ব্যবহারকারী তাদের সুরক্ষার প্রতি অবহেলা করে, অন্য ব্যবহারকারীরা প্রভাবিত হবে না।


3

অন্তত উবুন্টুতে, এর জন্য সেটিংস রয়েছে /etc/apache2/envvars। এগুলিকে টুইঙ্ক করুন, তারপরে অ্যাপাচি পুনরায় চালু করুন এবং আপনি বন্ধ হয়ে চলেছেন।


ধন্যবাদ, এটি আমাকে সাহায্য করেছে! আমি একটি উবুন্টু ভিজাগর বাক্স স্থাপন করছি এবং কোনও কারণে /etc/apache2/httpd.conf ব্যবহারকারী এবং গোষ্ঠী লোড করতে ব্যবহৃত হচ্ছে না। এনভররা মনে হয় কৌতুক করে!
গ্রেগ

2

এছাড়াও, অ্যাপাচি 2 আইটিকে এমপিএম পরীক্ষা করে দেখুন ।

এটি নির্ধারিত uid/ এর সাথে একটি অ্যাপাচি থ্রেডের কাঁটাচামচ করে gid, এটি আপনাকে ব্যবহার করা চলুক mod_php। আর নেই chmod/ chownইত্যাদি


উপভোগটি mpm_itkযার জন্য সুেক্সেক / এফসিজিডের তুলনায় একটি উল্লেখযোগ্য উন্নতি
শাদুর

0

ম্যাক ওএসএক্স:

আমার জন্য যা কাজ করেছে তা অ্যাপাচি কনফিগারেশন ফাইলের মধ্যে চলেছে:

/etc/apache2/httpd.conf

এই ফাইলটিতে আমি ব্যবহারকারী বা গোষ্ঠীটি অনুসন্ধান করেছি

এবং এলোমেলোভাবে:

User _www
Group _www

আমার যা প্রয়োজন সেই ব্যবহারকারী / গোষ্ঠীতে এটি পরিবর্তন করেছি (আমার ক্ষেত্রে ব্যবহারকারী / গোষ্ঠীর কাছে যারা আমার ওয়েব অ্যাপ্লিকেশন ফাইলগুলির মালিক যা আপনি দেখতে পাচ্ছেন And এবং এটি আপনি 'এলএস-এল' ব্যবহার করে যাচাই করতে পারেন কমান্ড)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.