পুতুল থেকে মাউন্ট করা পার্টিশন (fstab + মাউন্ট পয়েন্ট) কীভাবে পরিচালনা করবেন


14

আমি পুতুল থেকে মাউন্ট করা পার্টিশন পরিচালনা করতে চাই যার মধ্যে /etc/fstabমাউন্ট পয়েন্ট হিসাবে ব্যবহৃত ডিরেক্টরিগুলি সংশোধন করা এবং তৈরি করা উভয়ই রয়েছে । mountরিসোর্সের ধরনের মধ্যে আপডেট fstabঠিক সূক্ষ্ম, কিন্তু ব্যবহার fileমাউন্ট-পয়েন্ট তৈরি করার জন্য একটি বিট কূট হয়।

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

আমি এখনই এটি ব্যবহার করছি:

define extra_mount_point(
    $device,
    $location = "/mnt",
    $fstype = "xfs",
    $owner = "root",
    $group = "root",
    $mode = 0755,
    $seltype = "public_content_t"
    $options = "ro,relatime,nosuid,nodev,noexec",
) {
    file { "${location}/${name}":
        ensure  => directory,
        owner   => "${owner}",
        group   => "${group}",
        mode    => $mode,
        seltype => "${seltype}",
    }

    mount { "${location}/${name}":
        atboot  => true,
        ensure  => mounted,
        device  => "${device}",
        fstype  => "${fstype}",
        options => "${options}",
        dump    => 0,
        pass    => 2,
        require => File["${location}/${name}"],
    }
}

extra_mount_point { "sda3": 
    device   => "/dev/sda3",
    fstype   => "xfs",
    owner    => "ciupicri",
    group    => "ciupicri",
    $options => "relatime,nosuid,nodev,noexec",
}

যদি এটি গুরুত্বপূর্ণ হয় তবে আমি পুতুল -২২.৪.৪-১.ফসি 13.noarch.rpm এবং পুতুল-সার্ভার-0.25.4-1.fc13.noarch.rpm ব্যবহার করছি।


PS undefমালিক, গোষ্ঠী এবং অনুমতিগুলির জন্য সূক্ষ্মভাবে কাজ করে, তবে সেলইনাক্সের পক্ষে নয়। পার্টিশনগুলি ইতিমধ্যে মাউন্ট করা থাকলে, পুতুল অভিযোগ করেন:

puppetd[18052]: Failed to set SELinux context system_u:object_r:public_content_t:s0 on /mnt/sda3
puppetd[18052]: (/File[/mnt/sda3]/seluser) seluser changed 'unconfined_u' to 'system_u'
puppetd[18052]: Failed to set SELinux context unconfined_u:object_r:mnt_t:s0 on /mnt/sda3
puppetd[18052]: (/File[/mnt/sda3]/seltype) seltype changed 'public_content_t' to 'mnt_t'

মাউন্ট করা পার্টিশনের অনুমতিগুলি হ'ল:

drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 /mnt/sda3/

পুতুল দ্বারা নির্মিত মাউন্ট পয়েন্টের অনুমতিগুলি হ'ল:

 drwxr-xr-x. root root system_u:object_r:mnt_t:s0       /mnt/sda3/

পিপিএস আমি এই অদ্ভুত আচরণের জন্য একটি বাগ রিপোর্ট করেছি ।

উত্তর:


9

আপনি পুতুলকে সেট করে কোনও প্রদত্ত মেটাপ্যারামিটার পরিচালনা না করতে বলতে পারেন undef

file { "${location}/${name}":
    ensure                  => directory,
    owner                   => undef,
    group                   => undef,
    mode                    => undef,
    selinux_ignore_defaults => true,
}

এই ইভেন্টে, ডিরেক্টরিটি মাউন্ট করার আগে উপস্থিত না থাকলে, এটি ব্যবহারকারী এবং গোষ্ঠী হিসাবে তৈরি করা হবে যা puppetdসম্ভবত (মূল: চাকা) হিসাবে শুরু হয়েছিল এবং একটি ডিফল্ট উমাস্ক সহ। পুতুল এটি তৈরির সময় বা পরবর্তী কোনও রানের জন্য কী সেট করা যায় তা নিয়ে চিন্তা করবে না।


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


undefকৌতুকটি করেছে ডিরেক্টরিগুলি নীচে অনুমতি নিয়ে তৈরি করা হয় rwxr-xr-x. root root system_u:object_r:mnt_t:s0যা আমার সাথে ভাল।
ক্রিশ্চিয়ান সিউপিতু

1
দয়া selrange => undef, selrole => undef, seltype => undef, seluser => undef,করে উত্তরে যুক্ত করুন।
ক্রিশ্চিয়ান সিউপিতু

"নিশ্চিত => মাউন্ট করা" দিয়ে ফাইল সিস্টেমের রুট পরিচালনা করার চেষ্টা করা পুতুলের ঝুঁকি কি থাকবে না?


2

আমার একটি কাস্টম ফ্যাক্ট আছে (লিনাক্স কেবল এটিএম এর সাথে কাজ করে) যা বর্তমানে সিস্টেমে সমস্ত মাউন্ট করা লোকাল মাউন্টগুলি ফিরিয়ে আনবে। এটি মারাত্মক সহজ, তবে আমার জন্য কাজ করে - দেখে মনে হচ্ছে আপনি এটির জন্যও কিছু ব্যবহার খুঁজে পেতে পারেন। যাইহোক, আমি এটিকে গিথুবে ফেলে দিয়েছি: https://github.com/justintime/puppet/tree/master/justintime-localmounts

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