Unix Sunucu Bölümleme ve Dosya Sistemi Düzeni


29

Unix sunucusu hakkında internette bölümlendirme konusunda birçok çelişkili bilgi var, bu yüzden nasıl devam edeceğimiz konusunda bir tavsiyeye ihtiyacım var.

Şimdiye kadar, test ortamımızdaki sunucularda bölümlendirmeyi gerçekten umursamıyordum ve tek bir monolitik /artı bir takas bölümü oluşturdum. Bu bölümlendirme şeması, üretim sunucularımız için iyi bir fikir gibi görünmüyor. Burada iyi bir başlangıç ​​noktası buldum , ancak ayrıntılarda çok belirsiz görünüyor.


Temelde temel bir LAMP yığını çalıştıracağım bir sunucum var (Apache, PHP ve MySQL). Dosya yüklemeleriyle uğraşmak zorunda kalacak (2GB'a kadar). Sistem 2 TB RAID 1 dizisine sahiptir.

Ayarlamayı düşünüyorum:

/         100GB 
/var     1000GB (apache files and mysql files will be here), 
/tmp      800GB (handles the php tmp file)
/home      96GB
swap        4GB

Bu aklı başında mı geliyor yoksa aşırı karmaşık mıyım?


1
Son hedefiniz nedir? Tam olarak neyi başarmak istiyorsun?
Scott Pack

9
Bununla birlikte, onu oymaya karar verirseniz, bölümlerinizi tanımlamak için LVM'yi kullanmanızı ve sonra da alanı muhafazakar olarak ayırmanızı ve bazı disk alanlarını ayrılmadan bırakmanızı öneririm. Ardından, bir yerde daha fazla alana ihtiyacınız olduğuna karar verdiğinizde, LV ve dosya sistemini genişletebilirsiniz.
ktower

Yanıtlar:


33

Bölmelerinizi düzenlerken akılda tutulması gereken şeylerden biri başarısızlık modlarıdır. Genellikle bu soru şu şekildedir: " x bölümü dolduğunda ne olur ?" Sevgili voretaq7, durumu /teşhis etmek için herhangi bir sayıda zorluğa yol açan tam olarak ortaya çıktı. Daha özel durumlara bakalım.

Bölüm depolama günlükleriniz doluysa ne olur? Denetim / raporlama verilerini kaybedersiniz ve bazen saldırganlar tarafından etkinliklerini gizlemek için kullanılır. Bazı durumlarda, oturum açma olaylarını kaydedemiyorsa sisteminiz yeni kullanıcıları doğrulamaz.

RPM tabanlı bir sistem dolduğunda ne olur /var? Paket yöneticisi paketleri yüklemez veya güncellemez ve yapılandırmanıza bağlı olarak sessizce başarısız olabilir.

Bir bölümü doldurmak kolaydır, özellikle bir kullanıcı yazabiliyorsa. Eğlence için, bu komutu çalıştırmak ve oldukça büyük bir dosya yapmak ne kadar hızlı bakın: cat /dev/zero > zerofile.

Ayrıca bölümleri doldurmanın ötesine geçer, farklı montaj noktalarına konumlar yerleştirdiğinizde montaj seçeneklerini de özelleştirebilirsiniz.

/dev/Takılı olmadığında ne olur noexec? Yana /devgenellikle işletim sistemi tarafından korunduğu göz önüne alınmıştır ve sadece gizlemek kötü niyetli programlara kullanılan o (bazen hala ve) sık sık oldu cihazları ihtiva edilmektedir. Ayrılmak noexec, orada depolanmış ikili dosyaları başlatmanıza izin verir.

Tüm bu nedenlerden dolayı ve daha fazlası, birçok sertleştirme kılavuzu bölümlendirmeyi gerçekleştirilecek ilk adımlardan biri olarak tartışacaktır. Aslında, yeni bir sunucu oluşturuyorsanız, diski nasıl bölümleyeceğinize karar vermeniz gereken ilk şey ve neredeyse sonradan değiştirmek en zor olanıdır. İnternet Güvenliği Merkezi adlı ve kolay okunabilen konfigürasyon rehberleri üreten bir grup var . İşletim Sisteminiz için bir rehber bulabilir ve söyleyebilecekleri özellikleri görebilirsiniz.

RedHat Enterprise Linux 6'ya bakarsak, önerilen bölümlendirme şeması şöyledir:

# Mount point           Mount options
/tmp                    nodev,nosuid,noexec
/var                    
/var/tmp                bind (/tmp)
/var/log
/var/log/audit
/home                   nodev
/dev/shm                nodev,nosuid,noexec

Tüm bu değişikliklerin arkasındaki ilke, birbirlerini etkilemelerini önlemek ve / veya belirli bir bölümde neler yapılabileceğini sınırlamaktır. Mesela seçenekleri al /tmp. Bunun söylediği, orada hiçbir cihaz düğümü oluşturulamadığı, oradan hiçbir program çalıştırılamadığı ve set-uid bitinin hiçbir şeye ayarlanamadığıdır. Doğası gereği, /tmpneredeyse her zaman dünyaya yazılabilir ve çoğu zaman sadece bellekte var olan özel bir dosya sistemi türüdür. Bu, bir saldırganın kötü niyetli kodu bırakmak ve yürütmek için kolay bir hazırlık noktası olarak kullanabileceği, ardından sistemin çökmesi (veya basitçe yeniden başlatılması) olarak tüm delilleri temizleyeceği anlamına gelir. İşlevselliği /tmpbu işlevselliğin herhangi birini gerektirmediğinden, özellikleri kolayca devre dışı bırakabilir ve bu durumu önleyebiliriz.

Günlük depolama yerleri, /var/logve /var/log/auditkaynak tükenme onlara tampon yardımıyla kapalı oyulmuştur. Ek olarak, auditd kayıt saklama alanı dolmaya başladığında bazı özel şeyler (genellikle daha yüksek güvenlik ortamlarında) gerçekleştirebilir. Bölümüne yerleştirerek bu kaynak algılama daha iyi performans gösterir.

Daha ayrıntılı olmak ve alıntı yapmak için mount(8), yukarıda kullanılan seçeneklerin aynısıdır:

noexec Monte edilmiş dosya sisteminde herhangi bir ikili dosya çalıştırılmasına izin vermeyin. (Yakın zamana kadar /lib/ld*.so / mnt / binary gibi bir komut kullanarak ikili dosyaları çalıştırmak mümkün oldu. Bu numara Linux 2.4.25 / 2.6.0'dan bu yana başarısız oluyor.)

nodev Dosya sistemindeki karakterleri yorumlamayın veya özel cihazları engellemeyin.

nosuid Set-kullanıcı tanımlayıcısının veya set-grup tanımlayıcısının bitlerinin etkili olmasına izin vermeyin. (Bu güvenli görünüyor, ancak suidperl (1) kurulu ise aslında güvenli değil.)

Güvenlik açısından bunlar, dosya sisteminin kendisine koruma koymanıza izin vereceklerinden, bilmeleri gereken çok iyi seçeneklerdir. Çok güvenli bir ortamda noexecseçeneği bile ekleyebilirsiniz /home. Standart kullanıcı için veri işleme için kabuk komut dosyaları yazmayı zorlaştırır, günlük dosyalarını analiz eder, ancak ayrıcalıkları yükseltecek bir ikili dosya çalıştırmalarını da önler.

Ayrıca, kök kullanıcının varsayılan giriş dizini olduğunu unutmayın /root. Bu araçlar da olacaktır /dosya sistemi, değil de /home.

Her bir bölüme tam olarak ne kadar verdiğiniz, sistemin iş yüküne bağlı olarak büyük ölçüde değişebilir. Yönettiğim tipik bir sunucu nadiren kişi etkileşimi gerektirecek ve böylelikle /homebölümün çok büyük olması gerekmeyecek. Aynısı, /varsık sık yaratılan ve silinen geçici verileri saklama eğiliminde olduğu için de geçerlidir . Bununla birlikte, bir web sunucusu tipik /var/wwwolarak oyun alanı olarak kullanır , yani bunun ayrı bir bölmede /var/olması ya da büyük hale getirilmesi gerekir.

Geçmişte aşağıdakileri referans olarak tavsiye ettim.

# Mount Point       Min Size (MB)    Max Size (MB)
/                   4000             8000
/home               1000             4000
/tmp                1000             2000
/var                2000             4000
swap                1000             2000
/var/log/audit       250

Bunların, sistemin amacına ve ortamınızın nasıl çalıştığına göre gözden geçirilmesi ve ayarlanması gerekir. Ayrıca LVM kullanmanızı ve tüm diski tahsis etmeyi tavsiye ederim. Bu, eğer gerekli olursa kolayca büyümenizi veya bölümler eklemenizi sağlar.


1
noexecGözlem genelde önemli biridir - monte etmek iyi uygulamaların kabul edilir /tmpile noexectarayıcı güvenlik açıkları yoluyla zararlı kullanıcıların yükleme rootkitleri önlemek için bayrak. Benzer şekilde /homesık sık monte edilir nosuidçünkü setuid ikili dosyalarının orada bulunmasının bir nedeni yoktur. Re: /devve noexec, çoğu (hepsinde olmasa da) modern sistemler /devgenellikle bir devfsdosya sistemidir ve kullanıcıların düzenli dosyalar oluşturmasına / saklamasına izin vermez (FreeBSD'de " Operation not supported" döndürür " ", Ubuntu'da udevüzerine kurulu dosya sistemi /devdüzenli dosyalar oluşturmanıza izin verir. ).
voretaq7

2
@ voretaq7: Evet, /tmpatlama pedi olarak kullanmak her zaman orada olduğu ve neredeyse hiç kilitlenmediği için çok eğlenceli.
Scott Pack

Tez önerileri için teşekkür ederiz. Güvenliği arttırdığı için noexec'i kontrol edeceğim!
Buzut

12

Temel RAID dizisini görmezden gelme ( RAID dizi düzeyleri ve bunları ne zaman kullanmak istediğiniz hakkında daha fazla ayrıntı için bu soruya bakın ), soracağınız ana soruya odaklanalım:
"Unix sunucumun dosya uçlarını nasıl düzenlemeliyim?"


Dev bir /bölümün nesi var ?

Sorunuzda belirttiğiniz gibi, birçok Linux dağıtımı (özellikle Ubuntu gibi "Desktop" dağıtımları) çok basit bir dosya sistemi düzeni kullanıyor: /ve [swap].

Bu planın basitliği avantajı var - ev bilgisayarlarına "sabit diski" olan büyük bir monolitik konteyner olarak kullanılan DOS / Windows kullanıcıları için harika C:\, ve endişelenmenize gerek yok dosya sistemlerinde boş alan kalmaması hakkında - yalnızca diskin kapasitesinin altında kaldığınızdan emin olun ve her şey (en azından teorik olarak) gayet iyi.

Tekli dosya sistemi şemasının birkaç dezavantajı vardır - en sık alıntı yapılan dezavantaj, kök dosya sistemi dolduğunda (önyüklemeyi reddetme noktasına) ve her şey yazılsa bile /(root) Unix sistemlerinin çok kötü tepki gösterme eğilimindedir. tek yönlü bir program veya kullanıcı tüm sistemi çökertebilir.
Tek bir büyük dosya sistemi, bir sistem çökmesi ve ardından dosya sisteminin bozulması durumunda toplam bir kayıp olma eğilimindedir.

Yukarıdaki sorunlar ve güçlü bir organizasyon anlayışı, Unix sunucularının genellikle birden fazla dosya sistemine sahip olmalarının nedenidir.


Unix dosya sistemini nasıl parçalıyorsunuz?

Bu yüzden umarım çok sayıda dosya sistemine sahip olmanın mantıklı olduğuna ikna olmuş olursunuz. Şimdi sorun şu ki, sistemi mantıksal parçalara nasıl ayırıyorsunuz ve her birinin ne kadar alana sahip olacağına nasıl karar veriyorsunuz?
Cevap, işletim sisteminizin nereye koyacağını bilmeniz ve anlamanızdır. Bu anlayışın başlangıç ​​noktası hierman sayfasıdır. Çoğu Unix sistemleri (ile gelen man hierbir Linux sisteminden ve man hierbir BSD sisteminden ) ve bu artı kod ne yerel bilgi size yüklüyorsanız aklı başında bir bölümleme düzeni oluştururken size yol yapacak.

Burada genel bir bölümleme şemasını tanımlayacağım, ancak bu şema her zaman sizin özel ihtiyaçlarınızı karşılamak için değiştirilmelidir.

Genel Unix Bölümleme Şeması

/
    The "root partition", /, does not usually need to be very large.
    It holds the basic items needed to boot the system, mount other filesystems
    and get you to a running, usable, multi-user environment.  It's also what
    is available to you when you bring up the system in single-user ("recovery")
    mode.  
    The contents of / should not change or grow substantially over time.

    NOTE: Anything that doesn't go on one of the other partitions described
          below will wind up taking space on the root partition (/).

/var
    The /var filesystem holds variable data -- log files, email, and on some
    systems databases (like MySQL or Postgres) store their data files here.  
    `/var` should be "Big Enough" to hold all the data you intend to cram into
    it.  I generally advise 10GB for systems that won't have a database or email
    server (just logs).  If you are building a database or mail server you
    should obviously make `/var` larger, or carve out separate filesystems for
    the database/mail data.

/usr
    The /usr filesystem holds "userland" programs, data, manual pages, etc.
    This is where things like the Firefox browser binary live.  On systems that
    will have a lot of large user applications this filesystem may be very large
    (100GB or more), and on stripped-down servers it may be relatively small.  
    A good rule of thumb is that the /usr filesystem should be twice as large
    as you need it to be in order to fit your initial installation of programs.

/home
    The /home filesystem holds user home directories, and on desktop systems is
    the largest and most prone to filling up.  When you download files from the
    internet, create spreadsheets, store a music library, etc. that data is
    stored in your home directory, and it adds up fast.
    It's important to allow enough room under /home for the "accumulated junk"
    you will gather over time, even on servers -- ad-hoc tarball backups, 
    package files you copied over to install, and the like.

Özel Dosya Sistemleri

/tmp and /var/tmp
    The temporary scratch space (/tmp) is "special" -- on most Unix systems
    the contents of /tmp are cleared on reboot, and on many modern systems
    /tmp is a special "tmpfs" (RAM) filesystem for better performance.
    /var/tmp is usually "persistent temporary files" (like vi recovery
    files), and is not cleared on reboot
    The same general rule applies as for all other filesystems: Make sure
    your temporary scratch filesystems are big enough to hold the stuff you
    want to put in them.

[swap]
    Swap Space is used by the kernel when you are running low on RAM --
    The old general rule of thumb was to have at least twice as much swap
    as you did RAM, however on modern systems it's usually sufficient to
    have "enough" swap -- 2GB is a practical lower limit, and an amount
    between half the installed RAM and the total installed RAM is usually
    adequate.
    On modern systems with relatively huge RAM pools (12G and up) it is
    probably not practical to use the system if it's swapping heavily
    enough to warrant the old "Twice the installed RAM" rule.

2
Listelediğiniz iki neden, bugün büyük ölçüde eskidir. [234] root için bir miktar alan ayırır ve kullanıcı programlarının hepsini kullanmasına izin vermez, böylece sistem alanın dışında olma problemleriyle karşılaşmaz ve tüm modern dosya sistemlerinde günlük kaydı kullanılır, bu sayede bozulmayacaklardır. çarpma.
psusi

2
@ psusi Kök kullanıcısı için ayrılan alan (genellikle dosya sistemi boyutunun% 5-10'u), kök kullanıcısı diski dolduran dosyaları yazan kişi ise (genellikle günlük dosyalarında olduğu gibi) size yardımcı olmaz. Ayrıca, bir dosya sisteminin günlüğe kaydedilmesi nedeniyle her zaman yolsuzluğa karşı güvenli olacağını varsaymak yanlıştır - günlüğe kaydetme sağlamlığı artırır, ancak güvenliği garanti etmez (özellikle dosya sisteminde / günlük kodunda keşfedilmemiş bir hataya rastlarsanız ve günlüğü kısarsanız) - ReiserFS millet bu dosya sisteminin ilk günlerinden bu konuda bazı harika hikayeler anlatabilir).
voretaq7

2
Bozulmamış /usrveya bozuk /varolması durumunda yardımcı olmamak /. Aynı şekilde bozulmamış /olması /home, bozulmuşsa (çok) yardımcı olmaz . Her iki şekilde de yedekten geri yüklemek zorunda kalıyorsun. Yeni / dengesiz bir fs çalıştırmadığınız sürece bu tür başarısızlıkların milyonda bir olduğunu söylememelisiniz.
psusi

4

Böyle bir dosya sistemi oluşturma pratiği, hiçbir yazılım baskının olmadığı günlerden beri ve disk sürücülerinin küçük olması nedeniyle, birçoğunu kullanmak zorunda kaldınız ve böylece bunu yapmanın tek yolu dosya sistemini yıkmaktı. ve farklı sürücülere farklı dizinler yerleştirin. Bunun diğer tarihi nedeni dump, kök ile yapamayacağınız bir bölümü ve yedeğini kolayca çıkarabilmenizdir. Bu araç bugünlerde büyük ölçüde lehine düştü ve bunun yerine kök üzerinde bile LVM anlık görüntüsünde kullanılabilir.

Bunu daha fazla yapmak için hiçbir sebep yok. Bunu yapmak için geriye kalan tek neden, örneğin, /tmptüm diski doldurmak istemiyorsanız olur .

Bu sebep, genel kabuk erişimine sahip kullanıcıları provizyona sokmak için yol açtığı ve bugünlerde sunucular web veya posta sunucuları gibi özel servisler çalıştığından, bu günlerde büyük oranda önemsiz. İsteğe bağlı komutları çalıştırabilecek rastgele kullanıcılarınız olmadığından, dosya sisteminizi doldurmaya çalışırken genellikle endişelenmenize gerek yoktur (ve bunu yaparken bile bunu durdurmak için disk kotalarınız vardı).

Hangi baskın seviyesinin kullanılacağına gelince, baskın yapmanın asıl amacının verileri korumak değil (yedeklemeler içindir) ama çalışma süresini korumak olduğunu hatırlamanız gerekir. Eğer /tmpbir baskın0 koyarsanız, o zaman sunucunuz hala düşecektir ve disklerden biri arızalanırsa tamir etmeniz gerekecektir. Ayrıca raid1 yerine raid10 kullanmak isteyebilirsiniz, böylece daha iyi performans elde edebilirsiniz.

Dosya sisteminden ayrılmamanın çok iyi bir nedeni, tahsisleri yanlış yaparsanız, başka bir yerde bol miktarda boş alan olmasına rağmen, dosya sisteminin bir kısmı tamamen doludur. LVM kullanıyorsanız ve atanmamış bir yer bırakmadıysanız, bunu düzeltmek zor olabilir.


4
Geleneksel olarak bir Unix dosya sistemini oluşturmaya devam etmenin birçok nedeni var. Sysadmins değildir - bu artık durdu olurdu yapmak için bir neden yoktur olsaydı OLDUĞUNU :) oynamasından geleneklerine bağlı
voretaq7

1
@ voretaq7, sonra biraz isim verin. Yapamazsan, o zaman kör olduğunu aptalca olduğunu varsaymakla körü körüne.
psusi

1
Geleneksel bilgeliği kör papağandan ziyade gerçekte karşı bir argüman sağlamak için aşağı yönelmiş olanlar olacaktır.
psusi,

2
Doldurma yoluyla her şeyi almasını / var / log tutar. Bir dosya sisteminde yolsuzluğu sınırlar. Anlık görüntüleri ya da çaprazlama kurallarını takma olsun olmasın, yedeklemeleri basitleştirir, genellikle işleri farklı programlarda yedeklemek ister. Görüntüleme / yükseltme işlemlerini kolaylaştırır. Görevle ilgili dosya sistemi tabanlı performansın seçilmesine izin verir.
Jeff Ferland

1
@JeffFerland, en iyi ihtimalle kendi bölümüne / var / log koymak için zayıf bir nedendir, ancak diğer birkaç bölüm için değildir. Hala kullanmıyorsanız dump, fs'nin farklı bölümlerini yedeklemek, bu bölümlerin farklı bölümlerde bulunmasını gerektirmez. Yükseltmeler bir şekilde ya da diğerini umursamıyor. Görüntüleme, işleri yapmanın da iyi bir yolu değildir.
psusi

3

Disk alanı yetersiz beslenirken, bölümleme bilgilerinin çoğu üretildi. Sonuç olarak, bazı durumlar için nispeten küçük bölümler göreceksiniz. Gerekli bölüm boyutları sunucu kullanımına bağlı olarak değişir. En değişken olma eğilimi /tmp, /var, home, /opt, ve /srv. /usrmakul ve istikrarlı bir boyutta olma eğilimindedir. Alan /, diğer bölümlerin herhangi birini veya tümünü ve alan gereksinimlerini içerebilir. Boyutlandırma, sistemi ne yaptığınıza gerçekten bağlıdır.

Ben artıracak swapve montaj /tmpüzerine tmpfs. Daha /tmpsonra bir takas mağazası olarak takas kullanacaksınız, ancak mevcutsa belleği kullanacaksınız. /tmpGörünüşünüzün boyutu çok yüksek, ancak temizlenmemiş iptal edilmiş yüklemeyi kaldıracak.

MySQL dosyalarını taşımayı düşünürdüm /srv. Bu, disk hiyerarşisinde nispeten yeni bir seviyedir.

Nihai gereksinimlerinizi bilmiyorsanız LVM'yi kullanmayı ve bölümlerinizi dolgu olarak genişletmeyi düşünün.


Takası arttırırken dikkatli olun - "Yeterince" takas yapmak iyidir, ancak çok fazla kullanmayacaksanız asla kullanmazsınız (çünkü takas ettiğinizde sistem performansının çok fazla acı verici olduğunu). Sorunda önerilen 4G'nin bir LAMP yığını için muhtemelen "yeterli" olduğunu söyleyebilirim - eğer 4G'lik bir takas kullanıyorsanız (ve aslında bu verileri içeri ve dışarı sayfalama yapıyorsanız) muhtemelen telefonda da çığlık atıyorsunuzdur. web sitesi yavaş :) olduğunu
voretaq7

1
@ voretaq7 Aktif programlar için kullanıyorsanız, boyut değişiminin ne olduğu önemli değil. Büyük dosyaların diske yazıldığı ancak daha küçük dosyaların bellekte kaldığı tmpfs için kullanmak, takasın makul bir kullanımıdır. Amaç başka bir yere koymak olduğunda, her dosyayı diske yazmaya kaydeder. Takas alanını arttırmayı önerdim çünkü geniş bir /tmpalanın gerekebileceğini düşündüm.
BillThor

Neden takas için normal bir dosya kullanmıyorsunuz? Uzun süredir özel bir takas bölümü kadar hızlı olmadılar mı?
Chris Smith,

@ChrisSmith Normal bir dosya neredeyse ayrılmış bir bölüm kadar hızlı olmalıdır, ancak G / Ç isteklerini bölmeye neden olan diskte bitişik olmayabilir. Bu, şeritleme ile yapılabilir. Ayrıca, bir takas dosyasını yanlışlıkla silmek oldukça kolaydır. Silinen dosya, sistem yeniden başlatılıncaya kadar, takas alanı artık açılmadığında ortaya çıkmayacaktır.
BillThor

@BillThor Bu doğru - tmpfsdestek deposu olarak takas alanını kullanıyorsanız ve takas alanını beklediğinizde, tmpfs taleplerinizi karşılamak için "yeterli" takas alanınız ve ayrıca sistem için uygun bir rezerviniz olmalıdır. (Bu normalde düşündüğüm bir şey değil, kullandığım tek sistem tmpfsbir RAM artığına sahip olduğundan ve hızlı bir şekilde oluşturulan / silinen minik dosyalar için geçici alanı kullanıyorum çünkü kullanmam gereken sistem değiş tokuşa çarpmayacak şekilde yapılandırılmış :)
voretaq7

2

Mimarinize bağlı olarak - aslında her yeniden başlatmadan sonra silindiği gibi / tmp kullanmak istemeyebilirsiniz. Siteniz yükleme işlemlerinin sonuçta işlenmesiyle ilgiliyse, bunu başka bir yere (php.ini aracılığıyla) değiştirmek bir fikir olabilir; İçinde herhangi bir bağlama noktası yapabileceğin bir yer.

Daha önce önerildiği gibi, LVM ve artırmanın gerektiği şekilde kullanılması şiddetle önerilir.

Ayrıca MySQL verileri için ayrılmış bir bölüm de öneririm (yine de / var / lib / mysql altına bağlayabilirsiniz).


Dosyaların /tmpdaha sonra orada olamayacağını varsaymak genellikle iyi bir fikirdir - sizi daha sonra hoş olmayan sürprizlerden kurtarır :-)
voretaq7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.