অ্যাপাচি টমক্যাটের জন্য ব্যবহারকারীদের অ্যাক্সেস অনুমতিের জন্য সেরা অনুশীলন


22

আমার কাছে একটি লিনাক্স বক্স রয়েছে যা বিভিন্ন বিকাশকারীদের দ্বারা ভাগ করা হচ্ছে। তারা তাদের যুদ্ধ ফাইলগুলি ভাগ করে নেওয়ার ক্ষেত্রে (/ অপ্ট / টমক্যাট) অ্যাপাচি টমক্যাটে স্থাপন করতে চায়।

যেহেতু তাদের সুডো অ্যাক্সেস নেই, তাই টমক্যাট ডিরেক্টরিতে আমাকে ফোল্ডারের অনুমতি পরিবর্তন করতে হবে।

অধীনে ডিরেক্টরি কাঠামোটি /opt/tomcatহ'ল -

bin/

conf/

lib/

logs/

temp/

webapps/

work/

উপরের পরিস্থিতিতে সেরা অনুশীলনগুলি কী - ব্যবহারকারীর সবচেয়ে উপযুক্ত অ্যাক্সেসের অনুমতি? আপাতত, আমি ওয়েব অ্যাপস এবং লগগুলিতে অনুমতিটি 777 এ পরিবর্তন করেছি।

ধন্যবাদ

উত্তর:


32

আমি এটি এইভাবে করি:

আমরা টমক্যাট ব্যবহারকারীকে টমক্যাট ফোল্ডারের মালিক হিসাবে রেখেছি:

# chown -R tomcat:tomcat /opt/tomcat

ব্যবহারকারীরা টমকাটের কনফিগারেশনটি পরিবর্তন করতে পারবেন না :

# chmod -R g+r /opt/tomcat/conf

ব্যবহারকারীরা অন্যান্য ফোল্ডারগুলি সংশোধন করতে পারেন:

# chmod -R g+w /opt/tomcat/logs
# chmod -R g+w /opt/tomcat/temp
# chmod -R g+w /opt/tomcat/webapps
# chmod -R g+w /opt/tomcat/work

নতুন ফাইলগুলির অনুমতিগুলি সংজ্ঞায়িত করার জন্য স্টিকি বিটটি সক্রিয় করুন:

# chmod -R g+s /opt/tomcat/conf
# chmod -R g+s /opt/tomcat/logs
# chmod -R g+s /opt/tomcat/temp
# chmod -R g+s /opt/tomcat/webapps
# chmod -R g+s /opt/tomcat/work

অবশেষে, আমরা টমকেট গ্রুপ যুক্ত করব আমরা এমন ব্যবহারকারীদের চাই যা টমক্যাটটি ব্যবহার করতে পারে:

# usermod -a -G tomcat MIUSER

4
যদি -a ট্যাগ ছাড়াই করা হয়ে থাকে তবে আপনি ব্যবহারকারীকে টোমক্যাট গ্রুপে যুক্ত করবেন, তবে তারা যে সমস্ত গ্রুপের অন্তর্ভুক্ত রয়েছে তাদের থেকে মিউসারকে অপসারণ করবেন (এর অর্থ আর কোনও সুডো গ্রুপ নয়)। আমাকে কেবলমাত্র আমার সার্ভারগুলির একটিতে প্রধান অ্যাকাউন্টে আমার গোষ্ঠীগুলি পুনরুদ্ধার করতে দ্রুত কাজ করতে হয়েছিল, পুরানো অধিবেশন থেকে তাদের পুনরুদ্ধার করতে যেখানে আমি এখনও এই গ্রুপগুলি রেখেছি। এই উত্তরটি পড়ে অন্য ব্যবহারকারীদের কাছে সতর্কতার শব্দ।
অ্যাকোরেন

আমি প্রতিক্রিয়া বিকল্প যোগ করেছি। ধন্যবাদ
ইন্ট্রোপড্রো

টমকেট কীভাবে টমক্যাট ব্যবহারকারী হিসাবে শুরু করবেন? খনিটি একটি ডিমন হিসাবে শুরু হয়েছে এবং এখন পর্যন্ত এটি মূল হিসাবে চলে।
স্টিফেন

1
হ্যালো স্টিফেন, উবুন্টুতে, টমক্যাট একটি টমক্যাট ব্যবহারকারীর সাথে সম্পাদন করছে এবং এটি টোমসিএটি 8_ ইউএসআর এবং টোম্যাক্যাট 8_গ্রুপের সাথে ভেরিয়েবল / etc / default / tomcat8 ফাইলের মধ্যে রয়েছে। অন্যদের মধ্যে আমি জানি না lin
ইন্ট্রোপড্রো

নয় +sব্যবহারকারী / গ্রুপ আইডি সেট? ম্যান পেজটি বলেছেন +tস্টিকি বিট।
বমউপিন

13

Non-Tomcat settingsহুল বিড়াল নিরাপত্তা প্রবন্ধের অধ্যায় এই বিষয়ে দরকারী তথ্য প্রদান করে। এখানে দেখো:

টমক্যাটটি মূল ব্যবহারকারীর অধীনে চালানো উচিত নয়। টমক্যাট প্রক্রিয়াটির জন্য একটি উত্সর্গীকৃত ব্যবহারকারী তৈরি করুন এবং সেই ব্যবহারকারীকে অপারেটিং সিস্টেমের জন্য ন্যূনতম প্রয়োজনীয় অনুমতিগুলি সরবরাহ করুন। উদাহরণস্বরূপ, টমক্যাট ব্যবহারকারী ব্যবহার করে দূর থেকে লগইন করা সম্ভব হবে না।

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


আমি অবাক হয়েছি যে বর্ণিত পদ্ধতিটি কেবল টমক্যাটেই নয় অন্যান্য পরিষেবাগুলির সাথেও (ডাটাবেস, বিপরীত প্রক্সি ইত্যাদি) গ্রহণ করা যেতে পারে। আপনি কি মনে করেন এটি কার্যকর / বুদ্ধিমান?
পাওলো

1

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

অনুশীলনে আপনাকে একটি গ্রুপ তৈরি করতে হবে (উদাহরণস্বরূপ webdev) এবং এতে সমস্ত বিকাশকারী এবং সার্ভার যুক্ত করতে হবে ( usermod -aG webdev <user>বা usermod -A webdev <user>আপনার লিনাক্সের স্বাদের উপর নির্ভর করে)। chownওয়েবসার্ভার ব্যবহারকারীর কাছে সমস্ত ফাইল এবং ডিরেক্টরি, সমস্ত ডিরেক্টরি 500 এবং সমস্ত ফাইল 400 এ chmod ( binযেখানে এক্সিকিউটেবলের পাশাপাশি 500 হওয়া দরকার) বাদে ।

/opt/tomcatগোষ্ঠীতে লেখার অনুমতিগুলি মঞ্জুর করুন (এটি 570 হবে) এবং স্টিকি বিট সেট করুন যাতে তারা কেবল নিজেরাই থাকা ফাইলগুলি মুছে ফেলতে পারে (chmod 1570)। সার্ভারটিকে লগগুলিতে লেখার অনুমতি প্রদান করুন, এবং বিকাশকারীদের কাছে অনুমতি পড়ুন (ফোল্ডারের জন্য 0740, ফাইলগুলির জন্য 0640, স্টিকি বিট সম্ভবত প্রয়োজন নেই, এবং এটি কোনও ফাইলকে কখনও মঞ্জুর করবেন না, কেবল ফোল্ডারগুলিতে যেমন রয়েছে ভিন্ন অর্থ (ফাইলটি যখন কার্যকর হয় তখন মালিকের অনুমতি নিয়ে কার্যকর করুন)।

তারপরে আপনাকে webdevকয়েকটি ডিরেক্টরিতে লেখার অনুমতি (1570) প্রদান করতে হবে। আপনার এখানে কিছু ট্রায়াল এবং ত্রুটির প্রয়োজন হবে এবং এটি অ্যাপ্লিকেশন নির্ভর হতে পারে। এই ফোল্ডারগুলি অবশ্যই 1570 হওয়া উচিত, আবার কিছু অন্যদের 0500 হতে পারে)।

বিকাশকারীদের গ্রুপে তাদের ফাইলে পঠিত অ্যাক্সেস প্রদান করতে হবে যাতে সার্ভার সেগুলি পড়তে পারে (যা 6৪০) এবং ডিরেক্টরিতে চালিত করতে পারে (এটি 750০)।


1

আমি মনে করি @ ইন্ট্রোপড্রোর গৃহীত উত্তরগুলি ভাল। এটি উল্লেখ করার মতো যে প্যাকেজ ইনস্টলার ব্যবহার করে প্রচুর মাথাব্যাথা বাঁচতে পারে - কমপক্ষে উবুন্টুতে টমক্যাট for এর apt-get install tomcat7জন্য ইনস্টলেশন ডিরেক্টরিগুলির আরও একটি "স্ট্যান্ডার্ড" সেট প্রস্তুত করা হয়:

  • /etc/tomcat7 কনফিগারেশন ফাইলের জন্য,
  • /var/lib/tomcat7 মূল গ্রন্থাগারগুলির জন্য, এবং
  • /usr/share/tomcat7 ভাগ করা সংস্থান জন্য।

সমস্ত অনুমতিগুলি ন্যূনতম সুযোগ-সুবিধার নীতির সাথে সঠিকভাবে সেট আপ করা হয়েছে, যেমন গ্রুপে ব্যবহারকারীদের যুক্ত tomcat7করার অনুমতি দেওয়ার জন্য যথেষ্ট। আরও, টমক্যাট সার্ভারটি একটি পরিষেবা হিসাবে সেট আপ করা হয়েছে যা অন্য হিসাবে শুরু করা এবং বন্ধ করা যেতে পারে (যেমন sudo service tomcat startবা বিকল্পভাবে /etc/init.d/tomcat start)। টমক্যাট স্বয়ংক্রিয়ভাবে পুনরায় বুট শুরু হবে এবং সেখানে একটি "পুনঃসূচনা" কমান্ড রয়েছে। আমি নিশ্চিত যে RHEL / CentOS ব্যবহারকারীদের জন্য একটি সমমানের ইয়াম প্যাকেজ রয়েছে। (এবং হ্যাঁ, স্থানীয় ওএসএক্স ইনস্টলেশনগুলির জন্য হোমব্রিউ ইনস্টলার রয়েছে)।

যদি আপনার সমস্যা থাকেন, সেখানে একটা চমৎকার ইউটিলিটি এর /usr/share/binনামক configtest.shযে যদি খবর পাওয়া অনুমতি বা অন্যান্য ত্রুটি আছে। দ্রষ্টব্য, একটি খোলা বাগ রয়েছে যা কিছু প্রতীকী লিঙ্কগুলি যুক্ত করার পরামর্শ দেয়

আমরা এখনও উবুন্টু trusty(14.04) চালাচ্ছি ; যারা আরও সাম্প্রতিক সংস্করণগুলি চালাচ্ছেন তাদের জন্য আমি বিশ্বাস করি একটি টমকেট 8 অ্যাপটি-গেট রেপো রয়েছে।

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