Puppet - Dosya Sunucusu

Puppet, bir kurulumdaki bir makinenin üzerinde Puppet sunucu yazılımının çalıştığı sunucu makinesi olarak çalıştığı ve kalanının da üzerinde Puppet aracı yazılımı ile istemci olarak çalıştığı istemci ve sunucu kavramını takip eder. Dosya sunucusunun bu özelliği, dosyaların birden çok makineye kopyalanmasına yardımcı olur. Puppet'te dosya sunma işlevinin bu özelliği, merkezi Puppet arka plan programının bir parçası olarak gelir. Puppetmasterd ve istemci işlevi, dosya nesnesi olarak dosya özniteliklerinin kaynaklanmasında önemli bir rol oynar.

class { 'java':  
   package               => 'jdk-8u25-linux-x64',  
   java_alternative      => 'jdk1.8.0_25',  
   java_alternative_path => '/usr/java/jdk1.8.0_25/jre/bin/java'  
}

Yukarıdaki kod parçacığında olduğu gibi, Puppet'ın dosya sunma işlevleri, dosya hizmeti modülünü destekleyerek yerel dosya sistemi topolojisini özetler. Dosya sunma modülünü aşağıdaki şekilde belirteceğiz.

“puppet://server/modules/module_name/sudoers”

Dosya formatı

Kukla dizin yapısında, varsayılan olarak dosya sunucusu yapılandırması altında bulunur. /etc/puppet/fileserver.config dizin, kullanıcı bu varsayılan yapılandırma dosyası yolunu değiştirmek isterse, bu yeni yapılandırma bayrağı kullanılarak yapılabilir. puppetmasterd. Yapılandırma dosyası INI dosyalarına benzer, ancak tam olarak aynı değildir.

[module] 
path /path/to/files 
allow *.domain.com 
deny *.wireless.domain.com

Yukarıdaki kod parçacığında gösterildiği gibi, üç seçenek de yapılandırma dosyasında temsil edilmektedir. Modül adı bir şekilde parantez içinde yer alır. Yol, gereken tek seçenektir. Varsayılan güvenlik seçeneği, tüm erişimi reddetmektir, bu nedenle herhangi bir izin satırı belirtilmezse, yapılandırılacak modül herkesin kullanımına açık olacaktır.

Yol,% d,% h ve% H'nin herhangi birini veya tamamını içerebilir ve bunlar dinamik olarak etki alanı adı, ana bilgisayar adı ve tam nitelikli ana bilgisayar adıyla değiştirilir. Hepsi istemcinin SSL sertifikasından alınır (bu nedenle, ana bilgisayar adı ve sertifika adında uyuşmazlık varsa dikkatli olun). Bu, her bir istemcinin dosyalarının tamamen ayrı tutulduğu modüller oluşturmak için kullanışlıdır. Özel ana bilgisayar anahtarları için örnek.

[private] 
path /data/private/%h 
allow *

Yukarıdaki kod parçacığında, kod istemciden /private/file.txt dosyasını aramaya çalışıyor. client1.vipin.com. Bunu /data/private/client1/file.txt dosyasında arayacak, client2.vipin.com için aynı istek dosya sunucusundaki /data/private/client2/file.txt dosyasını almaya çalışacaktır.

Güvenlik

Puppet, Puppet dosya sunucusunda dosyanın güvenliğini sağlamanın iki temel kavramını destekler. Bu, belirli dosyalara erişime izin vererek ve gerekli olmayan dosyalara erişimi reddederek elde edilir. Puppet varsayılan olarak hiçbir dosyaya erişime izin vermez. Açıkça tanımlanması gerekiyor. Erişime izin vermek veya reddetmek için dosyalarda kullanılabilen format IP adresi, adı veya genel izin kullanmaktır.

İstemci Puppet dosya sunucusuna doğrudan bağlı değilse, örneğin bir ters proxy ve Mongrel kullanarak, bu durumda dosya sunucusu tüm bağlantıları Puppet istemcisinden değil proxy sunucusundan geldiğini görecek. Yukarıdaki durumlarda, ana bilgisayar adını ana bilgisayar adı temelinde sınırlamak en iyi uygulamadır.

Dosya yapısını tanımlarken dikkat edilmesi gereken önemli bir nokta, tüm deny ifadelerinin allow ifadesinden önce çözümlenmesidir. Bu nedenle, herhangi bir reddet ifadesi bir ana bilgisayarla eşleşirse, bu ana bilgisayar reddedilecek ve sonraki dosyalara izin verme ifadesi yazılmamışsa, ana bilgisayar reddedilecektir. Bu özellik, belirli bir sitenin önceliğini belirlemede yardımcı olur.

Ana Bilgisayar Adı

Herhangi bir dosya sunucusu yapılandırmasında, dosya ana bilgisayar adı, tam bir ana bilgisayar adı kullanılarak veya aşağıdaki örnekte gösterildiği gibi * joker karakterini kullanarak tüm bir etki alanı adı belirtilerek iki şekilde belirtilebilir.

[export] 
path /usr 
allow brcleprod001.brcl.com 
allow *.brcl.com 
deny brcleprod002.brcl.com

IP adresi

Herhangi bir dosya sunucusu yapılandırmasında, dosya adresi, tam IP adresi veya joker karakter adresi kullanılarak ana bilgisayar adlarına benzer şekilde belirtilebilir. CIDR sistem gösterimi de kullanılabilir.

[export] 
path /usr 
allow 127.0.0.1 
allow 172.223.30.* 
allow 172.223.30.0/24

Küresel İzin

Global izin, kullanıcı herkesin belirli bir modüle erişmesini istediğinde kullanılır. Bunu yapmak için, tek bir joker karakter, herkesin modüle erişmesine izin vermeye yardımcı olur.

[export] 
path /export 
allow *