[LinuxFocus-icon]
Ev  |  Erişimdüzeni  |  İçindekiler  |  Arama

Duyumlar | Belgelikler | Bağlantılar | LF Nedir
Bu makalenin farklı dillerde bulunduğu adresler: English  Castellano  Deutsch  Francais  Nederlands  Portugues  Russian  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
tarafından Guido Socher

Yazar hakkında:

Guido, yıllardır UUCP kullanmakta ve kendi bilgisayarınızdaki e-ileti sisteminizi İnternet'e bağlamanın en iyi yolu olduğunu düşünmektedir.


İçerik:

 

UUCP üzerinden E-ileti: : Çevirmeli ağ kullanıcıları için profesiyonel çözüm

[uucp]

Çeviri: Erdal MUTLU

Özet:

UUCP, İnternet üzerinde varolan en eski protokollerdendir. UUCP'un, birçok kullanımı modern protokoller ile değiştirilmiştir, ama çevirmeli ağ kullanan yöreler'de e-ileti gönderme ve alma için yine de en iyi yöntemlerden biridir. Ne yazık ki, evden İnternet'e bağlanan birçok kullanıcı UUCP'in önemli potasniyelinden haberdar değildir ve bu servise istekte bulunmamaktadır. Bunun sonucu olarak, günümüzde servis odaklı İnternet servis sağlayıcıları, bu servisi artık sunmamaktadır.



 

Giriş

UUCP çok eski bir protokoldür ve ilk kullanımı UNIX'ler arasında dosya kopyalamak içindi. Bu yüzden adı "Unix to Unix Copy (UNIX'ten UNIX'e kopyalama)" dır. Bu ilk bilgisayarlar sürekli bir ağ bağlantısına sahip değillerdi, onun yerine çevirmeli ağ modemleri kullanarak periyodik aralıklarla dosya alış verişinde bulunurlardı.

mynotes.txt dosyasını "mars" adlı bilgisayara kopyalamak için, aşağıdaki gibi bir komut kullanılabilir:

uucp mynotes.txt mars!~/mynotes.txt
Bu geçici olarak dosyaları "spool (software pool = yazılımsal havuz) dizinine" kopyalamaktadır ve her ne zaman bu yöreye çevirmeli ağ bağlantısı kurulur, o zaman dosya fiziksel olarak, yani gerçekten kopyalanmış olacaktır.

Bugün artık UUCP'nin bu şekilde olan uygulaması pek kullanılmamaktadır. Daha modern TCP/UDP protokolleri ve sözgelimi, scp gibi uygulamalar sayesinde bilgisayarlar arasında dosya kopyalama yapılabilmektedir.

UUCP bundan fazlasını da yapabilir. Sınırlı sayıda da olsa uzaktaki sistemde komut çalıştırılmasına olanak sağlamaktadır. Standart giriş aygıtındaki bilgileri "rnews" komutuna yönlendirerek "mars" adlı bilgisayarda bunu çalıştırmak için aşağıdaki komut kullanılabilir :
cat herhangiveri.txt | uux - mars!rnews
Yine , rnews komutu, uzaktaki sistemde hemen çalıştırılmayacaktır, ancak "mars" adlı bilgisayara çevirmeli ağ bağlantısı kurulduktan sonra çalıştırılacaktır. Komut, yerel "spool dizininde" dizinde bekletilecektir.

Bunların e-ileti ile ne ilgisi var?
E-ileti genellikle öyle bir uygulamadır ki, gönderilen bilgilerin biraz bekletilmesi sorun yaratmamaktadır. Normalde siz e-iletilerinize bakar ve arkadaşlarınıza yazılacak mesajınız varsa onu yazar ve "gönderirsiniz". Ancak, tüm cevaplandırılmış mesajları göndermek için, İSS'ına kurulacak bir sonraki bağlantıya kadar tüm pencereleri açık tutmak istemezsiniz. Mesajı "gönderip" pencereyi kapatmak istersiniz. Mesajınız hemen mi gönderildi, yoksa daha sonra mı gönderilecek, sonuçta gönderileceği için, sizin için pek önemli değildir.

İşte bu uygulama şeklini, UUCP ile güvenilir ve kolayca oluşturabilirsiniz.  

Kendi e-ileti sisteminiz

UUCP esnektir. Onu, tüm bir bilgisayar ağı için kendi e-ileti sunucusu olacak şekilde yapılandırabilirsiniz. Yerel ağ üzerininde Linux bilgisayarınız, tüm farklı sistemler için merkezi bir e-ileti sunucusu olarak çalışabilir:
[Çevirmeli ağ ile
bağlı kişisel yerel ağ sistemi.]


Bu şekilde e-ileti sunucusu yapılandırmak bir aile veya küçük çaptaki bir işletme için çok etkili ve fiyat bakımından uygun olabilir. Kullanıcılarınız için istediğiniz sayıda e-ileti hesabı, üstelik İSS'ız için sadece bir çevirmeli ağ bağlantınız olmasına rağmen açabilirsiniz. Şirketler büyük bir olasılıkla periyodik olarak (saat başı) bağlantı kuracaklardır ve özel (aile) kişiler ise, başka nedenlerden dolayı olabilir.

UUCP üzerinden E-ileti kullanımı yeni bir şey değildir. Bu çok etkili, ucuz ve akkıllı bir UUCP kullanımıdır.  

Nasıl çalışmaktadır?

UUCP kullancaksanız İSS'dan MX yöresi (MX=Mail Exchange, E-ileti Değiş Tokuşu) almanız gerekecektir. Eğer, İSS'nızın ev sayfası www.my-friendly-isp.com ise, o zaman Joe Miller'e İSS'nız, miller.my-friendly-isp.com yöresini verebilir. Bu yöreye gönderilecek tüm e-iletiler, Joe Miller'in e-ileti sunucusuna UUCP üzerinden gönderilecektir. Dolayısıyla Joe, istediği sayıda kullanıcı için e-ileti adresi yapılandırabilir : joe@miller.my-friendly-isp.com, diana@miller.my-friendly-isp.com, frank@miller.my-friendly-isp.com ... Bu artık Joe'a kalmış. Linux ile birlikte pop, imap, nfs veya yerel dosya sistemi üzerinde e-ileti dağıtımı yapabilecek, parasız e-ileti sunucusu geldiğinden dolayı, istemci bilgisayarlarındaki işletim sistemi ne olursa olsun, kullanıcılar e-iletilerini kullanabileceklerdir.

UUCP tek başına bir protokol olduğundan dolayı, doğrudan modem üzerinden kullanılabilir (ppp-protokolü kullanmadan). Bunun yanında UUCP'yi TCP/UDP üzerinden de kullanabilirsiniz ve bu size yeni imkanlar verecektir:

İyi bir bağlantı hızına sahip dünyanın herhangi bir yerindeki (sözgelimi Amsterdam) bir İSS'sına abone olabilir ve İnternete herhangi bir yerel ucuz İSS'dan bağlanabilirsiniz. UUCP, TCP/UDP üzerinden çalıştığı için, E-ileti/UUCP sunucusunun fiziksel olarak yeri artık önemli değildir. Dünyanın herhangi bir yerinden İnterneti kullanılarak ona ulaşabilirsiniz.  

Yükleme

Birçok Linux dağıtımı uucp adında bir paketle ve genellikle de Tailer UUCP ile gelmektedir. Eğer, gelen CD'ler arasında yoksa, aşağıdaki adresten bulabilirsiniz:
www.airs.com/ian

UUCP'nin yanında, UUCP'yi destekleyen bir e-ileti sunucusuna da gereksinim vardır. Ben bu yazıda Sendmail'i anlatacağım, ancak diğer sistemlerin birçoğu da UUCP'yi desteklemektedir. UUCP'yi destekleyen e-ileti sisteminin yeraldığı rpm veya deb paketinde, rmail adında bir komutta vardır.

E-ileti size, uux/rnews örneğine benzer bir şekilde, uzaktan çalıştırılan bir komutla gönderilmektedir. UUCP "borusu" üzerinden gelen e-iletiyi, rmail almakta ve e-ileti sisteminize vermektedir.

Hesabınızı yapılandırmak için İSS'nın, aşağıdaki bilgilere gereksinimi vardır:
İSS'dan gereksinim duyduğunuz bilgiler şunlardır:  

Hesabınızı adım adım denetlemek.

TCP/IP üzerinden UUCP 540 nolu portu kullanmaktadır. Dolayısıyla UUCP sisteminin yapılandırılmasına geçmeden önce, hesabınızı denetleyebilirsiniz. Bu şekilde, İSS'nızın doğru hesap ve geçişsözcüğü verip vermediğinden emin olabilirsiniz. Bunun için aşağıdaki komutları çalıştırınız:
telnet uucp.my-friendly-isp.com 540
Aşağıdaki gibi bir şey elde edeceksiniz:
Trying 1.2.3.42...
Connected to uucp.my-friendly-isp.com
Escape character is '^]'.
login:
Giriş adı ve geçişsözcüğünüzü giriniz:
Trying 1.2.3.42...
Connected to uucp.my-friendly-isp.com
Escape character is '^]'.
login: linux
Password: tux.1234
Shere=mfic
Başarılı bir girişten sonra, karşı taraf "Shere" sözcüğünden sonra kendi sistemin bilgilerini cevap olarak gönderecektir. İSS'nızın verdiği bilgiler ile bunları kaşılaştırabilirsiniz.
Bağlantıyı kesmek için crtl-] bastıktan sonra, telnet satırında "q" tuşuna basınız:
^]
telnet> q
Connection closed.
Artık hesabınız ile ilgili bilgilerin doğru olduğunu biliyorsunuz.  

Kendi UUCP sisteminizi yapılandırmak

UUCP kullanarak mesaj almak ve göndermek için, kendi UUCP sisteminizi doğru bir şekilde yapılandırmanız gerekmektedir. UUCP ile ilgili yapılandırma dosyaları, genellikle /etc/uucp dizinindedir. Bunun için aşağıdaki dosyaları yaratmalı veya değiştirmelisiniz: Tüm dosyaların sahibi ile grup sahibi uucp olmak zorundadır. call dosyası diğer kullanıcıların okuyabileceği şekilde olmamalıdır (chmod 640). Log dosyaları genellikle /var/log/uucp/ dizindedir ve /var/log/spool/uucp dizininde, karşı sistemin adını taşıyan bir dizin yaratmak gerekmektedir. Dosyalarda, uucp kullanıcısına yazma hakkı verilmiş olduğundan emin olunuz.

call
# call dosyası
# Biçimi karşı-sistem-adı kullanıcı-adı geçişsözcüğü dür.
mfic linux tux.1234

port
# port dosyası
# Bu dosyayı değiştirmeye gereksinim yoktur.
type tcp
port tcp
service 540

sys
# sys dosyası
# Karşı taraftaki sistem hakkında bilgiler tanımlanmaktadır.
# İSS'nızın sistem adı:
system mfic
# İSS'nizin suncu adı:
address uucp.my-friendly-isp.com
# Sonraki 3 satırı değiştirmeyiniz.
# Ayrıntılar için Tailer UUCP kaynakyazılımlarına bakınız.
time Any 2
port tcp
chat-timeout 60
# izin verilen komutlar:
commands rmail
# Kullanıcı adı ve geçişsözcüğünü call dosyasından al:
call-login *
call-password *
# Sonraki satırı değiştirmeyin:
chat ogin: \L assword: \P
#

config
# config dosyasında diğer dosyaların sadece yoltanımları
# ve sistem adı tanımlanmaktadır.
# Sisteminizin adı:
nodename oblelix
# Karşı taraftan gelebilecek ve paralel olarak çalıştırılacak en fazla
# istek sayısı:
max-uuxqts 2
# UUCP spool dizini:
spool /var/spool/uucp
# Diğer dosyalar genellikle tanımlanmıştır:
# pubdir /var/spool/uucppublic
# logfile /var/log/uucp/Log
# statfile /var/log/uucp/Stats
# debugfile /var/log/uucp/Debug
# callfile /etc/uucp/call
# ....

Yapılandırma dosyalarını kayıt ettikten sonra, "uuchk" komutunu çalıştırınız. Bu komut büyük bir olasılıkla sbin dizinindedir: /usr/sbin/uuchk.

Komutun çıktısı, sizin yapılandırma değerlerinin yanısıra benimsenmiş olan değerleri içermektedir. Örneğimizdeki İSS'nızın sunucu adı olan uucp.my-friendly-isp.com "telefon numarası" olarak görünmektedir:

Phone number uucp.my-friendly-isp.com
Bu biraz tuhaf olmasına karşın, TCP/IP üzerinden UUCP kullanırken doğru bir şeydir. Özellikle, dizinlerin, log dosyaların ve debug dosyaların doğru yerde olup olmadığını ve kullanıcı sahiplerinin uucp olduğunu denetleyiniz.

Artık siz, UUCP üzerinden e-ileti alabileceksiniz, ancak yerel mail sunucunuzun (MTA=mail transport agent, e-ileti taşıyıcısı), İSS'da kayıtlı olan yörenizi için olan e-iletileri kullanma hakkına sahip olup olmadığını bilmesi gerekmektedir. Bizim örneğimizde bu yöre miller.my-friendly-isp.com dir. Bu yörenin yapılandırılması MTA'ya göre değişmektedir. Sendmail kullanıyorsanız, /etc/sendmail.cw dosyasındaki tek bir satıra miller.my-friendly-isp.com yazmanız gerekmektedir:

# sendmail.cw E-iletileri kullanacağımız yöre adını tanımlayınız
miller.my-friendly-isp.com
Artık UUCP kullanarak e-ileti almaya başlayabilirsiniz. Sendmail henüz tama ayarlanmadığı için e-ileti gönderemiyorsunuz.
/usr/sbin/uucico -x 11 -S mfic
komutunu çalıştırınız. mfic, my-friendly-isp.com deki UUCP sistem adıdır.

İkinci bir terminal penceresinden "tail -f /var/log/uucp/Debug" komutunu çalıştırarak olanları izleyebilirsiniz.
"-x 11" parametresi en ayrıntılı bilgi vermektedir ve sadece denetleme sırasında kullanılmalıdır. UUCP protokolünün tüm ayrıntılarını göreceksiniz. Hatalar oluşup oluşmadığına iyice bakınız. Eğer, sonunda
uucico mfic - (2001-06-22 20:20:57.73 1020) Call complete (31 seconds 42835 bytes 1381 bps)
gibi bir şey elde ederseniz, tebrikler! Herşey çalışıyor demektir.

"uulog" komutunu çalıştırarak, UUCP/rmail kullanarak aldığınız e-iletiler için özet bilgiler alabilirsiniz.

 

Sendmail'in UUCP üzerinden e-ileti gönderecek şekilde ayarlanması

Sendmail, m4 ön-işlemci (pre-processor) tabanlı yapılandırma sistemi kullanmaktadır. Postfix gibi diğer, e-ileti sistemleri daha okunabilir yapılandırma dosyaları kullandıklarından, onları değiştirmek daha kolaydır. Ben sendmail kullandığım için, sendmail ile olan deneyiminden sözedeceğim. Başka MTA'lar hakkında bilgi eklemek isterseniz, aşağıdaki yorum sayfasına yazabilirisniz. Postfix için, transport/transport.db dosyasında değişiklik yapmak yeterlidir. Ayrıca, master.cf dosyasında uucp ile ilgili tanımlamaya gereksiminiz vardır. Ancak, bu konuda benim fazla deneyimim yok.

Sendmail ile birlikte m4 yapılandırma sistemi aynı pakette yer almayabilir. Linux dağıtım CD'lerinizde "sendmail-cf" gibi adı olan bir pakete bakın ve onu yükleyim.

Sendmail'in cf dizinde, sendmail-uucp.mc adında bir dosya yaratın (byük bir olasıkla /usr/lib/sendmail-cf/cf):

#divert(-1)
# `Dışarı gidecek e-iletileri, bu yapılandırma /usr/bin/uux kullanarak
# göndermektedir.
#
# .mc dosyasından  sendmail.cf dosyasını oluşturmak için
# sendmail kaynaklarını kullanarak
# m4 thisfile.mc > sendmail.cf.'
divert(0)
include(`../m4/cf.m4')
VERSIONID(`UUCP, Jan 28 2001, without DNS')
undefine(`BITNET_RELAY')
undefine(`DECNET_RELAY')
undefine(`UUCP_RELAY')
OSTYPE(`linux')
MASQUERADE_AS(miller.my-friendly-isp.com)
MASQUERADE_DOMAIN(localdomain)
MASQUERADE_DOMAIN(localhost)
# ` ve yerel bilgisayar adlarını buraya yazınız:'
MASQUERADE_DOMAIN(philosophus)
# ` gerçekte var olmayan, içeride kullandığınız yöre
# ismi varsa, o zaman gerekmektedir: '
FEATURE(`masquerade_envelope')
FEATURE(always_add_domain)
# ` izin verilen yöreleri cw dosyasından oku: '
FEATURE(use_cw_file)
FEATURE(local_procmail)
# `uucp için önemlidir:'
FEATURE(accept_unresolvable_domains)dnl
# ` /etc/passwd dosyasındaki satır: mail:*:8:12:mail:/var/spool/mail:'
define(`confDEF_USER_ID',``8:12'')
define(`confSAFE_QUEUE',`True')
define(`confDELIVERY_MODE',`background')dnl
# 'mfic'yi İSS'nızın verdiği UUCP sistem adı ile değiştirin:'
define(`SMART_HOST',uucp-uudom:mfic)dnl
define(`confSERVICE_SWITCH_FILE',/etc/service.switch)dnl
define(`confHOSTS_FILE',/etc/hosts)dnl
define(`UUCP_MAILER_MAX',1024000)dnl
MAILER(procmail)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)dnl
Dosyayı, kendi durumunuza göre ayarlayın ve aşağıdaki komutu kullanarak derleyin:
m4 sendmail-uucp.mc > sendmail.cf
sendmail.cf dosyasını /etc dizine kopyalayın ve sendmail yeniden çalıştırın:
/etc/rc.d/init.d/sendmail restart
Yukarıdaki dizin ismi RedHat veya Mandrake için geçerlidir. SuSE, Debian vs. için farklıdır.

/etc/service.switch dosyasında
hosts   files
aliases files
kullanmalısınız. Herhangi birine bir e-ileti gönderin. Bunu, en sevdiğiniz e-ileti istemcinizle veya doğrudan UNIX komutunu kullanarak yapabilirsiniz:
echo "Merhaba john, sadece deneme yapıyorum..." | Mail john@herhangibiryer.org
Mesajınız hemen gitmeyecektir ve UUCP sisteminde kuyruğa alınacaktır. Bunu görmek için aşağıdaki komutu çalıştırabilirisniz:
uustat -a
uustat'ın çıktısı :
mfic.CRJjd4uAAAPs mfic joe 07-24 20:19 Executing rmail john@somewhere.org
(sending 50 bytes)
gibi olacaktır. Bundan sonra
/usr/sbin/uucico -x 11 -S mfic
komutunu çalıştırın. Buradaki mfic, my-friend-isp.com'daki UUCP sistem adıdır. Debug dosyasına bakarak, e-iletinizin nasıl gittiğini izleyebilirsiniz.  

Herşey otomatik

Aşağıdaki, /usr/bin/uumail betik (kabuk) dosyasını yaratın:
#!/bin/sh
hostn=uucp.my-friendly-isp.com
# İlk önce İSS'ın suncusuna ulaşıp ulaşamadığımı denetleyelim.
# Bekleme süresi verbileceğiniz, ping komutunun son
# sürümlerinden birine gereksiniminiz
# olacaktır:
if ping -w 3 -qn -c 1 $hostn > /dev/null ; then
  /usr/sbin/uucico -S mfic
  #sleep 1
  #uulog -s mfic -5
else
  echo "ERROR: $hostn erişilmiyor."
  exit 1
fi
Kabuk dosyasına çalıştırma hakkını "chmod 755 /usr/bin/uumail" komutuyla verip, elle çalıştırarak, çalıştığını denetleyiniz.

İnternete bağlandığınızda, e-ileti alış verişinde otomatik olarak bulunabilmek için /etc/ppp/ip-up dosyasına, /usr/bin/uumail satırı ekleyiniz.

Tamam, işte bu kadar. E-ileti sisteminiz ayakta ve çalışıyor.  

Yapılması gerekenler

E-ileti sisteminiz tamamiyle ayarlanmış durumdadır. Tüm kullanıcılar (/etc/passwd, adduser komutu) otomatik olarak mesaj gönderebilecek ve alacaklardır. E-iletiler geleneksel olarak konulduğu yerde, yani /var/spool/mail dizinine konulacaktır ve yerel olarak okunabilecekler. Eğer, kullanıcılarınız pop3 ve imap protokollerini kullanarak mesajlarını okumalarını istiyorsanız, /usr/sbin/imapd ve /usr/sbin/ipop3d sunucularının bulunduğu "imap" adındaki paketi yüklemeniz gerekecektir.
Bunları aktif hale getirmek için /etc/inetd.conf dosyasındaki satırları açmanız yeterlidir:
pop-3   stream  tcp     nowait  root    /usr/sbin/tcpd  ipop3d
imap    stream  tcp     nowait  root    /usr/sbin/tcpd  imapd
Eğer, xinetd sunucusnu kullanıyorsanız, bunlar ile ilgili yapılandırma dosyaları oluşturmanız gerekecektir (Konu ile ilgili Linux Focus 175 nolu yazısına) yazısına bakınız. Kullanıcılar e-iletilerine yerel ağınızdaki başka bilgisayardan ulaşacaklar ise, /etc/hosts.allow dosyasına bu bilgisayarı eklemeyi unutmayın:
# hosts.allow , tcp wrapper yapılandırma dosyası
# imap sunucusan herkes ulaşılabilir:
imapd: ALL
# pop3 sadece 2 bilgisayrdan erişilebilir:
ipop3d: 10.0.0.1, 10.0.0.2, 127.0.0.1
 

İnternet Servis Sağlayıcının (İSS) bulunması

Birçok İSS Windows odaklı olduklarından, UUCP için iyi ve gövenilir bir İSS bulunması bazen güç olmaktadır.

UUCP üzerinden E-ileti servisi sağlayan ve Almanya'da bulunan iki iyi İSS biliyorum:

İkisi de kurumdur ve servislerinden yararlanmak için kuruma üye olmak yeterlidir. Fiyatlar ayda 11 ile 20 Euro arasındadır.

Bize katılır ve maddi olarak ve/veya çalışmalarımızda yardımcı olursanız, LinuxFocus.org'ta, Linux dostu sınırlı sayıdaki kullanıcılara UUCP üzerinden e-ileti imkanı sunabiliriz. Bu konuda benimle iletişime geçebilirsiniz.

Kendi ülekenizde uygun bir İSS'ı bulmak için Google veya başka bir arama moturu kullanarak arama yapabilirsiniz. Daha küçük olan ve hizmet odaklı İSS'ları UUCP üzerinden e-ileti servisi sunuyor olabilirler.

 

Bu yazı için görüş bildiriminde bulunabilirsiniz

Her yazı kendi görüş bildirim sayfasına sahiptir. Bu sayfaya yorumlarınızı yazabilir ve diğer okuyucuların yorumlarına bakabilirsiniz.
 talkback page 

Görselyöre sayfalarının bakımı, LinuxFocus Editörleri tarafından yapılmaktadır
© Guido Socher, FDL
LinuxFocus.org

Burayı klikleyerek hataları rapor edebilir ya da yorumlarınızı LinuxFocus'a gönderebilirsiniz
Çeviri bilgisi:
en -> -- Guido Socher
en -> tr Erdal MUTLU

2001-08-25, generated by lfparser version 2.17