[Linux-programlama] Re: bash scripti - kullanýcý ekleme

---------

[Linux-programlama] Re: bash scripti - kullanýcý ekleme

From: Recep KIRMIZI <rkirmizi_at_gmail.com>
Date: Fri, 19 Dec 2008 02:51:10 +0200
Message-Id: <200812190251.11076.rkirmizi@gmail.com>

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
> Linux-programlama_at_liste.linux.org.tr
> 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
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Fri 19 Dec 2008 - 01:53:12 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.