بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاتة
كنت كتبت من فترة عن فكرة سكريبت خاص بالتحكم في الباسورد الخاصة بالمستخدمين على انظمة اللينوكس ........... المزيد في هذا الموضوع على هذا الرابط
المهم انا عملت السكريبت عايزكم تجربوة وتقولولي رأيكم لانة لحد ما يتحكم في كل شئ خاص بكلمات المرور للمستخدمين بالاضافة لل TUI (Text User Interface ) السهلة لة كلها عبارة عن قوائم Menus بالاضافة الى اظهار Summary لكل عملية ويمكنك عمل Filter للمستخدمين اللي تريد ان تطبق عليهم الاعدادات او على كل المستخدمين وارسال Email لل Administrator وعمل report في حال وجود اخطاء
المهم السكريبت انا شايفة مهم جدا ويمكن استخدامة بسهولة جدا , المهم انا عايزكم تقولولي رايكم في السكريبت وياريت لو خبراء البرمجة يفيدوني باي ملاحظة بالنسبة للLogic اللي في الشل
ودى صورة الMain Menu

ودي الخاصة بال Summary بعد تحديد ال Arguments والمستخدمين

ودلوقتي دة الكود
لتحميل ال Script من هنا
السلام عليكم ورحمة الله وبركاتة
كنت كتبت من فترة عن فكرة سكريبت خاص بالتحكم في الباسورد الخاصة بالمستخدمين على انظمة اللينوكس ........... المزيد في هذا الموضوع على هذا الرابط
المهم انا عملت السكريبت عايزكم تجربوة وتقولولي رأيكم لانة لحد ما يتحكم في كل شئ خاص بكلمات المرور للمستخدمين بالاضافة لل TUI (Text User Interface ) السهلة لة كلها عبارة عن قوائم Menus بالاضافة الى اظهار Summary لكل عملية ويمكنك عمل Filter للمستخدمين اللي تريد ان تطبق عليهم الاعدادات او على كل المستخدمين وارسال Email لل Administrator وعمل report في حال وجود اخطاء
المهم السكريبت انا شايفة مهم جدا ويمكن استخدامة بسهولة جدا , المهم انا عايزكم تقولولي رايكم في السكريبت وياريت لو خبراء البرمجة يفيدوني باي ملاحظة بالنسبة للLogic اللي في الشل
ودى صورة الMain Menu

ودي الخاصة بال Summary بعد تحديد ال Arguments والمستخدمين

ودلوقتي دة الكود
كود:
#Pwd_Policy.sh #Date :05-04-2008 #Credits :StrangerInMoscow #!/bin/bash clear ; sleep 1 # Functions Area #Main Menu mmenu() { echo "|---------------- [ Main Menu ] ------------------|" echo " " echo " [1] Display the Current Password Policy for the Users " echo " [2] Set the New Password Aging Settings " echo " [3] Save and Mail a Log to the System Administrator" echo " [4] Quit " echo " " echo "______________________________________________________ " echo " Please Pick a Task From the Menu to Perform " echo "______________________________________________________ " read SELECTION #Mmenu OPTs case $SELECTION in 1) clear && displayusers ;; 2) pwd_options ;; 3) mailadmin ;; 4 | q | Q ) clear ; exit 0 ;; *) invalid_choice ;; esac } #Define a Function to Display the Current Users on the Local system #Apply Password Settings to All Users chage_pwd_all(){ for i in $(grep \\$ /etc/shadow | awk -F: '{ print $1 }'| sort) do chage -m $MIN_PWD -M $MAX_PWD -W $WARN_PWD $i if [ $? != 0 ] then echo " Operation Failed " fi done } #Apply Password Settings Only to a Specific group of Users chage_pwd_usr(){ chage -m $MIN_PWD -M $MAX_PWD -W $WARN_PWD $USRS if [ $? != 0 ] then echo " Operation Failed " fi } displayusers() { echo "|------------------------[ Here Comes a List of Current Users on the System ]-----------------|" ; sleep 1 for i in $(grep \\$ /etc/shadow | awk -F: '{ print $1 }'| sort) do echo "Current Password Settings for User $i " echo " " chage -l $i echo " " done echo " " echo " " echo "|--------------------------[ [M]ain Menu ]--[ [F]ilter ]--[ [Q]uit ]-------------------------|" read B2MMENU case $B2MMENU in M | m ) clear && mmenu ;; f | F ) echo " " echo " Please Specify a User to Display his Info " read USR_FLTR clear ; chage -l $USR_FLTR ; echo " " echo "Press Any Key to Kill the Current Process & Move to the Main Menu" read ACTION case $ACTION in * ) clear mmenu esac ;; Q | q ) echo " Bye " ; exit 0 ;; *) invalid_choice ;; esac } #Define Function #2## #PWD Policy Settings To be Applied pwd_options() { clear echo "|-----------------------------[In This Section you will set your Password Settings]----------------------|" echo " " echo " [1] Set the Minimum , Maximum and Warning Days Arguments" echo " [2] Back To The Main Menu " read PWD_OPT case $PWD_OPT in 1 ) echo "Enter the minimum number of days between password changes" ; read MIN_PWD ; sleep 1 echo "Enter the maximum number of days between password changes" ; read MAX_PWD ;sleep 1 echo "Enter the number of days prior to the password expiring" ; read WARN_PWD ;sleep 1 echo "Saving ...... ";echo "saved" ; sleep 2 ; clear echo " " echo "***********************************************************************************" echo "!! WARNING !! You are going to Apply the Following Password Settings to Your Users " echo " " echo "************************************ Summary **************************************" echo " " echo " Minimum $MIN_PWD" echo " Maximum $MAX_PWD" echo " Warning $WARN_PWD" echo " " echo "***********************************************************************************" echo " " echo "Now Tell Me What you want to do Next" echo " " echo "[A] Press [A] if You want to Apply the New Settings to All users " echo "[B] Press [B] if You want to Apply the New Settings Only to Specific Users" echo "[C] Press [C] To cancel the Operation" read CNFRM case $CNFRM in a | A ) echo " Please Hold On While Applying the Password Policy to All Users " ; sleep 1 chage_pwd_all clear ; mmenu ;; b | B ) echo "Please Specify the Users You want to Apply the New Settings To" read USRS chage_pwd_usr echo " " echo "The Password Settings For the User $USRS Has been Updated " echo " " chage -l $USRS ;; * ) invalid_choice ;; esac ;; 2) clear ; mmenu ;; *) invalid_choice ;; esac } mailadmin() { echo " Sending Email To the System Admin .... Please Wait " ;sleep 3 echo "`date +%F` : The Password Policy for One or More user has been Modified " | mail -s "Password Policy script has been executed " root 2 >> /var/log/pwd_chage.errors.log if [ $? != 0 ] then echo "Operation Failed .... Error Logs have been saved " sleep 3 ; mmenu else echo "Email with Logs has been Sent to the system Administrator" sleep 3 ; clear ; mmenu ; fi } invalid_choice() { echo " Please Enter a Valid Value " ; sleep 1 echo " " echo " Redirecting to the Main Menu " ;sleep 3 ; clear ; mmenu } #Calling the Main Menu Function mmenu #END
لتحميل ال Script من هنا
كود:
http://www.4shared.com/file/43129154/53140336/pwd_policy.html
تعليق