rsyncd.conf(5) rsync sunucusu için yapılandırma dosyası

KULLANIM

rsyncd.conf
    

AÇIKLAMA

rsyncd.conf dosyası rsync bir rsync sunucusu olarak çalışırken rsync için çalışma anı yapılandırma dosyasıdır.

rsyncd.conf dosyası kimlik kanıtlama, erişim, günlük tutma işlemleri ile kullanılabilir modülleri denetler.

DOSYA BİÇİMİ

Dosya modüllerden ve parametrelerden oluşur. Bir modül köşeli ayraç içine alınmış modül ismi ile başlar ve sonraki modüle kadar devam eder. Modüller 'isim = değer' şeklinde parametreler içerir.

Dosya satır satır işlenir. Satırsonu karakteri ile biten her satır ya bir açıklama ya bir modül ismi ya da parametredir.

Bir parametrede sadece ilk eşit işareti anlamlıdır. Eşit işaretlerinin önündeki ve ardındaki boşluklar iptal edilir. Modül ve parametre isimlerinin önündeki, ardındaki ve içindeki boşluklar iptal edilmez. Parametre değerlerinin önündeki ve ardındaki boşluklar da iptal edilir, içindekiler ise iptal edilmez.

Bir # işareti ile başlayan satırlarla tamamen boşluk karakterleri içeren satırlar yoksayılır.

Bir \ işareti ile biten satırların bir altındaki satırda devam ettiği varsayılır.

Parametrelerde eşit işaretinden sonra gelen değerler ya tamamen bir dizge (tırnak iaretleri gerekmez) ya da yes/no, 0/1 veya true/false olabilen birer mantıksal değer olabilir. Mantıksal değerlerde harf büyüklüğünün önemi yoktur, ama dizge değerlerde önemlidir.

RSYNC SUNUCUSUNUN BAŞLATILMASI

rsync sunucusu rsync'e --daemon seçeneği belirtilerek başlatılır.

Sunucu eğer chroot kullanacaksa, 1024'den küçük bir portu dinleyecekse (öntanımlı olan 873. port gibi) ya da dosya iyeliklerini belileyecekse root yetkileriyle çalışmalıdır. Aksi takdirde, verileri okuma/yazma, günlükleri kaydetme ve dosya kilitleme yetkilerine sahip olmalıdır.

Sunucuyu, inetd üzerinden veya bir kendi başına sunucu olarak ya da bir uzak kabuk üzerinden bir rsync istemciden başlatabilirsiniz. Eğer kendi başına çalışan bir sunucu olarak çalışacaksa, uygun bir başlatma betiğinden "rsync --daemon" komutu ile çalıştırılır. Eğer sunucuyu uzak kabuk üzerinden bir rsync istemci başlatacaksa (--rsh (-e) seçeneği ile "::" veya "rsync://" sunucu kipi kullanılarak), --daemon seçeneği uzak tarafa kendiliğinden aktarılacaktır.

Sunucuya inetd üzerinden çalıştıracaksanız /etc/services dosyasına şöyle bir satır:

rsync           873/tcp

ve /etc/inetd.conf dosyasına da şöyle bir satır eklemelisiniz:

rsync   stream  tcp     nowait  root   /usr/bin/rsync rsyncd --daemon

Buradaki "/usr/bin/rsync" değerini sisteminizde rsync'in kurulu olduğu yeri gösterecek şekilde değiştirin. Bundan sonra inetd'nin kendi yapılandırma dosyasını yeniden okumasını sağlamak için inetd'ye bir HUP sinyali yollamalısınız.

Yalnız, rsync sunucusunun rsyncd.conf'a dosyasını yeniden okuması için rsync'e bir HUP sinyali göndermemelisiniz. Dosya zaten her istemci bağlantısında yeniden okunacaktır.

GENEL SEÇENEKLER

Dosyadaki ilk parametreler (ilk [modül] başlığından öncekiler) genel parametrelerdir.

Ayrıca, modül parametrelerini yapılandırma dosyasının genel parametreleri arasında da belirtebilirsiniz, böyle bir parametrede belirtilen değer, modüllerde o parametrenin öntanımlı değeri olarak ele alınır ve modüllerde tekrar belirtilerek o modül için değiştirilebilir.


motd file
motd file seçeneği istemcilerin her bağlanışında onları karşılayan günün iletisini belirlemeye imkan verir. Bu ileti genellikle site bilgilerini ve yasal uyarıları içerir. Öntanımlı olarak bir motd dosyası yoktur.

log file
log file seçeneği rsync'e günlük iletileri için syslog'u kullanmamasını, burada belirtilen dosyaya kaydetmesini söyler. Bu, chroot'lu syslog() çalıştıramayan bazı sistemlerde (AIX gibi) yararlıdır.

pid file
pid file seçeneği rsync'e kendi süreç kimliğini bu dosyaya kaydetmesini söyler.

syslog facility
syslog facility seçeneği, rsync sunucusunun günlük iletileri için kullanılacak syslog oluşumunu belirtmek için kullanılır. Sisteminizde mevcut syslog uygulamalarından birini burada belirtebilirsiniz. Değer olarak belirtilebilecek isimlerden bazıları: auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6 ve local7. daemon öntanımlıdır.

socket options
Bu seçenek sistemlerini son derece iyi ayarlamak isteyenlere sonsuz olanaklar sağlar. Aktarımları daha hızlı (ya da daha yavaş) yapacak tüm soket seçeneklerini belirtebilirsiniz. Değer olarak hangi seçenekleri belirtebileceğinizi öğrenmek için setsockopt() sistem çağrısının kılavuz sayfasına bakınız. Öntanımlı olarak herhangi bir soket seçeneği belirtilmemiştir.

MODÜL SEÇENEKLERİ

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.


Bilgi:
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.


Bilgi:
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.

KİMLİK KANITLAMA DAYANIKLILIĞI

rsync'de kullanılan kimlik kanıtlama protokolü 128 bitlik MD4 temelli bir sistemdir. Takdir edersiniz ki, bu bir askeri kimlik kanıtlama sistemi değildir ve çoğu amaç için yeterlidir, ama gerçekten çok iyi bir güvenlik istiyorsanız, rsync'i ssh üzerinden çalıştırabilirsiniz.

Ayrıca, rsync sunucu protokolü, bağlantı üzerinden aktarılan veriye şimdilik herhangi bir şifreleme uygulamamaktadır. Bu sadece kimlik kanıtlama sırasında uygulanır. Aktarımın şifreli olmasını istiyorsanız ssh kullanın.

rsync'in gelecekteki sürümlerinde daha iyi kimlik kanıtlama ve şifreleme için SSL desteği olabilir, ama şimdilik sadece incelenmektedir.

RSYNC SUNUCUSUNUN UZAK KABUK ÜZERİNDEN ÇALIŞTIRILMASI

Eğer rsync hem --daemon hem de --rsh (-e) seçenkleriyle çalıştırılıyorsa, bir uzak kabuk bağlantısını kullanarak bir artalan süreci çatallayacaktır. Uzak kullanıcı root (chroot, setuid/setgid, vs.) olmadıkça, bazı yapılandırma seçenekleri kullanılabilir olmayacaktır. rsync sunucusunu bu şekilde çalıştırıyorsanız, inetd'yi rsync için yapılandırmanız gerekmez.


Dikkat:
Bir rsync sunucusunu bir tek kullanımlık ssh anahtarı olmaksızın çalıştırmak için uzak kullanıcının authorized_keys girdisinde "command=KOMUT" sözdizimini kullanın. Burada "KOMUT" şöyle olabilir:

rsync --server --daemon .


Bilgi:
rsync'in argüman çözümlemesi böyle bir komutun sonunda bir "." bekler, dolayısıyla onun olmasını sağlamalısınız. Yapılandırma dosyası olarak öntanımlı dosya yerine rsyncd.conf(5) tarzı bir yapılandırma dosyası kullanmak isterseniz, komuta bir --config seçeneği ekleyebilirsiniz:

rsync --server --daemon --config=em(file) .

Buradaki belirtilen --server seçeneği, yerel rsync'in iletişim kuracağı rsync'in uzaktaki sürümünü çalıştırmasını sağlamak içindir, bu nedenle normal şartlar altında --server seçeneğini kullanmamalısınız.

ÖRNEKLER

/home/ftp dizinindeki bir ftp'ye anonim rsync erişimi sağlayan basit bir rsyncd.conf dosyası şöyle olurdu:

[ftp]
    path = /home/ftp
    comment = ftp export area

Biraz daha ustaca bir örnek şöyle olurdu:

uid = nobody
gid = nobody
use chroot = no
max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid
[ftp]
        path = /var/ftp/pub
        comment = ftp alanının tamamı (yaklaşık 6.1 GB)
[sambaftp]
        path = /var/ftp/pub/samba
        comment = Samba ftp alanı (yaklaşık 300 MB)
[rsyncftp]
        path = /var/ftp/pub/rsync
        comment = rsync ftp alanı (yaklaşık 6 MB)
[sambawww]
        path = /public_html/samba
        comment = Samba WWW sayfaları (yaklaşık 240 MB)
[cvs]
        path = /data/cvs
        comment = CVS deposu (kimlik kanıtlama gerekir)
        auth users = tridge, susan
        secrets file = /etc/rsyncd.secrets

/etc/rsyncd.secrets dosyası ise şöyle olurdu:

tridge:mypass
susan:herpass

İLGİLİ DOSYALAR

/etc/rsyncd.conf veya rsyncd.conf

YAZILIM HATALARI VE TANI KOYMA

rsync sunucusu hata iletilerinin bazılarını istemciye yollamaz. Yani, istemci bazan aktarımın neden başarısız olduğunu anlayamaz. Hatalar sunucu üzerinde syslog tarafından günlük kayıtlarına yazılır.

Yazılım hatalarını lütfen http://rsync.samba.org/ adresindeki hata izleme sistemine raporlayınız.

SÜRÜM

Bu kılavuz sayfası rsync'in 2.x sürümleri içindir.

RSYNC HAKKINDA

rsync GNU kamu lisansı altında dağıtılmaktadır. Ayrıntılar için COPYING dosyasına bakınız.

Sanalyöremize http://rsync.samba.org/ adresinden erişebilirsiniz. Bu kılavuz sayfasında yanıtlarını bulamadığınız sorular için sanalyöremizde bir FAQ-O-Matic bulunmaktadır.

rsync'in ana ftp'si: ftp://rsync.samba.org/pub/rsync.

Bu uygulamayı istiyorsanız, sizden bunu duymak bizi mennun edecektir.

Bu uygulamada, Jean-loup Gailly ve Mark Adler tarafından yazışmış zlib sıkıştırma kütüphanesi kullanılmaktadır.

TEŞEKKÜR

Özgün fikirleri ve rsync sunucusu için gönderdiği yamalar için Warren Stanley'e teşekkür ederiz. Önerileri ve belgelere desteği için Karsten Thygesen'e teşekkür ederiz.

YAZAN

rsync ilk olarak Andrew Tridgell ve Paul Mackerras tarafından yazıldı. Daha sonra bir çok kişi tarafından geliştirildi.

Destek ve geliştirme için http://lists.samba.org adresindeki eposta listelerine bakınız.

ÇEVİREN

Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Mart 2005