On Monday 15 December 2008 01:20:01 Bülent ŞENER wrote:
> Merhaba,
> Üniversitemizde herbir öğrencimize bir mail hesabı açmak istiyoruz. Bu
> mail hesapları aynı zamanda linux kullanıcıları olacak.
> Öğrenci sayısı fazla olduğu için tek tek hesap açmak oldukça uzun
> zaman alacaktı. Bunu hızlıca yapacak bir betik arayışına girdim.
> Edindiğim bilgiler sonucunda aşağıdaki gibi bir betik yazdım. Geçici
> olarak işimi görüyor.
> Hem paylaşayım istedim hem de daha iyi öneriler gelir umuduyla buraya
> yazıyorum.
>
>
> #!/bin/bash
> ####    bu betik adiyaman universitesi ogrencilerine
> ####    mail hesabi acilmasi icin yazildi.
> ####    betik, ogrenciler icin kullanici adlari olarak
> ####    belirledigim isimleri bir listeden okuyor ve
> ####    bu isimler icin 6 basamakli bir sayiyi sifre
> ####    olarak belirliyor. daha sonra bu bilgileri
> ####    sisteme kullanici eklemek icin kullaniyor
>
> ####    kullanici adlarinin alinacagi dosya
> dosya=~/liste
>
> ####    isimler dongu ile aliniyor
> for mail in $(awk -F, '{print $1}' < "$dosya" )
> do
>         ####    rastgele sayi uretiliyor
>         sayi=$RANDOM
>         ####    rastgele sayi her kosulda max 5 basamakli olacagi icin
>         ####    200000'den rastgele sayiyi cikarinca kalan sayi her
>         ####    kosulda 6 basamakli oluyor
>         ((ysayi=200000-$sayi))
>         ####    kullanici icin sifre olusturan bolum
>         pass=$(perl -e 'print crypt($ARGV[0], "password")' $ysayi)
>         ####    kullaniciyi sisteme ekleyen komut
>         useradd -m -p $pass $mail
>         ####    kullanici adini ve sifresini bis dosyaya yazdiran bolum
>         ####    buradaki sifre kullanicilara gecici sifrelerini
>         ####    bildirmek icin kullanilacak
>         echo "$mail,$ysayi">>password_list
> done
>
> Saygılarımla,
> Bülent ŞENER
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Selamlar..
çok geç bir yanıt oldu sanki ama umarım thread son bulmamıştır. Anca 
bakabildim e-postalarıma :)

Benim naçizane tavsiyem kullanıcı ekleme işlemlerinde bir standart olan ldap 
kullanmanız. [1] adresinde postfix ile ldap'ın  birlikte nasıl 
kullanılabileceği gösteriliyor. Aynı zamanda hemen hemen tüm sunucu 
uygulamalarının ldap modülleri bulunmakta. (vsftpd, apache, vs..) Bu sayede 1 
kere oluşturduğunuz kullanıcıyı çok yerde sistematik olarak 
kullanabilirsiniz. Örn: ldap ile oluşturduğunuz kullanıcılara, kullanıcı 
bilgileri ile ftp erişimi sağlayıp,  mod_userdir yardımı ile 
domain.edu.tr/~kullanıcıadı ile aynı kullanıcılara (öğrencilere) En azından 
cv'lerini koyabilecekleri bir alan sağlayabilirsiniz. :) Daha ileri 
gidip /etc/skell altına basit bir blog uygulaması koyup öğrencileri henüz 
okurken blog tutmaya teşvik edebilirsiniz. (Fantazinin sonu yok tabi :) ) 
Kısaca bir taşla, n kuş vurabilirsiniz. :) (Tabi buna ne kadar ihtiyaç var 
orası farklı bir tartışma.)
Bir python sever olarak bu tarz işleri python ile yapmak daha kolay iken. 
Eldeki imkanlarla bash ile yapmak mümkünse, daha önceki bir iletide 
bahsedilen dostları kullanmak daha performanslı olacaktır. (sed, awk, vs..)
google da ldap ile alakalı tonlarca başarı öyküsü bulabilirsiniz. Ve 
kurumsallaşma yolunda atılacak ilk adım, bence kullanıcıları ldap' a 
taşımakla atılmalıdır.

[1] http://www.postfix.org/LDAP_README.html


Sagılar...
Recep KIRMIZI
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap