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

---------

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

From: Alper KANAT <tunix_at_raptiye.org>
Date: Mon, 15 Dec 2008 01:32:52 +0200
Message-ID: <494597A4.6080704@raptiye.org>

Merhaba,

Aklıma gelen 1-2 şeyi paylaşmak istiyorum.

1) Elinizde sadece öğrencilerin adları ve soyadları olan bir liste
olsaydı, kullanıcı adlarını otomatik olarak yarattırabilirsiniz
aslında.. Ya da öğrenci numaraları (eşsiz olduklarını varsayıyorum) da
kullanıcı adı olarak kullanılabilir.

2) Değişken ataması, değişken karşılaştırması yaparken "" kullanmakta
fayda var; örneğin dosya="~liste" gibi..

3) Bash betiği içerisinde perl satırı kullanmasanız daha iyi olur
bence.. Perl, her dağıtımda geliyor dahi olsa yine de betiğin dışa daha
az bağımlı olması daha iyi olur. O satırı mkpasswd kullanan başka bir
satırla değiştirebilirsiniz.

4) useradd ile başlayan satırda her kullanıcının kendine ait bir grubu
olmasını sağlıyorsunuz. Bunun yerine öğrencileri tek bir grupta toplamak
izinler açısından daha kolay olurmuş gibime geliyor.

İyi çalışmalar..

Alper KANAT <tunix_at_raptiye.org>

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

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Received on Mon 15 Dec 2008 - 00:34:30 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.