آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / Commnads

Commnads

آشنایی با دستور پرکاربرد ps در لینوکس

دستور ps مخفف processes status می باشد که یکی از دستورات موجود در تمام هسته های سیستم عامل لینوکس به منظور مشاهده وضعیت پروسس های در حال اجرا در سیستم می باشد.
در واقع این دستور تمامی اطلاعات خود را از فایل های موجود در مسیر /proc دریافت می کند. ps یکی از پرکاربردترین دستورات  برای مدیران سیستم به منظور مانیتورینگ پروسس های در حال اجرا یک سرور لینوکسی می باشد.
مجموعه سویچ های مورد استفاده در دستور ps بسیار زیاد می باشند، در ادامه ۱۵ دستور پرکاربرد ps را مرور می کنیم:

۱- نمایش تمامی پروسس ها در ترمینال فعال:

      ps

۲- نمایش تمامی پروسس ها در سیستم:

ps -A
ps -e

۳- نمایش تمامی پر.سس ها با اطلاعات جزئی تر:

ps -ef
ps -eF

۴- نمایش تمامی پروسس های مربوط به یه کاربر با استفاده از نام کاربری:

ps -u user_name

به جای user_name نام کاربر را قرار دهید: مثال:

ps -u root

۵- نمایش تمامی پروسس های مربوط به یک کاربر با

UserID: ps -fu User_ID

مثال:

ps -fu 1000

۶- نمایش تمامی پروسس های مربوط به یک گروه:

ps -fG group_name/group_ID
ps -fG apache ps -fG 68

۷- نمایش تمامی پروسس ها با استفاده از PID وPPID:

ps -fp PID
ps -fp PID1,PID2,PID3 
ps -fp 1000,1345,3456

۹- نمایش تمامی پروسس ها با استفاده از شماره ترمینال:

ps -t terminal_ID 
ps -t pst/0 ps -t tty1

۱۰- نمایش پروسس ها به صورت درختی:

ps -e --forest

۱۱- نمایش زیر پروسس های مربوط به یک پروسس خاص به صورت درختی:

ps -e --forest -C sshd

۱۲- نمایش اطلاعات دلخواه مربوط به یک پروسس:

ps -eo pid,ppid,user,cmd

۱۳- نمایش تمام PID های مربوط به یک پروسس:

ps -C apache2 -o pid=

۱۴- نمایش زمان اجرای یک پراسس از زمان شروع آن تا کنون:

ps -eo comm,etime,user | grep httpd

۱۵- نمایش پروسس ها بر اساس درصد استفاده از cpu. این دستور به منظور یافتن پروسس هایی که منابع زیادی مصرف می کنند مناسب می باشد.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

۱۶- نمایش پروسس ها بر اساس درصد استفاده از ram. این دستور به منظور یافتن پروسس هایی که منابع زیادی مصرف می کنند مناسب می باشد.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

تنظیم پرمیژن اکانت ها در cPanel

script to fix permissions and ownership, on files and directories, for cPanel accounts

اسکریپت را در مسیر دلخواه در سرور خود از لینک زیر دانلود کنید:

https://serversetup.co/dl/fixperms.zip

فایل را از حالت فشرده خارج کنید و سطح دسترسی آم را ۷۵۵ قرار دهید.

chmod +x fixperms.sh

برای تنظیم permision و owner های یک یوزر سی پنل دستور زیر را در ssh اجرا نمایید.

sh ./fixperms.sh -a USER-NAME

بجای USER-NAME نام کاربری اکانت مورد نظر را وارد نمایید.

برای تنظیم permision و owner تمام اکانت ها دستور زیر را وادر نمایید.

sh ./fixperms.sh -all

میتوانید این فایل را در cron سرور جهت اجرای بصورت مداوم قرار دهید.

  • این اسکریپت توسط سرورستاپ بهینه سازی شده  است.  برای اطلاعات بیشتر مطلب “پرمیژن طلایی” را مطالعه کنید.

 

خطای Unable to detect Apache version

Unable to detect Apache version from binary

در صورتی که پس در سرور WHM در سرویس apache با خطای زیر مواجه شدید.

Failed to get apache configuration: Unable to detect Apache version from binary
Failed to build Apache configuration file (/etc/apache2/conf/httpd.conf.work.699ccf6e)
Failed to get apache configuration: Unable to detect Apache version from binary

ابتدا از طریق ssh با دستور زیر نسخه apache سرور را پیدا کنید.

rpm -qa |grep ea-apache

در این مثال نسخه apache 2.4 در نظر گرفته شده است.

خروجی این دستور را کپی کنید، خروجی مقداری مشابه زیر خواهد بود.

ea-apache24-2.4.34-3.3.1.cpanel.x86_64

سپس با توجه به خروجی دستور اول، دستور زیر را اجرا کنید.

yum reinstall ea-apache24-2.4.34-3.3.1.cpanel.x86_64

 

خطای Domain already exists In The Userdata در سی پنل

Already exists in apache config  cPanel

مسیر را جهت وجود نام دامنه بررسی نمایید و در صورت وجود آن را حذف کنید.

grep $domain /var/cpanel/userdata/*/*

بجای domain نام دامنه را وارد کنید.

مسیر های زیر را نیز بررسی کنید.

grep domain.com /var/cpanel/users/*
grep -R domain.com /var/cpanel/userdata/*

در نهایت پس از از بررسی  و حذف نام دامنه دستورات زیر را اجرا کنید.

/scripts/rebuildhttpdconf

تغییر زمان TTL در دایرکت ادمین

در دایرکت ادمین امکان تنظیم زمان TTL برای سرویس DNS از طریق کنترل پنل وجود ندارد، اما میتوان از طریق تغییر در مقادیر پیش فرض از طریق خط فرمان تغییرات مورد نظر را انجام داد.

برای این منظور بصورت زیر عمل کنید.

cd /usr/local/directadmin/data/templates/custom
cp ../named.db .
nano named.db

و مقدار زیر را به دلخواه تنظیم کنید.

|?A_TIME=14400|

در صورتی که میخواهید فقط برای یک دامنه تنظیمات را اعمال کنید قبل از عبارت

$TTL 14400

و عبارت زیر را با توجه به نام دامنه خود تنظیم کنید.

|*If DOMAIN="yourcustomdomain.com"|
|?A_TIME=3600|
|*endif|
دستور بالا مقدار تمام A رکوردها دامنه را تنظیم میکند.

 

فعال کردن متد PUT و DELETE در apache و nginx در دایرکت ادمین

Enabling PUT and DELETE methods in apache/nginx

برای فعال سازی متد های DELETE و PUT در وب سرورهایی که از دایرکت ادمین استفاده میکنند باید دستورات زیر را در ssh وارد نمایید.

cd /usr/local/directadmin/custombuild
./build set http_methods GET:HEAD:POST:PUT:DELETE
./build rewrite_confs

 

نصب mod_Geoip در Cpanel

Install mod_geoip on cPanel with EasyApache

برای بستن IP های یک کشور یا شهر خاص در سرور میتوانید از ماژول geoip برای وب سرور خود استفاده کنید. در این آموزش نحوه نصب mod_geoip روی آپاچی در cpanel را آموزش میدهیم.

سرورستاپ

ابتدا epel را نصب کنید.

yum install epel-release

سپس ماژول های زیر را نصب کنید.

yum install GeoIP GeoIP-devel GeoIP-data zlib-devel

در مسیر

/usr/share/GeoIP

پکیج های زیر را دانلود و extract کنید.

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP2.dat.gz
gunzip GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity2.dat.gz
gunzip GeoLiteCity.dat.gz

اکنون موارد زیر را نصب کنید.

yum install httpd-devel apr-devel ea-apache24-devel.x86_64 ea-apache24-tools.x86_64

اکنون باید ماژول mod_geoip برای Apache کامپایل شود.

cd /usr/share/GeoIP
wget https://github.com/maxmind/geoip-api-mod_geoip2/archive/1.2.10.tar.gz
tar xvzf 1.2.10.tar.gz
cd geoip-api-mod_geoip2-1.2.10/
sed s/remote_ip/client_ip/g -i mod_geoip.c
apxs -i -a -L/usr/lib64 -I/usr/include -lGeoIP -c mod_geoip.c

اکنون فایل mod_geoip.conf باز کنید.

nano /etc/apache2/conf.modules.d/mod_geoip.conf

مقادیر زیر را در آن قرار دهید.

LoadModule geoip_module /usr/lib64/apache2/modules/mod_geoip.so
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat Standard
GeoIPDBFile /usr/share/GeoIP/GeoLiteCity.dat Standard
</IfModule>

در نهایت سرویس apache را restart کنید.

service httpd restart

برای اطمینان از نصب دستور زیر را وارد کنید..

httpd -M | grep geoip

 

دستورات پرکاربرد CXS scanner

CXS ConfigServer eXploit Scanner commands

در این پست با برخی از دستورات command های پرکاربرد اسنکر CXS آشنا می شویم.

اسکن یک یوزر خاص :
cxs --user USERNAME
اسکن تمام یوزرها:
cxs --allusers
اسکن یک فایل:
cxs /path of the file
cxs /home/USERNAME/public_html/xmlrpc.php
اسکن در حالت کنترل load سرور
cxs -T [num]
اسکن در background
cxs -B
بروز رسانی نسخه CXS
cxs -U
ارسال گزارش فایل مخرب جدید به دیتابیس cxs
cxs --wttw​ [filename]
اسکن کردن تنها از public_html و دایرکتوری ها داخلی آن
cxs --www [file]
پیوست کردن log نتیجه اسکن به یک فایل خاص
cxs --logfile [file]
حذف فایل های قرنطینه شده
cxs -D

دانلود تمام اطلاعات از طریق FTP

Full site download via FTP using wget

دریافت تمام فایل ها از طریق FTP کار دشوار و زمان بری می باشد. در این آموزش طریقه دانلود تمام اطلاعات از طریق اکانت FTP در سرور را با یک دستور بررسی می نماییم.

در سرور مقصد SSH نمایید.

wget -m ftp://Username:Password@DestinitionIP

ویا دستور زیر

wget -r --ftp-user=Username --ftp-password=Password -l 25 ftp://ftp.Domain.com/dir


کافی است اطلاعات اکانت FTP مبدا را وارد نمایید تا تمام اطلاعات در مقصد دریافت شود.