انا انسان كسول (و اعني هذا بمعنى الكلمة). فلا اتناول الأطعمة المطهية لأن الأمر يتطلب شغلا إضافيا و لا اخرج لشراء اشياء احتاجها لعدم استعدادي لبذل المجهود المطلوب. حتى ان الأمر يمتد الى تعاملي مع الجهاز الذي اطبع عليه الآن. فأن لا امانع هذه النهج.. الا في حالة واحدة عندما يكون او يتسبب في مشاكل.
احد المخاطر الكسل في نطاق الكمبيوتر بشكل عام هي طريقة تخزين كلمات السر. فأنا شخصيا كنت اقوم بتكديس كلمات السر في صندوقي البريدي على احد المواقع المعروفة. على الرغم من استخدامي قناة مشفرة للتواصل مع سرفر الموقع (https)، إلا ان تخزين كلمات السر على هذا النحو لا تزال من أسوء الطرق لحفظها. و لا اعتقد اني الوحيد الذي يعتمد هذه الطريقة “الامنة”. هناك ايضاً من بقوم بتجميع كلمات السر في ملف على جهازة ظناً منه انها ستكون امانةً بينما في الحقيقة قد يكون الوصول و الإطلاع عليها من اسهل ما يمكن. خاصةً ان كان الجهاز بحوزة الجاني (وصول حسي للجهاز يعني الملكية).
لعلاج هذه المشكلة، إسخدمة gpg (برنامج يقوم بتشفير الملفات). فالبرنامج قوي و التعامل معه بسيط جدا و الأهم من هذا، ان البرنامج منتشر و حر المصدر (يمكن قك الشفرة على اي جهاز/نظام اخر). ولكن تعيبه مشكلة واحدة، الطريقة التي بيتم فيها تحديث او استخراج المعلومات (روتين ممل بمتد من 4 الى 5 سطور).
لحل هذه المعضلة، قمت بكتابة مخطوطة صغيرة تقوم بوجع الرأس كله نيابة عنك. ما عليك إلا معرفة كلمت السر ![]()
و افضل ما في الأمر هو انك ليس مضطرا لإستخدامها كي تفك التشفير (فقط تحتاج الى gpg). فسبب وجودها هو مجرد للتسهيل.
طريقة الإستعمال
ملاحظة: يوجد فيديو عن إستعمال المخطوطة في الأسفل
الطريقة السهلة: إضغط على الوصلة ثم قم بإختيار و تنزيل احدث ملف المضغوطة. بعد ذلك باشر بإستخراج الملفات منه.
الطريقة المعقدة: إفتح ملف و قم بنسخ المخطوطة (موجودة في الأسفل) اليه و سجله بإسم gpg-get. ثم بإستخدام الطرفية، اضف خاصية الـexecutable للملف من خلال الأمر chmod +x gpg-get في نفس الدليل الذي قمة بتخزين المخطوطة فيه.
بعد الفراغ احدى الطرق، ستكون المخطوطة جاهزة للإستخدام.
إنشاء ملف اسرار جديد:
./gpg-get init
إضافة سطر جديد لملف الأسرار:
./gpg-get add
قراءة الملف:
./gpg-get get
او (للبحث عن سطر معين)
./gpg-get get السطر
هناك العديد من الخصائص الأخرى لهذه المخطوطة ولا يسعني ذكرها بأكملها هنا. لمزيدٍ من المعلومات:
./gpg-get help
./gpg-get clean
#! /bin/bash
#Y بسم الله الرحمن الرحيم
#Y gpg-get version 0.1
echo "
********************************************************************************
Warning! While runung, this script stores the passwords as clear text in a
temporary file and then removes it before terminating. If the script was
terminated midway, the file will not be removed!
Use the \`clean' option to remove it.
********************************************************************************
"
if [ $1 == "get" ]; then
gpg access.gpg
# testing for errors from gpg
if [ $? -ne 0 ]; then
echo "* An error accured in gpg! aborting"
exit 1
fi
#testing if access file exists
if [ -f access ]; then
if [ -z $2 ]; then
less access
else
grep -i $2 access | less
fi
rm access
echo "* Removed temporary password file. have a nice day.
"
else
echo "* password file was not found!"
fi
#adding passwords
elif [ $1 == "add" ]; then
gpg access.gpg
# testing for errors from gpg
if [ $? -ne 0 ]; then
echo "* An error occurred in gpg! aborting"
exit 1
fi
#testing if access file exists
if [ -f access ]; then
cp access.gpg access.gpg.bkup
echo "enter the new line to append to the access file"
read passline
echo $passline >> access
echo "* re-encrypting gpg file. enter a new (or the same) password;"
gpg -c access
if [ $? -ne 0 ]; then
echo "* An error occurred in gpg! aborting"
exit 1
fi
echo "* Added new entry!"
rm access
echo "* Removed temporary password file. have a nice day.
"
else
echo "* password file was not found!"
fi
elif [ $1 == "clean" ]; then
echo "removing passwords file..."
if [ -f access ]; then
rm access
echo "done! bye
"
else
echo "There is nothing to remove, bye.
"
fi
elif [ $1 == "init" ]; then
echo "creating new access file..."
if [ -f access.gpg ]; then
echo "encrypted access file already exists! bye
"
exit 1
else
touch access
gpg -c access
if [ $? -ne 0 ]; then
echo "* An error occurred in gpg! aborting"
exit 1
fi
echo "* Added new entry!"
rm access
echo "new access file created!
"
fi
else
echo "Usage:
gpg-get ACTION ARGUMENT
ACTION is substitute with:
init: creates a new empty password file. only one password file can exist
per directory
get: To grep a line from the password file. ARGUMENT is the string to
search for and is optional.
add: Append a string at the end of the password file. can also be used to
change encryption phrase. a backup file is automatically created with
the extension \`bkup'.
clean: To remove the clear text file.
Written by Sulaiman A. Mustafa and
is provided under the gpl version 3 or (at your option) later.
Post bugs/improvements on our mailing list at:
http://groups.google.com.kw/group/gatog?hl=en
__________
GATOG Team
Adnan Alliance Foundation
http://gatog.adnanalliance.org
"
fi
إليكم فيديو مثال على تثبيت و إستخدام المخطوطة…
المصدر: http://gatog.adnanalliance.org/script-center/gpg-get/media/gpg-get.ogg
لا تتردد في الإستفسار عن اي جانب من هذا الموضوع و لن نبخل عليك بالإجابة إنشاء الله.
Tags: gpg, gpg-get, password management system, script, كلمات السر, تشفير