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