Copyright (c).
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled "GNUFree Documentation License".
Contents
1. Steinbeck Kimdir?
2. Steinbeck Nedir?
3. Motivasyon
4. Özellikler
5. Nasıl çalışır?
6. Kullanım ve
Konfigürasyon
7. Hata Giderme
8. Yazarlar
9. Teşekkür
Steinbeck'in her ne kadar kim olduğu bilinse de; John Steinbeck 1902'de Kaliforniya, Salinas'da doğdu. En önemli Amerikan yazarlarından biridir. nobelprize.org'dan bir satır: "Steinbeck ilk defa, bir grup Monterey paisanolarının esprili hikayelerini anlattığı Tortilla Flat (1953) kitabı ile üne kavuştu."
Steinbeck basit bir işi güvenli bir biçimde daha da kolaylaştırır. SSH sunuculu linux(unix)larda kabuk betiklerini koşmaya ve koşan betiğin durumunu ve sonucunu bildirmeye yarar.
·
platform
bağımsız
·
güvenli
bağlantı ve trafik
·
multi-threading
·
sonuç
alma
·
durum
bildirimi
Son iki özellik betiklerde yapılacak
ufak değişiklikler sayesinde kullanılabilir.
Steinbeck istemci ve sunucu
(betiklerin koşacağı makina) arasındaki bağlantı ve trafik için SSH'i
kullanılır. Açık kaynak kodlu ve SSH2'nin saf java implementasyonu olan
jsch-0.1.20.jar kullanılmaktadır. Daha fazla bilgi için,
http://www.jcraft.com/jsch/
"java -jar
Steinbeckv1.1.jar" ile programı çalıştırdıktan sonra,
Kullanıcılar, her biri bir hedef makina
(IP, port, kullanıcı adı -root-, şifre), koşacak bir betik, hedef makinada bir
çalışma dizini ve lokal makinada bir çalışma dizininden oluşan kümeler
oluştururlar. Kullanıcı, listeye bu kümeleri ekledikten veya bu eklenilen
kümeleri değiştirdikten sonra bütün betikleri aynı anda çalıştırıp durumlarını
görebilir (Nessus gibi).
Koşacak betikler için önemli bir
nokta vardır: Eğer kullanıcı Steinbeck'in koşan betiklerin durumlarını
göstermesini istiyorsa, o zaman betik "progress.txt" isminde bir
dosya oluşturmalıdır. Bu dosya 0 ile 100 arasında bir sayı içermelidir. Betikte
belli işlemlerden sonra bu sayı arttırılmalı ve en sonunda (betik sonlanmadan
hemen önce) 100 olmalıdır.
Örnek bir betik şöyle olabilir;
touch progress.txt
sleep 5
echo 10 > progress.txt
sleep 5
echo 20 > progress.txt
sleep 5
echo 30 > progress.txt
sleep 10
echo 90 > progress.txt
sleep 5
ls -al > results.txt
echo 100 > progress.txt
Betiğin sonundan da anlaşıldığı gibi
sonuçlar betik bitmeden önce "results.txt" dosyasında yazılmalıdır.
(Eğer bir sonuç varsa) Bu dosya lokal makinaya alındığında ismi
{HEDEF_IP}+results.txt olarak değiştirilecektir. Yani eğer kullanıcı aynı hedef
makinada birden fazla betik çalıştırmak isterse lokal çalışma dizinleri olarak
farklı yerler belirtmelidir ki, alınacak sonuçlar birbirlerinin üzerlerine
yazılmasın.
Betikleri konfigürasyonlarını
hallettikten sonra kümeleri eklemek için "Manage" menüsünden
add|edit|remove butonları kullanılabilir. Bu işlemlerde bir önemli nokta şudur;
Bir küme ekledikten veya değiştirdikten sonra Done butonuna basıldığında
Steinbeck bir test bağlantısı ve hedef makinasında bir kaç işlem
gerçekleştirecektir. Oluşacak herhangi bir hata bu nokta da halledilebilir. (kimlik
doğrulama, bağlantı problemleri, v.b.)
Betikler Run menüsünü veya Start
butonunu kullanarak başlatılabilir. Bu işlem içlerinde durum bilgileri (eğer
betikler uygun olarak konfigüre edildilerse) olan başka bir pencere açacaktır.
Başlayan işlem durdurabilir. Bütün kümelerin işlemleri bittiğinde başka bir
pencere bunu bildirecektir.
Bir küme için {IP+Kullanıcı
Adı+Port+Hedef Çalışma Dizini+ Lokal Çalışma Dizini} biricik bir anahtardır.
Yani bu elemanlardan biri farklı oldukça oluşacak kümeler hedef makinalarda
koşabilir ve sonuçlar geri alınabilir.
7.1 Be Aşağıdakilerin SSH sunucu konfigürasyonuna uygulandığına emin olun (/etc/ssh/sshd_config);
PasswordAuthentication Yes
PermitRootLogin Yes (if connected as "root")
7.2 For İçlerinde "echo" komutu kullanıldığında (results.txt veya progress.txt'ye bir şeyler yazmak dışında), betikler çalışmalarını durdurmaktadırlar. Bu sebepten betiklerinizde aşağıdaki gibi durumları engelleyin;
...
echo "Hello there"
...
7.3 Steinbeck'in, teoride, spesifikasyona uyan her hangi bir Java runtime'da çalışması gerekir. Fakat siz uygun ise Sun's JRE'ını kullanın.
7.4 Windows’da veya Macintosh’da script yazıp da aman Linux’da düzeltmeden çalıştırmayın, çalışmaz.
bedirhan urgun (urgunb@hotmail.com)
Omer Faruk Sen ve EnderUNIX'e teşekkürler.