পুতুল ব্যবহার করে সমস্ত ক্লায়েন্টের কাছে কীভাবে ফাইল অনুলিপি করবেন?


8

আমি কীভাবে পুতুল ব্যবহার করে সমস্ত ক্লায়েন্টের কাছে ফাইলগুলি অনুলিপি করব? আমি একটি পুতুল সার্ভার এবং ক্লায়েন্ট সেটআপ করেছি এবং আমি সংযোগটি ভালভাবে কাজ করে যাচাই করেছি। আমি একটি পুতুল বিশেষজ্ঞ নই, আমি কেবল একজন শিক্ষানবিস এবং আমি কেবল পুতুল সার্ভার থেকে সমস্ত ক্লায়েন্টের কাছে কীভাবে ফাইলগুলি অনুলিপি করব তা জানতে চাই? আমি কীভাবে ফাইলগুলি মুছতে হয় তা জানতে চাই?


1
আড্ডায় জর্জি থেকে: ডকস.পুপেটল্যাবস / গাইডস / ফাইল_সার্ভিং html একটি উত্তর হিসাবে লিঙ্কটি অনুলিপি করেছেন।
রিঞ্জউইন্ড

উত্তর:


8

পুতুল ফাইল সার্ভার

এই গাইডে পুতুলের ফাইল পরিবেশন করার ক্ষমতা ব্যবহারের বিষয়টি কভার করা হয়েছে।


পুতুল মাস্টার পরিষেবাদিতে স্থির ফাইল স্থানান্তর করার জন্য একটি ফাইল সার্ভার অন্তর্ভুক্ত। যদি কোনও ফাইল সংস্থান ঘোষণার মধ্যে একটি পুতুল থাকে: ইউআরআই এর উত্স বৈশিষ্ট্যে, নোডগুলি সেই ফাইলটি মাস্টারের ফাইল সার্ভার থেকে পুনরুদ্ধার করে:

# / 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 *

নোট করুন যে কাস্টম মাউন্ট পয়েন্টগুলির জন্য ডিফল্ট আচরণটি * অস্বীকার করার সমতুল্য।


হাই @ রিনজউইন্ড আপনি যদি আমি যা চাই ঠিক উত্তরটি যুক্ত করেন তবে এটি দুর্দান্ত হবে।
karthick87

ভাল জর্জের লিঙ্কটি / এই উত্তরটি এই কাজটি করা শুরু এবং এটি "পুতুল ব্যবহার করে সমস্ত ক্লায়েন্টের কাছে কীভাবে ফাইলগুলি অনুলিপি করব?" এই প্রশ্নের উত্তর দেয়? আপনার বিবেচনা করা উচিত সেই সুরক্ষা সহ এর সমস্ত অভাব ফাইলগুলি সরানোর একটি পদ্ধতি। আমি এটি অন্তর্ভুক্ত করব (এই উত্তরের শেষ বিটটি নিরাপদে এটি করা সম্পর্কে আরও বেশি সম্ভবত এটি অপসারণ করা আরও ভাল হতে পারে)।
রিনজউইন্ড

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