Genel seçeneklerden sonra her biri belli bir isim altında belli bir dizin ağacını sunan çok sayıda modül belirtebilirsiniz. Modüller köşeli ayraç içine alınmış bir isim ile başlar ve bunun altında seçenekler bulunur.
- comment
Modül isminden sonra modülü açıklayan bir dizge belirtmek için kullanılır. Öntanımlı bir değeri yoktur.
- path
Modülün sunacağı ağacın dosya yoludur. Her modül için bu seçenek belirtilmiş olmalıdır.
- use chroot
use chroot seçeneğinin değeri true ise, rsync sunucusu istemciye aktarıma başlamadan önce path ile belirtilen dizine chroot yapacaktır. Bu, gerçeklenimde bulunması olası güvenlik açıklarına karşı ek bir tedbir olarak kullanılabilir. Ancak, bir götürüsü vardır, ayrıcalıklı kullanıcı yetkileri gerektirir. Aktarım ağacının dışına yönlenmiş ya da mutlak dosya yolu belirtilmiş sembolik bağların izlenmemesi için ve kullanıcı/grupların korunmasının karmaşıklığı (aşağıya bakınız) sebebiyle bu gerekli olur.
use chroot seçeneğinin değeri false ise, güvenlik sebepleriyle, sembolik bağların hedefleri sadece ağaç içinde kalan göreli dosya yolları olarak belirtilmesi ve mutlak dosya yolu belirten yolların sonundaki bölü çizgilerinin kaldırılması gerekir (--backup-dir, --compare-dest gibi seçeneklerle belirtilen argümanlar chroot belirtilmiş gibi modülün path dizininini kök dizin kabul eden dosya yolları olarak değerlendirilir). true öntanımlıdır.
Kullanıcı ve grup isimlerinin korunması sırasında, rsync isimlere ve kimliklere bakmak için standart kütüphane işlevlerini kullanabilir olmalıdır (getpwuid(), getgrgid(), getpwname() ve getgrnam() gibi işlevler). Bu, chroot isimalanındaki bir sürecin bu kütüphane işlevleri tarafından kullanılan özkaynaklara (/etc/passwd ve /etc/group) erişiminin mümkün olmasına ihtiyacı olacağı anlamına gelir. Bu özkaynaklara erişim mümkün değilse, rsync, --numeric-ids seçeneği belirtilmiş gibi sadece kimlikleri kopyalamakla yetinecektir.
| Not |
---|
chroot alanındaki kullanıcı/grup bilgilerini normal sisteminizden farklı olarak ayarlayabilirsiniz. Örneğin, mevcut kullanıcı ve grup listelerini kısaltabilirsiniz. Ayrıca, bu bilgilerin aktarılmasını rsync.conf dosyasına bir dışlama seçeneği ("exclude = /etc/**" gibi ) ekleyerek önleyebilirsiniz. Alıcı taraf olarak dışlamaların belirtilebilmesi rsync'te nispeten yeni bir özellik olduğundan, bu özelliğin etkili olmasını istiyorsanız en azından 2.6.3 sürümü bir rsync kullanmalısınız. Ayrıca, bir dizini ve içeriğini dışlamanın en güvenilir yolu "/bir/dizin/" kuralı ile "/bir/dizin/**" kuralını birlikte belirterek rsync'in dizin içinde daha derinlere inerek dışlanmış dosyaların aktarmasını önlemektir (rsync zaten öntanımlı olarak bunu böyle yapmayı deneyecektir ama emin olmak için bunu ayrıca belirtmek daha iyidir). |
- port
rsync sunucusunun öntanımlı olarak dinlediği 873. port yerine başka bir port belirtmek için bu seçeneği kullanabilirsiniz. Sunucu inetd tarafından çalıştırılıyorsa bu seçenek yoksayılacaktır, bu sorun --port komut satırı seçeneği ile aşılabilir.
- address
Sunucunun öntanımlı olarak dinleyeceği IP adresini bu seçeneği kullanarak değiştirebilirsiniz. Sunucu inetd tarafından çalıştırılıyorsa bu seçenek yoksayılacaktır, bu sorun --address komut satırı seçeneği ile aşılabilir.
- max connections
Aynı anda sunucuya yapılacak bağlantıların sayısını sınırlamakta kullanılır. Bir istemci bağlandığında bu sayıda bağlantı zaten mevcutsa istemci daha sonra tekrar denemesini belirten bir ileti alacaktır. Öntanımlı değer bir sınırın olmadığını belirten 0'dır. Ayrıca, lock file seçeneğinin açıklamasına da bakınız.
- max verbosity
Sunucunun üreteceği bilgilerin ayrıntı seviyesini (bunlar günlük kaydı olacağından) ayarlama imkanı sağlar. İstemciye en fazla bir ayrıntı seviyesi sağlamak üzere öntanımlı değeri 1'dir.
- lock file
max connections seçeneği tarafından kullanılacak dosyayı belirtmek için kullanılır. Bu dosyayı paylaşan modüller için izin verilen bağlantı sayısının aşılmamasını sağlamak için rsync sunucusu bu dosyayı kilit dosyası olarak kullanır. Öntanımlı kilit dosyası /var/run/rsyncd.lock'dur.
- read only
İstemcilerin modül dizinlerine dosya yüklemesi yapıp yapamayacağını belirlemek için kullanılır. Eğer değer true ise istemcilerin dosya yükleme istekleri başarısız olacaktır, false ise dosya izinleri mümkün kılıyorsa dosya yüklemeleri mümkün olacaktır. Öntanımlı olarak bütün modüller salt-okunurdur.
- write only
İstemcilerin modül dizinlerinden dosya indirme yapıp yapamayacağını belirlemek için kullanılır. Eğer değer true ise istemcilerin dosya indirme istekleri başarısız olacaktır, false ise dosya izinleri mümkün kılıyorsa dosya indirmek mümkün olacaktır. Öntanımlı bir değer atanmamıştır.
- list
İstemci kullanılabilir modüllerin listesini istediğinde bu modülün listelenip listelenmeyeceğini belirtmek için kullanılır. false değeri modülün gizli kalmasını sağlar. Öntanımlı olarak modül listede görünür.
- uid
Sunucu root olarak çalıştırılıyorsa, modüldeki dosya aktarımlarının hangi kullanıcı ismi ya da kimliği ile yapılacağını belirtmek için kullanılır. gid seçeneği ile birlikte dosya izinlerini belirlemekte yararlıdır. Öntanımlı kullanıcı kimliği, normalde "nobody" kullanıcısının kimliği olan -2'dir.
- gid
Sunucu root olarak çalıştırılıyorsa, modüldeki dosya aktarımlarının hangi grup ismi ya da kimliği ile yapılacağını belirtmek için kullanılır. uid seçeneği ile birlikte dosya izinlerini belirlemekte yararlıdır. Öntanımlı grup kimliği, normalde "nobody" grubunun kimliği olan -2'dir.
- filter
Sunucunun okunmasına ve yazılmasına izin vermeyeceği süzme kurallarını bu seçenekte aralarında boşluk bırakarak belirtebilirsiniz. Bu seçenek sadece, istemcinin --filter seçeneği ile kalıp belirtmesine yüzeysel olarak eşdeğerdir. Sadece bir filter seçeneği belirtilebilir, fakat değer olarak katıştırma dosyası kuralları dahil çok sayıda kural belirtilebilir. Diziniçi katıştırma dosyası kuralları genel kurallar olarak pek bir koruma sağlamaz, ama bir istemci sunucudaki dosyaları indirirken --delete seçeneklerinin daha iyi çalışması için kullanılabilir (eğer, diziniçi katıştırma dosyaları aktarıma dahil ediliyorsa).
- exclude
exclude seçeneği sunucuda okunması ve yazılmasına izin verilmeyen dosyaları boşluk ayraçlı bir liste olarak belirtmekte kullanılabilir. Bu seçenek sadece, istemcinin --exclude seçeneği ile kalıp belirtmesine yüzeysel olarak eşdeğerdir. Sadece bir exclude seçeneği belirtilebilir, fakat içerme/dışlama belirten kalıplardan önce "+" ve "-" kullanabilirsiniz.
Bu dışlama listesi istemciye aktarılmadığından sadece sunucu tarafında uygulanır: yani, bir istemcinin sunucudan alacağı dosyalardan belirtilenler dışlanırken, sunucuya gönderilenler sunucudan silinecektir. Ancak, bu işlem bir sunucuya göre alıcı taraf olan istemcide, sunucu tarafta dışlanan dosyaların silinmesine sebep olmaz.
- exclude from
Her satırında bir dışlama kalıbı bulunan bir dosyayı sunucuya belirtmekte kullanılır. Bu seçenek sadece, istemcinin --exclude-from seçeneğiyle eşdeğer bir dosya belirtmesine yüzeysel olarak eşdeğerdir. Yukarıdaki exclude seçeneğine bakınız.
- include
include seçeneği sunucuda dışlanmayacak dosyaları boşluk ayraçlı bir liste olarak belirtmekte kullanılabilir. Bu seçenek sadece, istemcinin --include seçeneği ile kalıp belirtmesine, sadece sunucu tarafında uygulanabildiğinden yüzeysel olarak eşdeğerdir. Karmaşık içerme/dışlama kuralları belirtilebilmesini mümkün kılması nedeniyle yaralıdır. Sadece bir include seçeneği belirtilebilir, fakat içerme/dışlama belirten kalıplardan önce "+" ve "-" kullanabilirsiniz. Yukarıdaki exclude seçeneğine bakınız.
- include from
Her satırında bir içerme kalıbı bulunan bir dosyayı sunucuya belirtmekte kullanılır. Bu seçenek sadece, istemcinin --include-from seçeneğiyle eşdeğer bir dosya belirtmesine yüzeysel olarak eşdeğerdir. Yukarıdaki exclude seçeneğine bakınız.
- auth users
Virgül ya da boşluk ayraçlı bir liste olarak, bu modüle bağlanmasına izin verilecek kullanıcıların isimlerini belirtmekte kullanılır. Kullanıcı isimlerinin sunucuda mevcut olması şart değildir. Ayrıca kullanıcı isimleri, dosyaismi kalıp karakterlerini içerebilir. Seçenek etkinse, modüle bağlanacak kullanıcı bir kullanıcı ismi ve parola belirtmek zorundadır. Kimlik kanıtlama protokolü bir nöbetçinin kimlik ve parola sorması gibi gerçekleşir. Salt metin kullanıcı isimleri ve parolaları, ismi secrets file seçeneği ile belirtilen dosyada saklanır. Öntanımlı olarak tüm kullanıcılar bir parola belirtmeksizin bağlanabilir (buna "anonim rsync" denir).
Ayrıca,
rsync(1) kılavuz sayfasının BİR RSYNC SUNUCUSUNA BİR UZAK KABUKTAN BAĞLANMAK bölümünde, bir
rsync sunucusuna uzak kabuk üzerinden bağlanırken kullanılan kullanıcı isimleri ile
rsyncd.conf seviyesi kullanıcı isimleri arasında kullanıcı isimlerinin elde edilmesi bakımından ne farklar olduğu açıklanmıştır.
- secrets file
Bu modüle erişimde kimlik kanıtlamasında kullanılacak kullanıcıismi:parola çiftlerini içeren dosyanın ismini belirtmekte kullanılır. Bu dosyaya sadece auth users seçeneği belirtilmişse bakılır. Dosya satır satır işlenir ve her satırında bir kullanıcıismi:parola çifti bulunur. Bir # işareti ile başlayan her satır açıklama olarak ele alınır ve yoksayılır. Parolalarda her karakter kullanılabilir, fakat, bazı işletim sistemlerinde parola uzunluklarında sınırlamalar olabileceğinden parolaların 8 karakterden uzun olmaması daha iyidir.
Öntanımlı bir secrets file değeri yoktur. Bu bakımdan bu seçenekle bir dosya ismi belirtmelisiniz (/etc/rsyncd.secrets gibi). Dosya "diğer"leri tarafından okunabilir olmamalıdır; strict modes seçeneğine bakınız.
- strict modes
secrets file seçeneği ile belirtilen dosya üzerindeki izinlerin dikkate alınıp alınmayacağı bu seçenekle belirtilebilir. Seçeneğin değeri "true" ise, rsync sunucusunun altında çalıştığı kullanıcı kimliğine sahip kullanıcıdan başkasi için okunabilir olmamalıdır. Seçeneğin değeri "false" ise, kulanıcının kim olduğuna bakılmaz. Öntanımlı değer "true"dur. Bu seçenek, Windows işletim sisteminde çalışan rsync'in hatırına eklenmiştir.
- hosts allow
Bu seçenekte bağlanmak isteyen istemcilerin makine adı ve IP adreslerinin kalıplarının bir listesi belirtilebilir. Belirtilen kalıplarla eşleşmeyen bağlantılar reddedilir.
Her kalıp şu beş biçimden biri olarak belirtilebilir:
a.b.c.d biçiminde bir IPv4 adres ya da a:b:c::d:e:f biçiminde bir IPv6 adres. IP adresi bu biçimde belirtilmişse bağlanmak isteyen makinenin IP adresi belirtilen adreslerden biriyle tam olarak eşleşmelidir.
ipaddr bir IP adresi ve n ağ maskesindeki bir sayısı olmak üzere ipaddr/n biçiminde bir adres/maske çifti. Bağlanmak isteyenlerin IP adresleri belirtilen IP adres ailesi ile eşleşmelidir.
ipaddr bir IP adresi ve maskaddr ağ maskesinin IPv4 veya IPv6 biçimindeki adresi olmak üzere ipaddr/maskaddr biçiminde bir adres/maskeadresi çifti. Bağlanmak isteyenlerin IP adresleri belirtilen IP adres ailesi ile eşleşmelidir.
Bir makine adı. Kalıp üzerinde tersine bir arama ile saptanabilecek bir makine adı (harf büyüklüğüne duyarlı). Sadece bir eşleşmeye izin verilir.
Dosya ismi kalıp karakterleri kullanılmış bir makine ismi. Eşleşme normal unix dosya ismi eşleşme kuralları uygulanarak gerçeklenir. Kalıpla eşleşen istemcilere izin verilir.
IPv6 bağ-yerel adresleri şu adres belirtimlerinden biri olabilir:
fe80::1%bag1
fe80::%link1/64
fe80::%link1/ffff:ffff:ffff:ffff::
hosts allow seçeneğini ayrı bir hosts deny seçeneği ile birarada kullanabilirsiniz. Eğer her iki seçenekte belirtilmişse, önce hosts allow seçenekleri sınanır ve eşleşen bir istemcinin bağlanmasına izin verilmeden önce hosts deny seçenekleri sınanır ve eşleşme varsa istemci reddedilir. Eğer istemci her iki seçeneğin kalıpları ile eşleşmiyorsa, istemcinin bağlanmasına izin verilir.
Öntanımlı bir hosts allow seçeneği yoktur, dolayısıyla öntanımlı olarak tüm makinelerin bağlanmasına izin verilir.
- hosts deny
Bu seçenekte bağlanmak isteyen istemcilerin makine adı ve IP adreslerinin kalıplarının bir listesi belirtilebilir. Belirtilen kalıplarla eşleşen bağlantılar reddedilir. Daha fazla bilgi için hosts allow seçeneğine bakınız.
Öntanımlı bir hosts deny seçeneği yoktur, dolayısıyla öntanımlı olarak tüm makinelerin bağlanmasına izin verilir.
- ignore errors
rsyncd'nin aktarımın silme fazında, G/Ç hatalarını yoksayıp saymayacağını bu seçenekle belirtebilirsiniz. Normalde, geçici bir özkaynak yetmezliği ya da başka bir G/Ç hatasından dolayı bir felakete yol açabilecek silme işlemlerini engellemek için bir G/Ç hatası oluştuğunda --delete adımını atlar. Bazı sınama durumlarında bu seçeneği kullanarak bu davranışı ortadan kaldırabilirsiniz.
- ignore nonreadable
Kullanıcı tarafından okunamayan dosyaları sunucunun yoksaymasını sağlar. Bu seçenek, halka açık arşivlerde dizinlerde bazı okunamayan dosyalar olduğunda ya da sistem yöneticisinin başkalarının görmesini istemediği dosyalar olduğunda yararlıdır.
- transfer logging
FTP sunucularında kullanılana benzer biçimde her dosya için yükleme ve indirme ile ilgili günlük kayıtları tutulmasını sağlar. Sunucu günlük kaydını daima aktarımın sonunda yaptığından, aktarım bir nedenle kesilirse, günlük dosyasında bu aktarıma ilişkin bir kayıt bulunmayacaktır.
Günlük kayıtlarını özelleştirmek istiyorsanız log format seçeneğinin açıklamasına bakınız.
- log format
Aktarımın günlüklenmesi etkinse atkarımın günlük kayıtlarının nasıl biçimleneceğini bu seçenek ile belirleyebilirsiniz. Biçim, bir yüzde (%) karakteri ile başlayan tek karakterlik belirteçler içeren bir dizgedir.
Öntanımlı günlükleme biçimi "%o %h [%a] %m (%u) %f %l" olup log file seçeneği kullanılırken başına daima bir "%t [%p] " getirilir. (rsync kaynak paketinin support dizinindeki rsyncstats isimli bir perl betiği bu öntanımlı günlük biçimini içermektedir.)
Kullanılabilecek tek karakterlik belirtimler şunlardır:
%h uzak makine ismi
%a uzak IP adresi
%l bayt cinsinden dosya uzunluğu
%p rsync oturumunun süreç kimliği (PID)
%o "send", "recv" veya "del." olarak yapılan işlem
(sonuncusu bir nokta ile biter)
%f dosya ismi (gönderici için tam dosya yolu;
sonuna "/" gelmez)
%n dosya ismi (sadece dosya ismi; dizinle "/" ile biter)
%L bir " -> SYMLINK" veya bir " => HARDLINK" ya da
boş dizge (bağ bir dosya ismi ise)
%P modülün yolu
%m modülün ismi
%t günlükleme tarih ve saati
%u doğrulanmış kullanıcı ismi (ya da boş)
%b gerçekte aktarılan bayt miktarı
%c dosyalar gönderilirken bu dosya için alınan
sağlama toplamı baytlarının sayısı
%i liste halinde güncellenenler
%i tarafından çıktılanan karakterlerin ne anlam geldiğini öğrenmek için rsync kılavuz sayfasındaki --itemize-changes seçeneğinin açıklamasına bakınız.
| Not |
---|
Eski rsync sürümleri ile çalışırken bazı günlük çıktıları değişebilir. Örneğin, rsync 2.6.4 öncesinde silinen dosyalar sadece ayrıntı iletileri şekline günlükleniyordu. |
- timeout
İstemcinin G/Ç zamanaşımı seçimini bu modül için değiştirmek içindir. Bu seçeneği kullanarak sunucunun ölü bir istemciyi sürekli beklememesini sağlayabilirsiniz. Zamanaşımı süresi saniye cinsinden belirtilir. Sıfır değeri bir zamanaşımı sözkonusu olmadığını belirtir ve öntanımlıdır. Bir anonim rsync sunucusu için 600 saniye iyi bir seçim olur.
- refuse options
Bu seçenekte, rsync sunucunuz tarafından reddedilecek rsync komut satırı seçeneklerini aralarına boşluk koyarak belirtebilirsiniz. Seçeneğin uzun veya kısa ismini ya da çok sayıda seçenekle eşleşecek şekilde bir joker dizge olarak belirtebilirsiniz. Örneğin, --checksum (-c) ve çeşitli silme seçeneklerini reddetmek için şöyle yazabilirsiniz:
refuse options = c delete
Yukarıda belirtilen sebeple, silme seçeneği, ister --delete şeklinde açıkça ister başka bir seçenek tarafından dolaylı olarak belirtilmiş olsun reddedilecektir. Ek bir güvenlik özelliği olarak, "delete"in reddedilmesi, sunucu gönderen tarafken, gönderilen dosyaların silinmesini de (--remove-sent-files seçeneğini) reddeder; bunun olmasını istemiyorsanız reddedilen seçenekler olarak "delete-*" belirtin. Bu durumda --delete- ile başlayan tüm silme seçenekleri reddedildiği halde --remove-sent-files seçeneği bundan etkilenmez.
Bir seçenek reddedildiğinde, sunucu bir hata iletisi basar ve çıkar. Sıkıştırmayı engellemek için ve bir istemci sıkıştırma istediğinde bir hata dönmemesi için "refuse options = compress" yerine "dont compress = *" (aşağıya bakın) kullanabilirsiniz.
- dont compress
Bu seçenekte dosyaismi kalıpları kullanarak belirttiğiniz dosyalara, aktarım sırasında sıkıştırma uygulanmamasını sağlayabilirsiniz. Sıkıştırma işlemci kullanımını arttırır, dolayısıyla zaten sıkıştırılmış olan dosyalar gibi sıkıştırılması gerekmeyen dosyaların sıkıştırılmaya çalışılmaması için yararlıdır.
Değer olarak, dosyasismi kalıplarını aralarında boşluk bırakarak belirtebilirsiniz (değerler harf büyüklüğüne duyarlıdır). İsimleri kalıplarla eşleşen dosyalar aktarım sırasında sıkıştırılmazlar.
*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz öntanımlıdır.