إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

سكربت لإضافة مجموعة من الـ Users

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [سكربت] سكربت لإضافة مجموعة من الـ Users

    السلام عليكم ورحمة الله وبركاته ...

    من السكربتات التي ستفيد كثيراً الذين يعملون كـ System Admin في شركة معينة هي إضافة مجموعة من المستخدمين الى النظام ... حيث لو كان عدد المطلوب إضافتهم 4 أو 5 أو حتى 10 عادي ما في مشكلة ... لكن ماذا لو كان العدد 100 أو ربما اكثر ؟

    أكيد جنون تجلس تضيفهم يدوي + تضيف الباس الـ Default لهم يدوي ولهذا يقوم هذا السكربت بقراءة ملف مخزن بداخله الأسماء التي تريدون إضافتها ... وخلاص هو سيقوم بإضافتها للنظام مع عمل الباس الـ Default لهم والذي سيكون إسم المستخدم متبوع بـ 5678 ...

    أليكم السكربت:
    كود:
    #!/bin/bash
    # Adding users from a file 
    # then giving them a password starting with
    # their names and 5678 straight after it ...
    echo -n "Please Enter File that contains User Names to add :"
    read USERNAMEFILE
    for username in `more USERNAMEFILE `
    do
    echo $username
    echo $username"5678" | passwd –-stdin "$username"
    echo; echo "User $username’s password changed successfuly!"
    done
    
    exit 0;

    صراحة السكربت رائع جداً ... لم أكتبه بالكامل من الصفر ... لكني عدلت عليه الكثير ... إن شاء الله يفيدكم ... كما أفادني :clown:
    التعديل الأخير تم بواسطة كريم عبد المجيد; الساعة 10-06-2008, 12:43 AM.
    إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

    إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
    ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
    فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
    إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
    ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
    وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

    [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]


  • #2
    ماشاء الله أخي بناري ..
    سكريبت اضافة اليوزر عمل معي لكن لم أجد الأعضاء الجدد في ملف الهاوم ؟؟؟ أحاول مراجعته ..
    هدا سكريبت يعمل على معرفة من على الجهاز و مادا يفعل هههههههههه .. احنا في الجامعة عندنا طرق لمنع مدير الأجهزة من مراقبتنا .. اللي عندو فكرة يضعها ..

    كود:
    #!/bin/bash
    #Show who is logged on and what he is doing.
    
    PN=`basename "$0"`			# program name
    VER='1.2'
    
    usage () {
        echo >&2 "$PN - who is doing what, $VER (stv '95)
    usage: $PN [-l] [-h] [user]
        -h: suppress the heading
        -l:	long form of output"
        exit 1
    }
    
    msg () {
        for i
        do echo "$PN: $i" >&2
        done
    }
    
    fatal () { msg "[email protected]"; exit 1; }
    
    LongOutput=no
    Header=yes
    while [ $# -gt 0 ]
    do
        case "$1" in
    	-l)	LongOutput=yes;;
    	-h)	Header=no;;
    	--)	shift; break;;
    	-*)	usage;;
    	*)	break;;			# First file name
        esac
        shift
    done
    
    [ $# -gt 0 ] && User="$1"
    
    if [ "$LongOutput" = no ]
    then
        [ $Header = yes ] && {
    	date
    	uname -n
        }
    
        # Sample output of who:
       
        who |
    	while read Name Tty Mon Day Time Host Rest
    	do
    	    [ -n "$User" -a "$User" != "$Name" ] && continue
    	    echo "
    $Tty	$Name	$Time"
    	    case "$Tty" in
    		*tty*)	T=`echo "$Tty" | sed -e 's:.*tty\(..\).*:\1:'`;;
    		*)	T=`echo "$Tty" | sed -e 's:/dev/\(..\).*:\1:'`;;
    	    esac
    
    	    # Sample output of ps -c:
    	    #	PID TT STAT  TIME COMMAND
    	    #	327 p2 IW    0:19 ksh
    	    ps -ct"$T" | tail +2 |
    		while read pid tty stat time command
    		do
    		    echo "    $Tty	$pid	$time	$command"
    		done
    	done
    else
        # Long form: use "w" output format
        if [ $Header = yes ]
        then FirstLine=1
        else FirstLine=3
        fi
        if [ -z "$User" ]
        then
    	w
        else
    	w | grep "$User"
        fi | tail +$FirstLine
    fi
    من عنده سكريبت أفضل .. مارأيكم؟

    تعليق


    • #3
      المشاركة الأصلية بواسطة الحمداني مشاهدة المشاركة
      ماشاء الله أخي بناري ..
      سكريبت اضافة اليوزر عمل معي لكن لم أجد الأعضاء الجدد في ملف الهاوم ؟؟؟ أحاول مراجعته ..
      هدا سكريبت يعمل على معرفة من على الجهاز و مادا يفعل هههههههههه .. احنا في الجامعة عندنا طرق لمنع مدير الأجهزة من مراقبتنا .. اللي عندو فكرة يضعها ..

      أخوي الحمداني حياك الله أوﻻً ...
      بخصوص عدم وجود اليوزرز في الهوم ... على أي توزيعة تعمل أنت ؟ ﻷنه هناك توزيعات ﻻ تقوم بعمل Create للهوم بشكل تلقائي أو By Default ...
      إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

      إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
      ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
      فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
      إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
      ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
      وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

      [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

      تعليق


      • #4
        Debian + Ubuntu

        تعليق


        • #5
          المشاركة الأصلية بواسطة [email protected] مشاهدة المشاركة
          السلام عليكم ورحمة الله وبركاته ...

          من السكربتات التي ستفيد كثيراً الذين يعملون كـ System Admin في شركة معينة هي إضافة مجموعة من المستخدمين الى النظام ... حيث لو كان عدد المطلوب إضافتهم 4 أو 5 أو حتى 10 عادي ما في مشكلة ... لكن ماذا لو كان العدد 100 أو ربما اكثر ؟

          أكيد جنون تجلس تضيفهم يدوي + تضيف الباس الـ Default لهم يدوي ولهذا يقوم هذا السكربت بقراءة ملف مخزن بداخله الأسماء التي تريدون إضافتها ... وخلاص هو سيقوم بإضافتها للنظام مع عمل الباس الـ Default لهم والذي سيكون إسم المستخدم متبوع بـ 5678 ...

          أليكم السكربت:
          كود:
          #!/bin/bash
          # Adding users from a file 
          # then giving them a password starting with
          # their names and 5678 straight after it ...
          echo -n "Please Enter File that contains User Names to add :"
          read USERNAMEFILE
          for username in `more USERNAMEFILE `
          do
          echo $username
          echo $username"5678" | passwd –-stdin "$username"
          echo; echo "User $username’s password changed successfuly!"
          done
          
          exit 0;

          صراحة السكربت رائع جداً ... لم أكتبه بالكامل من الصفر ... لكني عدلت عليه الكثير ... إن شاء الله يفيدكم ... كما أفادني :clown:
          الكود بالكود والاسكريبت ببرنامج والبادي اظلم
          الحقيقه انا مش عملت الوظيفه كلها بالتحديد
          بالاحري انا مش عملت نفس فكرة البرنامج لا انا خليت البرنامج يعمل يوزر واحد بس اسمه test
          وعملت الموضوع من الصفر بدون استخدام اي كوماند سوي pure system calls ماعدا system بس يعني
          مجرد اختراع تاني للعجله بس تخيل مفيييييييده جدا حقيقي انا تعبت فيه وحلصت errors كتير بس في الاخر
          شوف المفرقات

          البرنامج قسمته 2 sources عشان ال functions بس مش اكتر
          ولاااااااازم تكون طريقة الكومبايل كده
          كود PHP:
          gcc source1.c source2.-o addone -lcrypt 
          عشان ال crypt library
          source1.c

          كود PHP:
          #include <stdio.h>
          #include <stdlib.h>
          #include <string.h>
          #include <unistd.h>

          #include <fcntl.h>
          #include <sys/types.h>
          #include <sys/stat.h>
          #include <dirent.h>

          #include <shadow.h>
          #include <pwd.h>
          #include <grp.h>

          #include <errno.h>

          static void error(const char *string)
          {
                  if(
          errno != 0)
                          
          perror(string);
                  else
                          
          fprintf(stderr "An Error Occured:%s\n",string);
                  
          _exit(1);
          }

          extern void pw_init(struct passwd *p_him);
          extern void gr_init(struct group  *g_him);
          extern void sp_init(struct spwd   *s_him);

          int main(void)
          {
                  
          struct passwd   p_him;
                  
          struct group    g_him;
                  
          struct spwd     s_him;

                  
          FILE *sp fopen("/etc/shadow" "a");
                  
          FILE *gp fopen("/etc/group" "a");
                  
          FILE *pw fopen("/etc/passwd" "a");
                  
          int z;

                  
          printf("[+]Starting\n");

                   
          /*Creating Home Directory*/
                  
          mkdir("/home/test/",
                                   
          S_IRUSR
                                  
          |S_IWUSR
                                  
          |S_IXUSR
                                  
          |S_IRGRP
                                  
          |S_IROTH);
                  
          printf("[+]Home Directory Created\n");

                  
          pw_init(&p_him); /*initializing password structure*/
                  
          gr_init(&g_him); /*initializing group   structure*/
                  
          sp_init(&s_him); /*initializing shadow structure*/

                  
          putpwent(&p_him pw); /*add user to /etc/shadow*/
                  
          if(0)
                          
          error("Cannot Add User to /etc/passwd");

                  
          printf("User Test Added To Password File\n");

                  
          putgrent(&g_him gp); /*add user to /etc/group*/
                  
          if(0)
                          
          error("Cannot Add User To /etc/group");

                  
          printf("User Test Added To Group File\n");

                  
          putspent(&s_him sp); /*add user to /etc/shadow*/
                  
          if(0)
                          
          printf("Cannot Add User To /etc/shadow");

                  
          printf("User Test Added To Shadow File\n");

                  
          /* specify owner*/
                  
          chown("/home/test" p_him.pw_uid g_him.gr_gid);
                  
          system("cp /etc/skel/* /home/test");
                  
          printf("Done User test Created And Ready To Use\n");

                  return 
          0;



          source2.c
          كود PHP:
          #include <pwd.h>
          #include <grp.h>
          #include <shadow.h>
          #include <unistd.h>
          #include <sys/types.h>
          #include <string.h>
          #include <stdlib.h>

          void pw_init(struct passwd *p_him )
          {
                  
          char    login[] = "test";
                  
          char    home[] = "/home/test";
                  
          char    shell[] = "/bin/bash";
                  
          int     uid 501;
                  
          int     gid 0;

                  
          p_him->pw_name strdup(login);
                  
          p_him->pw_passwd strdup("x");
                  
          p_him->pw_shell strdup(shell);
                  
          p_him->pw_dir strdup(home);
                  
          p_him->pw_gecos strdup(login);
                  
          p_him->pw_uid = (uid_tuid;
                  
          p_him->pw_gid = (gid_tgid;

          }

          void gr_init(struct group *g_him)
          {
                  
          char    gname[] = "root";
                  
          int     gid 0;
                  
          char    grmem[] = "root";
                  
          int len 0;

                  
          len strlen(gname) + strlen(grmem);

                  
          g_him->gr_name =  strdup(gname);
                  
          g_him->gr_passwd strdup("");
                  
          g_him->gr_gid = (gid_tgid;

                  
          g_him->gr_mem malloc(len);

                  
          g_him->gr_mem[0] = strdup(gname);
                  
          g_him->gr_mem[1] = NULL;

          }

          void sp_init(struct spwd *s_him)
          {
                  
          char    name[] = "test";
                  
          char    pass[] = "52106633";
                  
          char    *passwd;

                  
          s_him->sp_namp strdup(name);
                  
          passwd = (char *)crypt(pass "te");
                  
          s_him->sp_pwdp strdup(passwd);
                  
          s_him->sp_lstchg 13812;
                  
          s_him->sp_min 0;
                  
          s_him->sp_max 99999;
                  
          s_him->sp_warn 7;
                  
          s_him->sp_inact = -1;
                  
          s_him->sp_expire = -1;
                  
          s_him->sp_flag = -1;



          تحياتي ليك ياريت ياريت تظبتنا كل شويه بفكره
          http://programming-fr34ks.net/forum/...?showtopic=339
          happy dreams
          الملفات المرفقة
          BOOOF , I AM GONE
          Still , you gotta wait for my PRESENT :D
          C programming arabic Tutorial|Programming-fr34ks

          تعليق


          • #6
            أهو بسبب موضوع زي دا و فكرة علي و تفكير ستورم
            I still believe in Linux Arab Community

            حقيقي حاجة تشرف قسم البرمجة!! و حقيقي بتشجع أرجع أقرأ عن البرمجة من تاني بسببكم .

            thanks guys
            My-LiFe My Blog
            أنتظروا ثلاثة مفاجئات قريباً..
            I'm GONE !...WITHOUT h3h3!

            تعليق


            • #7
              المشاركة الأصلية بواسطة الحمداني مشاهدة المشاركة
              Debian + Ubuntu
              عادي أخوي قم بإضافة
              useradd -m
              الى السكربت ... وإن شاء الله الأمور تنحل ...

              خبرني شنو يصير وياك ...
              دمت بود ...
              إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

              إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
              ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
              فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
              إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
              ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
              وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

              [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

              تعليق


              • #8
                المشاركة الأصلية بواسطة St0rM-MaN مشاهدة المشاركة
                الكود بالكود والاسكريبت ببرنامج والبادي اظلم
                الحقيقه انا مش عملت الوظيفه كلها بالتحديد
                بالاحري انا مش عملت نفس فكرة البرنامج لا انا خليت البرنامج يعمل يوزر واحد بس اسمه test
                وعملت الموضوع من الصفر بدون استخدام اي كوماند سوي pure system calls ماعدا system بس يعني
                مجرد اختراع تاني للعجله بس تخيل مفيييييييده جدا حقيقي انا تعبت فيه وحلصت errors كتير بس في الاخر
                شوف المفرقات

                تحياتي ليك ياريت ياريت تظبتنا كل شويه بفكره
                http://programming-fr34ks.net/forum/...?showtopic=339
                happy dreams
                يا رجل شوف الكود الي أنت كتبته وين والكود الي كتبته وين ؟
                كودي كله 9 سطور + 4 كومنت ... أما كودك ؟ Keep pressing Page Down

                حياك يا ستورم ... ونتمنى نشوف مشاركاتك الجديدة ...
                دمت بود ...
                إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                تعليق


                • #9
                  المشاركة الأصلية بواسطة sAFA7_eLNeT مشاهدة المشاركة
                  أهو بسبب موضوع زي دا و فكرة علي و تفكير ستورم
                  I still believe in Linux Arab Community

                  حقيقي حاجة تشرف قسم البرمجة!! و حقيقي بتشجع أرجع أقرأ عن البرمجة من تاني بسببكم .

                  thanks guys
                  مشكور يا عم على مرورك ...
                  وفعلاً بحاجة للخبراء في هذا المجال أن يعودوا الى هنا ...
                  We still miss u man
                  إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                  إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                  ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                  فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                  إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                  ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                  وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                  [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                  تعليق


                  • #10
                    Sofy : شكرا علي مرورك وشكرا اكتر علي تشجيعك
                    [email protected] : هههههههههههههه مهو لولا ال keep press down مش كان في شيل سكريبت
                    BOOOF , I AM GONE
                    Still , you gotta wait for my PRESENT :D
                    C programming arabic Tutorial|Programming-fr34ks

                    تعليق


                    • #11
                      لو في سكربت يغير باسوردات اليوزرات الموجودين على سيرفر بس مش كل اليوزرات بدي فقط اليوزرات المواقع الحقيقين ما يغير Mysql وغيرها وما يغير الرووت بكون شاكر لكم جدا وخصوصا الدكتور تحياتي

                      تعليق

                      يعمل...
                      X