عرض مشاركة واحدة
  #14  
قديم أضيفت بتاريخ 04-11-2008, 08:01 AM
الزعيم الزعيم غير متواجد حالياً
عضو مشارك
 
تاريخ التسجيل: 21-02-2008
المشاركات: 85
معدل تقييم المستوى: 18
الزعيم will become famous soon enoughالزعيم will become famous soon enough
افتراضي


اوامر مهمة لأصحاب السيرفرات

تغير باسورد الروت :
اكتب الأمر :
passwd

معرفة البورتات المفتوحة بالسيرفر :
اكتب الامر :
كود PHP:
nmap -sT-O localhost 
او

nmap fuser localhost

البورتات الأساسية للسيرفر :
كود PHP:
21 => FTP
22 
=> SSH
23 
=> Telnet
25 
=> SMTP Mail Transfer
43 
=> WHOIS service
53 
=> name server (DNS)
80 => HTTP (Web server)
110 => POP protocol (for email)
995 => POP over SSL/TLS
9999 
=> Urchin

111 
=> rpcbind
953 
=> rndc

143 
=> IMAP Protocol (for email)
993 => IMAP Secure

443 
=> HTTP Secure (SSL for https:// )

3306 = > MysQL Server

4643 
=> Virtuosso Power Panel

Cpanel

2082 
=> CPANEL
2083 
=> CPANEL Secure/SSL
2086 
=> CPANEL WHM
2087 
=> CPANEL WHM Secure/SSL
2095 
=> cpanel webmail
2096 
=> cpanel webmail secure/SSL

Plesk Control Panel 
=> 8443

DirectAdmin Control Panel 
=> 2222

Webmin Control Panel 
=> 10000 
w
لعرض المستخدم الشيل وكم مدت السيرفر وكم الوود
كود PHP:
06:46:02 up 3 days2:351 userload average0.810.300.23
USER TTY FROM LOGIN
IDLE JCPU PCPU WHAT
root pts
/0 62.139.117.58 5:02am 0.00s 0.11s 0.10s -bash
root
@host [~]

top
اعتقد من اهم الاوامر
وهو يعرض لك البروسيس اللى بتستهلك اعلى نسبة من البروسيسور

ls
او
ls -a
او
ls -l
او
ls -l | more
وهو عرض الى فى المجلد الحالى بشكل مفصل


cd
امر مهم جدا للرجوع الى عن المسار نكتب cd
للذهاب الى مسار نكتب cd /home


rm
للمسح
يفضل استخدام rm -rf
r لمسح المجلدات
f علشان ميسالش على كل ملف موافق تمسحه ولا لا


cp
لنسخ ملف من مكان لاخر
cp amr.zip /home/amr/www



cp -r
للنسخ مجلد

mv
للنقل او اعادة التسمية
mv amr /home/amr
او لاعادة تسميته
mv amr swalif

الامر wget
لسحب ملف على السيرفر
wget http://swalif.net/file.zip

والآن كيف تجرى عملية فك الضغط ؟
إذا كان الملف ينتهي بالامتداد .zip مثال لذلك File.zip قم بكتابة الأمر :
unzip file.zip

إذا كان امتداد الملف ينتهي بـ .tar مثال file.tar قم بكتابة :
tar -xvf file.tar

إذا كان امتداد الملف ينتهي بـ .gz مثل file.gz قم بكتابة :
gzip -d file.gz

إذا كان امتداد الملف ينتهي بـ .tar.gz مثال file.tar.gz قم بكتابة :
gzip -d file.tar.gz
ومن ثم :
tar -xvf file.tar


كيفية إجراء نسخ احتياطي من قاعدة بيانات :
mysqldump -u db_usr_name -pPASSWORD db_name > file name.SQL

كيفية استرجاع قاعدة بيانات تم حفظها من قبل :
mysql -u db_usr_name -pPASSWORD db_name < file name.SQL

كيفية ضغط قاعدة البيانات :
tar -czvf file name.tar.gz file name.SQL

كيفية فك الضغط عن قاعدة البيانات :
tar -zxvf file name.tar.gz

كيفية عمل نسخ احتياطي من جميع قواعد البيانات لمستخدم معين :
mysqldump -uroot --all-databases | gzip > mysql_username.sql

بعض الأوامر الأخرى :
tail : مثل cat ولكنه يقرأ نهاية الملف فقط
tail /var/log/messages لرؤية آخر 20 سطر من /var/log/messages
tail -f /var/log/messages : للمشاهدة المتواصلة للملف أثناء إجراء التغييرات عليه
tail -200 /var/log/messages : لطباعة آخر 200 سطر من الملف على الشاشة

more : مثل cat
more /etc/userdomains : للتصفح من خلال ملف الـ userdomains file.

pico : لاستخدام محرر النصوص
pico /home/burst/public_html/index.html : لتحرير صفحة الـ Index الخاصة بالمستخدم.

vi : محرر آخر للنصوص به الكثير من المميزات ولكنه أصعب من pico عند استخدامه للمرة الأولى
vi /home/burst/public_html/index.html : أيضاً لتحرير صفحة الـ Index الخاصة بالمستخدم.

touch : لإنشاء ملف فارغ
touch /home/burst/public_html/404.html : لإنشاء ملف فارغ يسمى 404.html داخل المجلد /home/burst/public_html/

ln : يقوم بإنشاء روابط بين الملفات والمجلدات
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : الآن يمكنك تحرير /etc/httpd.conf بدلاً من تحرير الملف الأصلي . وسوف تظهر التغييرات في الملف الأصلي أيضاً , كما أنه يمكنك مسح الرابط دون التغيير على الملف الأصلي.

rm : لحذف ملف
rm filename.txt : لحذف ملف بالسؤال التأكيد Confirmation للحذف
rm -f filename.txt : حذف الملف دون السؤال عن تأكيد الحذف.
rm -rf tmp/ : تحويل المجلد للـ tmp ويشمل هذا كل الملفات والمجلدات الفرعية بداخله.

last : لعرض من قام بتسجيل الدخول والزمن
last -20 : عرض آخر 20 عملية تسجيل دخول
last -20 -a : عرض آخر 20 عملية تسجيل دخول مع الـ Hostmane في آخر حقل

w : عرض المستخدمين الحاليين على السيرفر والذين قاموا بتسجيل الدخول وأين هم الآن في هذه اللحظة.

netstat : عرض جميع الجهات المتصلة حالياً .
netstat -an : عرض جميع الجهات المتصلة بالسيرفر بالإضافة للـ IP الخاص بكل اتصال والـ Port أو منفذ الاتصال.

top : لعرض live system processes في شكل جدول أنيق وكذلك معلومات الذاكرة والـ Uptime ومعلومات أخرى مفيدة , وهي ممتازة جداًً في عملية إدارة النظام وللتأكد من أن كل شيء يعمل جيداً.
للفرز حسب استخدام الذاكرة قم بكتابة top ومن ثم Shift + M
للفرز حسب استخدام الـ CPU قم بكتابة top ومن ثم Shift + P

ps: وهي اختصار لـ process status وهي مشابهة لأمر top . وهي لعرض الـ processes التي تعمل حالياً مع الـ PID أو الـ Process ID وهو رقم لتعريف الـ Process أو البرنامج ويمكنك إيقاف البرنامج من خلال هذا الرقم (فضلاً قم بمراجعة أوامر Kill
ps U username : عرض البرامج لمستخدم محدد
ps aux : عرض جميع الـ Processes أو البرامج التي تعمل
ps aux --forest : عرض جميع البرامج التي تعمل مثل السابق ولكن بتدرج جيد جداً ومفيد

du : لعرض استهلاك أو استخدام القرص Disk usage.
du -sh : لعرض ملخص عن المساحة المستخدمة بواسطة المجلد الحالي متضمناً المجلدات الفرعية.
du -sh * : نفس الشيء ولكن هذا يستخدم لكل ملف أو مجلد على حده ، وهو مفيد لإيجاد الملفات التي تحجز مساحة كبيرة

wc : عدد الكلمات
wc -l filename.txt : لمعرفة عدد سطور الملف المحدد

cp : لنسخ ملف
cp filename filename.backup : نسخ ملف لـ filename.backup
cp -a /home/burst/new_design/* /home/burst/public_html/ : لنسخ جميع الملفات مع الاحتفاظ بالتصاريح من مجلد لآخر

كيفية معرفة حجم ملف أو مجلد :

du -h /home/username/public_html/test


kill: لإيقاف برنامج محدد
kill -9 PID EG: kill -9 431
kill PID EG: kill 10550
قم باستخدام top أو ps ux لمعرفة الـ PIDs أو الـ Process IDs



ps -e
لعرض البروسيس الشغالة دلوقتى



كيفيه التأكد من صلاحيات المواقع الموجوده علي السيرفر و معرفه ما اذا كان احد منهم يستطيع الدخول الي الشل و له صلاحيات الروت ؟؟ (معرفة اي شخص يمتلك حساب روت هذا مهم جدا لما يكون سيرفرك اخترق وتريد تعرف وتتإكد من انه لا يوجد حساب روت اخر )

افتح الشل و طبق الامر التالي :
كود PHP:
pico /etc/passwd 
شوف مخرجات المواقع اذا حصلت كل يوزر بالشكل التالي

gogo:x:0:0::/home/gogo:/bin/bash


احذف اليوزرات و اجعلها بالشكل التالي
كود PHP:
gogo:x:32043:32045::/home/gogo:/usr/local/cpanel/bin/noshell 
توضيح :

:x:0:0::/ تعني صلاحيات الروت كامله

موقع عادي :x:32043:32045::/

فقط قم بتبديل gogo باليوزر تبع الموقع



للبحث عن الشيلات المشفرة اكتب الأمر التالي :
كود PHP:
find /home/*/public_html -name "*.php" -print | xargs egrep -l ' base64_' >> /root/result.txt 
بعدها تجد النتيجة في /root/result.txt
كود PHP:
pico /root/result.txt 

للتأكد من عدم وجود مستخدمين من دون باسورد
كود PHP:
awk -F'$2 == "" { print $1, "has no password!" }' /etc/shadow 
للبحث عن المستخدمين الذين لديهم صلاحيات مشابهة الى root
كود PHP:
awk -F'$3 == 0 { print $1, "is a superuser!" }' /etc/passwd 
للتحقق من الكلمات السرية الغير جيدة
كود PHP:
john /etc/shadow 

أمر البحث عن ملف معين

كود PHP:
find / -name "file.php" 

أمر نقل ملف معين إلى داخل الروت

كود PHP:
mv /home/files.tar.gz  /root


مشكلة رسائل Internal Server Error

دائما نرى كثير من هذه الرسائل تظهر في موقعنا او تظهر عند نقل موقع جديد
كود PHP:
Internal Server Error
The server encountered an internal error 
or misconfiguration and was unable to complete your request.

Please contact the server administratorwebmaster@******.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionallya 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request 

حل هذه المشكلة دائما في ملف الهيتكس .htaccess

او وضع ملف هيتكس فارغ


او حذف الملف كاملاً



لمعرفة اخر العمليات التي تمت داخل السيرفر من رفع ملفات او تعديل على ملفات وهذا الأمر مفيد جدا عند اختراق اي موقع على السيرفر تقدر من خلال هذا الأمر معرفة اخر العمليات التي تمت في السيرفر

اكتب الأامر التالي :
كود PHP:
grep  "uploaded" /var/log/messages 
وللبحث عن الملفات التي تم تعديلها في حساب معين ونفرض ان الحساب اسمه gogo خلال يوم واحد

نكتب الأمر التالي :
كود PHP:
find /home/gogo -type f -mtime -
ولو أردت البحث عن التعديلات خلال يومين عدل الmtime -1
الى mtime -2
سالب إثنين تعني أقل من يومين ,, سالب ثالثة أقل من ثلاث أيام
لو تضع موجب معناها اكثر من يوم او اكثر من يومين
وهكذا ....

لو أردت حصر النتائج على 10 نتائج

يمكنك القيام بالتالي :
كود PHP:
find /home/gogo -type f -mtime -tail 
لو أردت مثلا 15 نتيجة
تقوم بالتالي :
كود PHP:
find /home/mo9a7i -type f -mtime -tail -n 15 

معرفة اخر الأخطاء
كود PHP:
tail -/var/log/messages 

رد مع اقتباس