Guido Socher (homepage)
Yazar hakkında:
Guido mükemmel derecede Linux bilgisayarları ile
bütünleştiğinden, UUCP e-mail'e (elektrohik postaya) gerçekten benziyor.
Türkçe'ye çeviri:
Bahar Zora <zorbahar(at)yahoo.com>
İçerik:
|
uucpssh.org: Linux Hayranları İçin UUCP e-posta
Özet:
Windows dünyasında gelen e-postalar POP3 veya IMAP yoluyla alınır,
giden e-postalar SMTP yoluyla dogrudan gonderilir. Bilhassa siz her
zaman farklı ISP'ler kullanıyorsanız, bu ayrık kurulum birçok çeşit
başağrısına neden olabilir.
UUCP eski bir protocol olmasına rağmen e-posta almak ve göndermek
için
gerçekten zeki bir çözümdür. uucpssh.org bazı esnek sevketme
özellikleri de sunar.
_________________ _________________ _________________
|
Giriş
uucpssh.org Linux kullanıcıları için gerçekten iyi bir e-posta çözümü
sunar. UUCP e-posta taşınımını SSH güvenliği ile birleştirir, ve
bazı
esnek sevketme secçenekleri sunar.
UUCP eski bir protokoldur, ve aslında Unix sistemleri arasında çeşitli
dosyaların kopyalanmasında kullanılmaktaydı. Bu yüzden adı :
"Unix'den
Unix'e kopyalama". İlk bilgisayar sistemleri sürekli ağ (network)
yoluyla bağlanmamaktaydı. Yerine, düzenli zaman aralıklarında veri
değişimleri yapan çevirmeli (dialup) modem bağlantıları
kullanılmaya
başlandı. UUCP e-posta veya haberler gibi "yığın iş"
karakteristiğine
sahip şeyleri taşımak için idealdir.
Bugün artık UUCP genel dosya taşıması için kullunılmamaktadır.
Bununla
beraber, özellikle sık sık hareket halindeyseniz, e-posta için hala
iyidir. Uçakta kablosuz olarak internete bağlandıysanız, evdeki
ağla
tamamen aynı şekilde postalarınızı alabilir ve gonderebilirsiniz.
Tek
bir sistem düzenleme parametresi bile değiştirmek zorunda
değilsiniz.
Teknik Bölüm
Şimdi SSH bağlantısıyla UUCP üzerinden e-posta düzenlemesinin
nasıl
yapıldığını görelim.
XP veya 98 vb. altında düzenlemenin nasıl olacağını merak
edenler,
Linux'a ihtiyacınız var. Genelde Linux veya Unix sistemlere özgü
bir çözümdür.
Genelde bir e-posta sistemi postada nerede yazdığını ve okuduğunu
belirten MUAs (posta kullanıcıları acentaları) ve posta-sunucuları
olarak bilinen MTAs (posta taşıma acentaları) ndan oluşur. MUA
örnekleri mutt, Kmail, Thunderbird, vb... MTA'lar bir bilgisayardan
diğerine postayı taşırlar. UUCP/SSH taşıma protokolleri MTA'lar
arası
bağlantıda kullanırız.
Diğer bir ifadeyle, gelen ve giden e-posta için SMTP yerine UUCP
kullanmak için Linux bilgisayarımızda yerel bir posta sunucusu
düzenleyeceğiz.
UUCP bir taşıma aracıdır ve bizim daimi internete bağlı
olmadığımız
gerçeğini MTA'dan gizler. Bir yığın gibi olan postaların
taşınmasını önemser.
Sonuç olarak SSH, UUCP'i kapsamak ve uucpssh.org e bağlanmak için
kullandığmız bir protokoldur.
uucpssh.org UUCP e-postayı kullanabilmek için tam bir etki alanına
(domain'e) sahip olmalısınız. Çünkü yönlendirme her bir etki
alanı ismi
bazında yapılır. Daha sonra Linux makinedeki yerel MTA farklı
kullanıcılar için postaları sınıflandıracaktır.
uucpssh.org sadece her bir etki alanı bazında postaları
sınıflandırdığından, kullanıcı kısmına ("@" işaretinden önceki kısma)
geldiğinde tam bir esnekliğe sahip olacaksınız. İstediğiniz kadar çok
takma isimler (aliasses) ve kullanıcılar yaratabilirsiniz.
MX Etki Alanı Ne Demek?
Bir etki alanı ismi linuxfocus.org gibi birçok insana muhtemel
anlaşılır gelen bir şeydir.Bir etki alanına sahip olabilmek için
bir
DNS sunucusuna ihtiyaç vardır. Protokol seviyesindeki internet,
isimler
ile değil sayılarla, IP adresleriyle çalışır. DNS sunucusu ismi
IP
adresine dönüştürür ve sonra bu sayi servis sağlayıcılar
(hosts)
(örneğin, web sunucuları veya posta sunucuları) arasında
bağlantı
kurmak için kullanılır.
Eğer web sayfaları ve ftp için fiziksel olarak farklı host'lara
sahip
olmak istiyorsanız onlara farklı isimler vermek zorundasınız. Örneğin,
linuxfocus.org ve ftp.linuxfocus.org
Bu durum e-posta için geçerli değildir. Çünkü posta için MX
(posta
değiştiricisi) denen özel bir DNS kaydı vardır. Bir host'da
(linuxfocus.org) web sayfalarınıza, uucpssh.org da e-postanıza sahip
olabilirsiniz ve ayrıca e-postanıza linuxfocus.org (veya
etki_alanı_ismi@linuxfocus.org) yoluyla ulaşabilirsiniz.
Diğer bir ifadeyle uucpssh.org'ı çalıştırdığınızda sadece MX
etki
alanını çalıştırmış olacaksınız.
Kurma, MTA Bölümü
MTA'nın düzenlenmesi ile başlayacağız. Makalede exim, postfix and
sendmail'i tartışacağız. Bunlardan biri UUCP için iyidir.
Exim 3
Bu kısmı exim.conf dosyasının ana bölümüne (en üstüne)
ekleyiniz:
trusted_users = uucp
primary_hostname = your.own.mail.domain
local_domains = your.own.mail.domain
Taşıma bölümüne ekleyiniz:
# Transport for uucp
uucp:
driver = pipe
user = nobody
command = "/usr/bin/uux -r - ${host}!rmail ${pipe_addresses}"
return_fail_output = true
Yönlendirme bölümünün başlangıcına (!) ekleyiniz:
# Router for uucp (which domains are uucp domains):
# This must come before lookuphost!
uucphost:
transport = uucp
driver = domainlist
route_list = * uucpssh byname
exim -bV komutu ile yapılan düzenlemeyi deneyiniz ve sonra exim'i
yeniden çalıştırınız. (/etc/init.d/exim restart)
Exim 4
Aşağıdaki notları exim.conf dosyasına ekleyiniz:
trusted_users = uucp
primary_hostname = your.own.mail.domain
domainlist local_domains = your.own.mail.domain
domainlist relay_to_domains =
hostlist relay_from_hosts = 127.0.0.1
Taşıma bölümüne ekleyiniz:
# Transport for uucp
uucp:
driver = pipe
user = uucp
command = "/usr/bin/uux -r - ${host}!rmail ${pipe_addresses}"
path = /usr/local/bin:/usr/bin:/bin
return_fail_output
Yönlendirme bölümünün başlangıcına ekleyiniz:
# Router for uucp (which domains are uucp domains):
# This must come at the beginning of the router section
uucphost:
transport = uucp
driver = manualroute
domains = ! +local_domains
route_list = * uucpssh byname
exim -bV komutu ile yapılan düzenlemeyi deneyiniz ve sonra exim'i
yeniden çalıştırınız. (/etc/init.d/exim restart)
Sendmail
Sendmail, düzenleme sistemini temel alan bir m4 ön-işlemcisi
kullanır.
m4 düzenleme sistemi sendmail ile aynı paket içinde gelmeyebilir.
Dağıtımınızın CD'lerini kontrol ediniz, "sendmail-cf" e benzer
bir
paket yüklemek durumunda kalabilirsiniz.
cf dizininde sendmail (muhtemel /usr/lib/sendmail-cf/cf) için yeni
bir sendmail-uucp.mc dosyası yaratınız:
#divert(-1)
# `This is config sends outgoing mail via uucp
#
# to generate a sendmail.cf out of this .mc file
# use the sendmail sources
# and run m4 thisfile.mc > sendmail.cf.'
divert(0)
include(`../m4/cf.m4')
VERSIONID(`UUCP, without DNS')
undefine(`BITNET_RELAY')
undefine(`DECNET_RELAY')
undefine(`UUCP_RELAY')
OSTYPE(`linux')
MASQUERADE_AS(your.own.mail.domain)
MASQUERADE_DOMAIN(localdomain)
MASQUERADE_DOMAIN(localhost)
# ` needed if you use an internal domain that does not exist: '
FEATURE(`masquerade_envelope')
FEATURE(always_add_domain)
# ` read allowed domains from cw file: '
FEATURE(use_cw_file)
FEATURE(local_procmail)
# `important for uucp:'
FEATURE(accept_unresolvable_domains)dnl
# `the /etc/passwd entry: mail:*:8:12:mail:/var/spool/mail:'
define(`confDEF_USER_ID',``8:12'')
define(`confSAFE_QUEUE',`True')
define(`confDELIVERY_MODE',`background')dnl
# 'replace mfic by the UUCP system name of your ISP:'
define(`SMART_HOST',uucp-uudom:uucpssh)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
Aşağıdaki komut ile derleyiniz:
m4 sendmail-uucp.mc > sendmail.cf
sendmail.cf dosyasını /etc e kopyalayınız ve sendmail'i yeniden
çalıştırınız.
/etc/init.d/sendmail restart
/etc/service.switch dosyası içinde şunu kullanmalısınız:
hosts files
aliases files
Postfix
UUCP'i hazırda olan (default) taşıma olarak kullanarak Postfix
sıkça
sorulan sorulurına (FAQ) bakınız (http://www.postfix.org/faq.html#uucp-tcp).
/etc/postfix/main.cf içine aşağıdakini ekleyiniz:
relayhost=uucpssh
default_transport=uucp
ve /etc/postfix/master.cf içinde şu nota sahip olmuş olmalısınız:
uucp unix - n n - - pipe
flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
Kurma, UUCP Bölümü
UUCP yazılımı http://www.airs.com/ian/uucp.html
adresinden elde edilebilir. Bununla beraber ilk olarak Linux dağıtım
CD'lerinizi kontrol ediniz. Bütün büyük dağıtımlar UUCP
yazılım
paketlerine sahiptir. Eğer hala kaynak koddan yüklemek istiyorsanız
makaleye devam ediniz. UUCP (en azından 1.07 versiyonuna kadar) bir
hayli garip gelenekleşmiş yol (path) isimleri kullanır. Örneğin
çalıştırılabilir uygulamaları (executables) /usr/lib/uucp ' a
yükler.
Dağıtımlardaki bütün paketler sabit şu sorunlara sahiptir: gentoo
linux
1.06 versiyonundaki dosyaları doğru dizinlere (/usr/bin, /usr/sbin,
/etc/uucp) yükler, fakat bazı durumlarda yoldaki derleme hala
yanlış
olabiliyor
Ayrıca, UUCP yüklenimi ile ilgli sorunlarla nasıl baş
edilebileceğine
dair birkaç tavsiyede bulunacağım.
UUCP'nin düzenlenmesi için /etc/uucp/ dizininde en azından
aşağıdaki
dosyalara sahip olmuş olmalısınız.
- config -- genel düzenleme dosyası (eğer UUCP içinde bütün
yollar
doğru derlenirse bu dosya boş olabilir)
- call -- "şifre dosyası" UUCP'nin uucpssh.org'e giriş
yapabilmesi
(login) için
- port -- kullanmak için bağlantı çeşidi düzenleme (config)
dosyası
- sys -- siteminizin bildiği bütün UUCP sistemlerini tanımlar
UUCP dünyasında her bir UUCP yüklenimi bir isme sahip olmalıdır.
Bu
isim iki UUCP sistemi iletişime geçer geçmez kontrol edilir.
uucpssh.org'a uucpssh (hepsi küçük harf duyarlı) denilebilir ve
sisteminiz için tanımladığınız isim, sizin ne zaman uucpssh.org da
bir
hesap (account) yarattığınızı açıklar. Aşağıdaki örnekte bu
isim
mailtux olacaktır.
/etc/uucp/sys dosyasını düzenleyiniz ve sona ekleyiniz:
system uucpssh
myname mailtux
time any
address main.uucpssh.org
port SSH
protocol t
remote-send /
remote-receive ~
chat ""
/etc/uucp/port dosyasını düzenleyiniz ve sona ekleyiniz:
port SSH
type pipe
command /usr/bin/ssh -C -x -o batchmode=yes uucp@main.uucpssh.org
/etc/uucp/call dosyasını düzenleyiniz ve ekleyiniz:
uucpssh mailtux your-random-string-get-it-from-uucpssh.org-admin-page
Şimdi "uuchk" komutunu çalıştırarak düzenlemenizi kontrol ediniz.
Eğer
gerekirse sözdizimi (syntax) hatalarını düzeltiniz.
Postaları uucpssh.org a sevketmek için UUCP kullanıcısı gibi ssh
kullanacağız. Emin olun ki UUCP ismiyle /etc/passwd 'de tanımlı
olan ve
geçerli bir ev (home) dizinine sahip olan bir kullanıcı vardır.
Ayrıca uucico 'nin s-bit setine sahip ve UUCP kullanıcısına ait
olduğunu kontrol ediniz. Herhangi bir kullanıcı tarafından
uygulandığında çalıştırılan program sanki UUCP kullanıcısı
tarafından
uygulanmış gibi daimi çalışmalıdır. Aynısı uux için de
geçerlidir:
-r-sr-sr-x 1 uucp uucp 225008 Mar 7 2002 /usr/sbin/uucico
-r-sr-xr-x 1 uucp uucp 93920 Mar 7 2002 /usr/bin/uux
Kurma, SSH Bölümü
Şu anda ssh için DSA anahtar şifresi (key) oluşturmalıyız ve onu
uucpssh.org yönetici (admin) sayfasına yüklemeliyiz. Yönetici
sayfasında
nasıl yapıldığı da açıklanmıştır. Ben burada tekrarlıyorum.
- UUCP kullanıcısı olunuz (su - uucp)
- ssh-keygen-t dsa 'ı çalıştırınız
- şifre vermeyiniz
- ~uucp/.ssh/id_dsa.pub 'nin içeriğini uucpssh.org yönetici sayfanıza yükleyiniz.
Deneme
Servis sağlayıcınız dışında birisine posta gönderiniz ve
aşağıdaki
komut ile UUCP aracılığıyla kontrol ediniz.
uustat -a
Posta /var/spool/uucp/uucpssh/C./ ve /var/spool/uucp/uucpssh/D./
dizinlerinde sonlandırılmış olmalıdır. Çalıştırınız
uulog -40
ne oluğunu görmek için. Postacı (mailer) için /var/log 'daki ve
uuçp
için /var/log/uucp 'daki log dosyalarını kontrol ediniz. Eğer
sistem çalışmadıysa bu dosyalar size bazı ipuçları verebilir. Eğer
yukarıdaki çalışmadıysa hata MTA'nızın (posta sunucunuzun)
düzenlenmesindeki bir
yerdedir.
Eğer yukarıdaki denemede sorun yoksa ssh bağlantısını
deneyebilirsiniz.
UUCP kullanıcısı gibi (su - uucp root gibi) kaydolunuz ve çalıştırınız.
ssh uucp@main.uucpssh.org -v
Sunucunun RSA anahtar şifresini onaylayınız ve UUCP
hatırlatmasını
(prompt'u) görmüş olmalısınız ("Shere..." e benzer bir şeyler ).
Sonunda sıralanmış UUCP postamızın aşağıdaki komut ile
gönderimini
deniyoruz:
/usr/sbin/uucico -x 11 -S uucpssh
-x11 maksimum miktarda çözümleme bilgilerini toplar. Eğer herşey
yanlış
giderse /var/log/uucp/Debug 'daki ipuçlarını bulmalısınız.
Gelen postaları denemek için
sizinKullanıcıUserId@sizin.kendi.posta.EtkiAlanı
(ourUserId@your.own.mail.domain) dan bir posta gönderiniz ve sonra
aşağıdaki komut ile uucpssh.org 'dan postaları gidip getiriniz
(fetch):
/usr/sbin/uucico -x 11 -S uucpssh
Sorunlar için /var/log/uucp/Debug 'ı yeniden kontrol ediniz. Gelen
mailler ilk olarak /var/spool/uucp/uucpssh/X./ de sıralandırılacak
ve
sonra otomatik olarak /usr/sbin/uuxqt ve /usr/bin/rmail komutuyla
MTA'nıza gönderilecektir. gentoo linux burada bir sorun (bug)
oluşturabilir: /usr/lib/uucp/ 'in altında uuxqt i arar ve düzenleme
dosyalarını /usr/conf/uucp 'de farzeder. Ben bazı yazi-bağları
(softlink) yaratarak gentoo'a özgü hataları sabitleyebildim.
MTA'nızın log dosyalarını kontrol ediniz. Ve postanın
alındığnı ve size
teslim edildiğni görmüş olmalısınız.
Günlük Kullanım
Bir defa doğru olarak yüklendiğinde fazlaca yapılacak birşey
yoktur,
sadece çalıştırınız.
/usr/sbin/uucico -S uucpssh
uulog -5
internet ile postayı değiştrirmek için. Ben baştan sona tüm
idareye
sahip olmayı tercih ederim ve komutları elle girerek çalıştırırım.
Fakat siz şunu /etc/ppp/ip-up 'e ekleyebilirsiniz.
/usr/sbin/uucico -S uucpssh
ve siz internete her bağlğndığınızda uygulanacaktır.
Kaynakça
UUCP postadan zevk alın!
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.
2005-01-12, generated by lfparser version 2.50