পুতুল ফাইল সার্ভার
এই গাইডে পুতুলের ফাইল পরিবেশন করার ক্ষমতা ব্যবহারের বিষয়টি কভার করা হয়েছে।
পুতুল মাস্টার পরিষেবাদিতে স্থির ফাইল স্থানান্তর করার জন্য একটি ফাইল সার্ভার অন্তর্ভুক্ত। যদি কোনও ফাইল সংস্থান ঘোষণার মধ্যে একটি পুতুল থাকে: ইউআরআই এর উত্স বৈশিষ্ট্যে, নোডগুলি সেই ফাইলটি মাস্টারের ফাইল সার্ভার থেকে পুনরুদ্ধার করে:
# / etc / sudoers এ একটি রিমোট ফাইল অনুলিপি করুন
ফাইল {"/ ইত্যাদি / sudoers":
মোড => 440,
মালিক => মূল,
গোষ্ঠী => মূল,
উত্স => "পুতুল: /// মডিউল / মডিউল_নাম / sudoers"
}
সমস্ত পুতুল ফাইল সার্ভার ইউআরআই নীচে গঠনযুক্ত:
puppet://{server hostname (optional)}/{mount point}/{remainder of path}
যদি কোনও সার্ভারের হোস্টনাম বাদ দেওয়া হয় (যেমন puppet:///{mount point}/{path}
; ট্রিপল-স্ল্যাশ নোট করুন), ইউআরআই যে কোনও সার্ভারের সাথে মূল্যায়নকারী নোডকে তার মাস্টার হিসাবে বিবেচনা করবে তা সমাধান করবে। যেহেতু এটি মেনিফেস্ট কোডটি আরও পোর্টেবল এবং পুনরায় ব্যবহারযোগ্য করে তোলে, হোস্টনামগুলি যখনই সম্ভব সম্ভব বাদ দেওয়া উচিত।
পুতুলের বাকী অংশগুলি: ইউআরআই ফাইল দুটি সরবরাহ করে module
বা কোনওটির মাধ্যমে উন্মুক্ত করা হয়েছে তার উপর নির্ভর করে দুটি উপায়ের মধ্যে একটিতে সার্ভারের ফাইল সিস্টেমে মানচিত্র custom mount point
।
পরিবেশন মডিউল ফাইল
যেহেতু ফাইল সার্ভিসের বিশাল অংশটি মডিউলগুলির মাধ্যমে করা উচিত, পুতুল ফাইল সার্ভার মডিউল নামে একটি বিশেষ এবং আধা-ম্যাজিকাল মাউন্ট পয়েন্ট সরবরাহ করে যা ডিফল্টরূপে উপলভ্য। যদি কোনও ইউআরআইয়ের মাউন্ট পয়েন্টটি মডিউল হয়, পুতুল এটি করবে:
- পথের পরবর্তী বিভাগটিকে মডিউলটির নাম হিসাবে ব্যাখ্যা করুন ...
- ... সার্ভারের মডিউলপথে সেই মডিউলটি সনাক্ত করুন ("মডিউল লুকআপ" এর অধীনে এখানে বর্ণিত ...
- ... এবং সেই মডিউলটির ফাইল / ডিরেক্টরিতে শুরু হওয়া বাকী অংশটি সমাধান করুন।
এর অর্থ, সেন্ট্রাল সার্ভারের /etc/puppet/modules
ডিরেক্টরিতে টেস্ট_মডিউল নামে একটি মডিউল ইনস্টল করা থাকলে , নিম্নলিখিত পুতুল: ইউআরআই ...
puppet:///modules/test_module/testfile.txt
... নিম্নলিখিত নিখুঁত পথের সমাধান করবে:
/etc/puppet/modules/test_module/files/testfile.txt
যদি test_module
ইনস্টল করা থাকে /usr/share/puppet/modules
তবে একই ইউআরআই এর পরিবর্তে সমাধান করবে:
/usr/share/puppet/modules/test_module/files/testfile.txt
যদিও মডিউলগুলি মাউন্ট পয়েন্ট ব্যবহার করার জন্য কোনও অতিরিক্ত কনফিগারেশন প্রয়োজন হয় না, [modules]
কনফিগারেশন ব্লক যুক্ত করে কিছু অ্যাক্সেস নিয়ন্ত্রণ ফাইল সার্ভার কনফিগারেশনে নির্দিষ্ট করা যেতে পারে ; সুরক্ষা দেখুন।
কাস্টম মাউন্ট পয়েন্টগুলি থেকে ফাইল পরিবেশন করা হচ্ছে
পুতুল সার্ভারের ফাইল সার্ভার কনফিগারেশনে উল্লিখিত নির্বিচারে মাউন্ট পয়েন্টগুলি থেকে ফাইলগুলিও পরিবেশন করতে পারে (নীচে দেখুন)। একটি কাস্টম মাউন্ট পয়েন্ট থেকে ফাইল পরিবেশন করার সময়, পুতুল মডিউলগুলি মাউন্টে ব্যবহৃত অতিরিক্ত ইউআরআই বিমূর্ততা সম্পাদন করে না এবং একটি সহজ ডিরেক্টরি কাঠামো হিসাবে মাউন্টটির নাম অনুসরণ করে পাথটি সমাধান করবে।
ফাইল সার্ভার কনফিগারেশন
ফাইল সার্ভারের কনফিগারেশন ডেটার জন্য ডিফল্ট অবস্থান /etc/puppet/fileserver.conf
; --fsconfig
পুতুলের মাস্টারে পতাকাটি পাঠিয়ে এটি পরিবর্তন করা যেতে পারে ।
fileserver.conf
ফাইলটির ফর্ম্যাটটি প্রায় ঠিক এর মতো rsync
, এবং মোটামুটি কোনও আইএনআই ফাইলের অনুরূপ:
[mount_point]
path /path/to/files
allow *.domain.com
deny *.wireless.domain.com
নিম্নলিখিত বিকল্পগুলি বর্তমানে প্রদত্ত মাউন্ট পয়েন্টের জন্য নির্দিষ্ট করা যেতে পারে:
- ডিস্কে মাউন্টের অবস্থানের পথ
- নির্দেশের অনুমতি যে কোনও সংখ্যা
- নির্দেশ অস্বীকার যে কোনও নম্বর
পাথ হ'ল একমাত্র প্রয়োজনীয় বিকল্প, তবে যেহেতু ডিফল্ট সুরক্ষা কনফিগারেশনটি সমস্ত অ্যাক্সেস অস্বীকার করে, তাই কোনও নোডের জন্য কোনও অনুমতি নির্দেশাবলী সহ একটি মাউন্ট পয়েন্ট পাওয়া যায় না।
পথ যেকোনো বা সব ধারণ করতে পারে %h
, %H
আর %d
, যা পরিবর্তনশীল ক্লায়েন্টের হোস্টনাম, তার সম্পূর্ণরূপে নির্ধারিত একটি ডোমেইনের নাম এবং তার ডোমেন নাম যথাক্রমে দ্বারা প্রতিস্থাপিত হয়। সমস্ত ক্লায়েন্টের এসএসএল শংসাপত্র থেকে নেওয়া হয়েছে (সুতরাং আপনার হোস্টনাম / সার্টিফাইনের মিল না থাকলে সাবধান হন)। এটি মডিউল তৈরি করতে দরকারী যেখানে প্রতিটি ক্লায়েন্টের জন্য ফাইলগুলি সম্পূর্ণ আলাদাভাবে রাখা হয়, যেমন বেসরকারী ssh হোস্ট কীগুলির জন্য। উদাহরণস্বরূপ, কনফিগারেশন সহ
[private]
path /data/private/%h
allow *
/private/file.txt
ক্লায়েন্ট ক্লায়েন্ট 1.example.com থেকে ফাইলের জন্য অনুরোধটি কোনও ফাইল সন্ধান করবে /data/private/client1/file.txt
, যখন একই অনুরোধটি client2.example.com
ফাইলসভারে /data/private/client2/file.txt ফাইলটি পুনরুদ্ধার করার চেষ্টা করবে।
বর্তমানে পাথগুলিতে ট্রেলিং স্ল্যাশ থাকতে পারে না বা ত্রুটির ফলস্বরূপ। এছাড়াও puppet.conf
খেয়াল রাখবেন যে আপনার মধ্যে ডিরেক্টরিগুলির স্থানগুলি পিছনে রয়েছে যা নির্দিষ্ট স্থানে স্ল্যাশ রয়েছে।
নিরাপত্তা
পুতুল ফাইল সার্ভারকে সুরক্ষিত করার জন্য মাউন্ট পয়েন্ট প্রতি অ্যাক্সেসের (নির্দিষ্টকরণের বিভিন্ন স্তরে) অনুমতি দেওয়া এবং অস্বীকার করা যায়। নোডগুলির গোষ্ঠীগুলি তিনটি উপায়ে অনুমতি বা অস্বীকারের জন্য চিহ্নিত করা যায়: আইপি ঠিকানা, নাম বা একক বিশ্বব্যাপী ওয়াইল্ডকার্ড (*) দ্বারা। সমস্ত অ্যাক্সেস অস্বীকার করতে কাস্টম মাউন্ট পয়েন্টগুলি ডিফল্ট।
কাস্টম মাউন্ট পয়েন্টগুলি ছাড়াও, দুটি বিশেষ মাউন্ট পয়েন্ট রয়েছে যা পরিচালনা করা যেতে পারে fileserver.conf
: modules
এবং plugins
। এই মাউন্ট পয়েন্টগুলির মধ্যে একটিতেও কোনও বিকল্প বিকল্প নির্দিষ্ট করা উচিত নয়। কাস্টম মাউন্ট পয়েন্টগুলি থেকে ফাইল পরিবেশন করার অধীনে মডিউলগুলির মাউন্ট পয়েন্টের আচরণটি উপরে বর্ণিত হয়েছে। প্লাগইনগুলি মাউন্টটি সত্যিকারের মাউন্ট পয়েন্ট নয়, বরং পুতুল মাস্টার থেকে কোন নোডগুলিকে প্লাগইন সিঙ্ক করার অনুমতি দেওয়া হয়েছে তা নির্দিষ্ট করার জন্য fileserver.conf কে অনুমতি দেওয়ার জন্য এটি হুক is এই উভয় মাউন্ট পয়েন্টগুলি ডিফল্টরূপে এবং উভয়ই অ্যাক্সেসের অনুমতি দেয়; যদি কোনও বিশেষ মাউন্টগুলির জন্য কোনও অনুমতি বা অস্বীকারের নির্দেশনা সেট করা থাকে তবে এর সুরক্ষা সেটিংসগুলি সাধারণ মাউন্টের মতো আচরণ করবে (যেমন, এটি সমস্ত অ্যাক্সেস অস্বীকার করার ক্ষেত্রে ডিফল্ট হবে)। মনে রাখবেন যে এগুলি কেবলমাত্র মাউন্ট পয়েন্ট যার জন্য * অস্বীকার করা অপ্রয়োজনীয় নয়।
যদি নোডগুলি পুতুল ফাইল সার্ভারের সাথে সরাসরি সংযুক্ত না হয়, উদাহরণস্বরূপ একটি বিপরীত প্রক্সি এবং মংগ্রেল ব্যবহার করা হয় (মংগ্রেল ব্যবহার করা দেখুন), তবে ফাইল সার্ভারটি পুতুল এজেন্ট নোডের চেয়ে প্রক্সি সার্ভারের আইপি ঠিকানা থেকে আসা সমস্ত সংযোগগুলি দেখতে পাবে server । এই ক্ষেত্রে, হোস্টনামের ভিত্তিতে অ্যাক্সেসকে সীমাবদ্ধ করা ভাল। অতিরিক্তভাবে, বিপরীত প্রক্সি (সাধারণত 127.0.0.0/8) হিসাবে অভিনয় করা মেশিনগুলিকে প্রযোজ্য মাউন্ট পয়েন্টগুলিতে অ্যাক্সেসের অনুমতি দেওয়া দরকার।
অগ্রাধিকার
আরও নির্দিষ্ট অস্বীকার এবং বিবৃতি কম নির্দিষ্ট বিবৃতি চেয়ে অগ্রাধিকার নিতে অনুমতি দেয়; অর্থাত, নোড.ডোমেন.কমের জন্য একটি অনুমোদিত বিবৃতি এটি * .ডোমেন.কমের জন্য অস্বীকৃতি বিবৃতি থাকা সত্ত্বেও সংযুক্ত হতে দেবে। নির্দিষ্টকরণের একটি নির্দিষ্ট স্তরে, বিবৃতিগুলিকে মঞ্জুরি দেওয়ার চেয়ে অগ্রাধিকার নিতে অস্বীকার করুন।
অনির্দেশ্য আচরণের ফলে হোস্টনাম এবং ডোমেন নেম নির্দেশের সাথে আইপি ঠিকানা নির্দেশাবলী মিশ্রিত হতে পারে, তাই এটি না করার চেষ্টা করুন। (বর্তমানে, যদি নোড.ডোমেন ডটকমের আইপি ঠিকানাটি 192.168.1.80 হয় এবং ফাইলসভারসিওএনএফ-তে 192.168.1.80 এর অনুমতি থাকে এবং নোড.ডোমেন.কমকে অস্বীকার করে, আইপি-ভিত্তিক অনুমতি নির্দেশটি আসলে অগ্রাধিকার গ্রহণ করবে This এই আচরণটি পরিবর্তিত হতে পারে ভবিষ্যতে এবং নির্ভর করা উচিত নয়।)
হোস্ট নাম
হোস্টের নামগুলি একটি সম্পূর্ণ হোস্টনেম ব্যবহার করে বা * ওয়াইল্ডকার্ড ব্যবহার করে একটি সম্পূর্ণ ডোমেন নির্দিষ্ট করে নির্দিষ্ট করা যেতে পারে:
[export]
path /export
allow host.domain1.com
allow *.domain2.com
deny badhost.domain2.com
আইপি অ্যাড্রেস
সম্পূর্ণ আইপি ঠিকানা বা ওয়াইল্ড কার্ডেড ঠিকানা ব্যবহার করে আইপি ঠিকানা হোস্টের নামগুলিতে একইভাবে নির্দিষ্ট করা যেতে পারে। আপনি সিআইডিআর-স্টাইলের স্বরলিপিও ব্যবহার করতে পারেন:
[export]
path /export
allow 127.0.0.1
allow 192.168.0.*
allow 192.168.1.0/24
গ্লোবাল অনুমতি
একটি একক ওয়াইল্ডকার্ড নির্দিষ্ট করে কোনও নোডকে একটি মাউন্ট পয়েন্ট অ্যাক্সেস করতে দেবে:
[export]
path /export
allow *
নোট করুন যে কাস্টম মাউন্ট পয়েন্টগুলির জন্য ডিফল্ট আচরণটি * অস্বীকার করার সমতুল্য।