IIXPLANET
Expert 2.0
Bash Command Tutorial - System admin guide
Berikut saya akan berikan beberapa tutorial dalam menggunakan bash comand shell yg diantara nya mungkin belum pernah digunakan sebelumnya .
bash command ini diantaranya hasil experiment saya dan sangat membantu sekali dalam hal manage server khususnya meningkatkan security / stabilitas server / dan beberapa diantaranya untuk guide tambahan untuk administrasi sistem .
1.) ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f\t%.2f\n",num[user], user, cpu[user], mem[user]) }'
Fungsi :
Melihat top / high 10 process yg sangat besar dalam penggunaan cpu dan memory server .
=========================================================
2.) for USER in `ls /var/spool/cron`; do echo "=== crontab for $USER ==="; echo $USER; done
Fungsi :
Untuk melihat siapa saja user yg memiliki cron aktif dan dijalankan di server secara rutin .
=========================================================
3.) Mencari files yang berada dalam zip folder tanpa harus extract dahulu .
A. ) Buat 1 file katakan lah scan.sh di root
#!/bin/bash
find /home/ -name '*.zip' | while read file
do
echo "[*] Hasil Query Dari ${file}:"
echo "==================="
unzip -l "$file" | grep <nama kata yg dicari>
done
Note :
Misal saya mau cari kata photoshop-crack inside seluruh zip di / home user :
bagian bawah ubah text menjadi : grep photoshop-crack
B. ) Jalankan manual file pada ssh : sh scan.sh
klo untuk combine dengan cron anda bisa menambahkan pada crontab
root anda dan set mau dijalankan berapa jam sekali / hari
Deskripsi : selain zip saya juga pernah mencoba untuk tipe lain seperti rpm dan rar , jadi bisa di modifikasi sesuai kebutuhan .
=========================================================
4.) dd if=/dev/zero of=junk bs=1M count=1K
Fungsi :
Untuk merelease unused memory in server , flush temp cache buffer dalam memory server . count ini akan merelase sebesar 1 GB ram (1 M * 1k )
=========================================================
5.) find . -type f -size 0 -delete
Fungsi :
Untuk mencari file dengan ukuran 0 dan langsung menghapusnya auto .
=========================================================
6.) x=1; while [ $x = 1 ]; do process=`pgrep -u username`; if [ $process ]; then x=0; fi; done; strace -vvtf -s 256 -p $process
Fungsi :
Mencari tahu process apa saja yg sedang dilakukan / dijalankan oleh si user .
Ex : ganti username dengan nama user yg mau anda strace intip aktifitasnya.
=========================================================
7.) ps -o rss -C httpd | tail -n +2 | (sed 's/^/x+=/'; echo x) | bc
Fungsi :
Untuk mengetahui berapa banyak ram yang sedang dipakai suatu process , dalam hal ini saya mengambil sample httpd .
Ketika dijalankan cmd tsb maka akan auto calculate penggunaan memory dari seluruh process httpd tersebut diserver .
Info : anda bisa mengganti httpd dengan process lain untuk count memory usage seperti imap , mysqld , ftpd dll
=========================================================
8.) du -sk * |sort -rn |head
Fungsi :
Untuk melihat 10 list ukuran size terbesar dalam suatu folder / files
=========================================================
9.) Mencari string / kata yg kita ingin cari dalam suatu files , baik PHP , GIF , HTML , CGI dsb .
A.) find /home/username/ -name "*".php -type f -print0| xargs -0 grep "powered by rapidleech" | uniq -c | sort -u | cut -d":" -f1 | awk '{print "Penting - tolong check files berikut " $2}' | uniq
Fungsi :
cmd diatas berfungsi untuk scanning php files dalam path si username dan mencari 1 kata / strings dalam files php yg sesuai dengan "powered by rapidleech" .
( jika ketemu maka akan ada dilistnya beserta warning ) .
B.) find /home/username/ -name "*".php -type f -print0| xargs -0 egrep "rapidleech|c99" | uniq -c | sort -u | cut -d":" -f1 | awk '{print "Penting - tolong check files berikut " $2}' | uniq
Fungsi :
cmd diatas berfungsi untuk scanning php files dalam path si username dan mencari beberapa kata / strings dalam files php yg sesuai dengan rapidleech dan c99
( ini salah satu method yg saya gunakan untuk membuat plugin antivirus dalam cpanel) .
berbeda dengan A yg hanya dapat mencari 1 pattern kata , di B ini bisa memasukan beberapa
.
-> anda bisa memodifikasi dengan mencari kata yg sesuai untuk antisipasi misal untuk virus / rapidleech / shell attacker c99, r57 dsb.
content yg di ubah nama filesnya
akan ketahuan juga nanti , jadi buka dan copas aja isi script didalamnya dan masukan query yg terkandung di dalamnya beberapa ke string pattern searching .
jadi walaupun dia rubah nama files / dir nya yg failed di locate / di find berdasarkan nama files tetep akan ke scan melalui method ini karena scan ini mencari pattern text dalam isi filesnya dan bukan dari nama filesnya.
=========================================================
10.) cat /proc/cpuinfo
Fungsi :
Untuk melihat detail cpu information .
=========================================================
11.) Tracking ddos attack berdasarkan jumlah urutan IP dengan koneksi terbanyak
netstat -ntu | awk '{print $5}' | tail --lines=+3 | cut -s -d: -f1 | sort | uniq -c | sort -n -b -r
Fungsi :
Untuk tracking ddos attack value connection > 150
ex hasil :
# IP
------------------
129 114.58.67.xx
20 114.58.67.xx
dimana 129 adalah jumlah koneksi yg di dapat dari ip 114.58.67.xx
=========================================================
12.) env LANG=C pstree -c
Fungsi :
Untuk melihat process server berdasarkan tree status
=========================================================
13.) ps aux --sort=%mem,%cpu
Fungsi:
Sortir process bedasarkan penggunaan memory dan cpu .
14.) chown -R username:username dir
Fungsi :
Fixed nobody user yang run wrong permission right uid .
ex : folder test pada home user andi jalan / run tanpa right permission .
untuk fix lakukan hal sbb :
# cd /home/andi/public_html
# chown -R andi:andi test
setelah selesai lakukan test eksekusi editing dan upload data pada dir tersebut .
=========================================================
Demikian sedikit tutorial saya mengenai beberapa bash cmd yg mungkin bisa membantu anda dalam sistem administrasi server .
Tutorial lanjutan nanti akan saya tulis kembali berikut sensor server , dan beberapa cmd2 lainnya .
Berikut saya akan berikan beberapa tutorial dalam menggunakan bash comand shell yg diantara nya mungkin belum pernah digunakan sebelumnya .
bash command ini diantaranya hasil experiment saya dan sangat membantu sekali dalam hal manage server khususnya meningkatkan security / stabilitas server / dan beberapa diantaranya untuk guide tambahan untuk administrasi sistem .
1.) ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f\t%.2f\n",num[user], user, cpu[user], mem[user]) }'
Fungsi :
Melihat top / high 10 process yg sangat besar dalam penggunaan cpu dan memory server .
=========================================================
2.) for USER in `ls /var/spool/cron`; do echo "=== crontab for $USER ==="; echo $USER; done
Fungsi :
Untuk melihat siapa saja user yg memiliki cron aktif dan dijalankan di server secara rutin .
=========================================================
3.) Mencari files yang berada dalam zip folder tanpa harus extract dahulu .
A. ) Buat 1 file katakan lah scan.sh di root
#!/bin/bash
find /home/ -name '*.zip' | while read file
do
echo "[*] Hasil Query Dari ${file}:"
echo "==================="
unzip -l "$file" | grep <nama kata yg dicari>
done
Note :
Misal saya mau cari kata photoshop-crack inside seluruh zip di / home user :
bagian bawah ubah text menjadi : grep photoshop-crack
B. ) Jalankan manual file pada ssh : sh scan.sh
klo untuk combine dengan cron anda bisa menambahkan pada crontab
root anda dan set mau dijalankan berapa jam sekali / hari
Deskripsi : selain zip saya juga pernah mencoba untuk tipe lain seperti rpm dan rar , jadi bisa di modifikasi sesuai kebutuhan .
=========================================================
4.) dd if=/dev/zero of=junk bs=1M count=1K
Fungsi :
Untuk merelease unused memory in server , flush temp cache buffer dalam memory server . count ini akan merelase sebesar 1 GB ram (1 M * 1k )
=========================================================
5.) find . -type f -size 0 -delete
Fungsi :
Untuk mencari file dengan ukuran 0 dan langsung menghapusnya auto .
=========================================================
6.) x=1; while [ $x = 1 ]; do process=`pgrep -u username`; if [ $process ]; then x=0; fi; done; strace -vvtf -s 256 -p $process
Fungsi :
Mencari tahu process apa saja yg sedang dilakukan / dijalankan oleh si user .
Ex : ganti username dengan nama user yg mau anda strace intip aktifitasnya.
=========================================================
7.) ps -o rss -C httpd | tail -n +2 | (sed 's/^/x+=/'; echo x) | bc
Fungsi :
Untuk mengetahui berapa banyak ram yang sedang dipakai suatu process , dalam hal ini saya mengambil sample httpd .
Ketika dijalankan cmd tsb maka akan auto calculate penggunaan memory dari seluruh process httpd tersebut diserver .
Info : anda bisa mengganti httpd dengan process lain untuk count memory usage seperti imap , mysqld , ftpd dll

=========================================================
8.) du -sk * |sort -rn |head
Fungsi :
Untuk melihat 10 list ukuran size terbesar dalam suatu folder / files
=========================================================
9.) Mencari string / kata yg kita ingin cari dalam suatu files , baik PHP , GIF , HTML , CGI dsb .
A.) find /home/username/ -name "*".php -type f -print0| xargs -0 grep "powered by rapidleech" | uniq -c | sort -u | cut -d":" -f1 | awk '{print "Penting - tolong check files berikut " $2}' | uniq
Fungsi :
cmd diatas berfungsi untuk scanning php files dalam path si username dan mencari 1 kata / strings dalam files php yg sesuai dengan "powered by rapidleech" .
( jika ketemu maka akan ada dilistnya beserta warning ) .
B.) find /home/username/ -name "*".php -type f -print0| xargs -0 egrep "rapidleech|c99" | uniq -c | sort -u | cut -d":" -f1 | awk '{print "Penting - tolong check files berikut " $2}' | uniq
Fungsi :
cmd diatas berfungsi untuk scanning php files dalam path si username dan mencari beberapa kata / strings dalam files php yg sesuai dengan rapidleech dan c99
( ini salah satu method yg saya gunakan untuk membuat plugin antivirus dalam cpanel) .
berbeda dengan A yg hanya dapat mencari 1 pattern kata , di B ini bisa memasukan beberapa

-> anda bisa memodifikasi dengan mencari kata yg sesuai untuk antisipasi misal untuk virus / rapidleech / shell attacker c99, r57 dsb.
content yg di ubah nama filesnya

jadi walaupun dia rubah nama files / dir nya yg failed di locate / di find berdasarkan nama files tetep akan ke scan melalui method ini karena scan ini mencari pattern text dalam isi filesnya dan bukan dari nama filesnya.
=========================================================
10.) cat /proc/cpuinfo
Fungsi :
Untuk melihat detail cpu information .
=========================================================
11.) Tracking ddos attack berdasarkan jumlah urutan IP dengan koneksi terbanyak
netstat -ntu | awk '{print $5}' | tail --lines=+3 | cut -s -d: -f1 | sort | uniq -c | sort -n -b -r
Fungsi :
Untuk tracking ddos attack value connection > 150
ex hasil :
# IP
------------------
129 114.58.67.xx
20 114.58.67.xx
dimana 129 adalah jumlah koneksi yg di dapat dari ip 114.58.67.xx
=========================================================
12.) env LANG=C pstree -c
Fungsi :
Untuk melihat process server berdasarkan tree status
=========================================================
13.) ps aux --sort=%mem,%cpu
Fungsi:
Sortir process bedasarkan penggunaan memory dan cpu .
14.) chown -R username:username dir
Fungsi :
Fixed nobody user yang run wrong permission right uid .
ex : folder test pada home user andi jalan / run tanpa right permission .
untuk fix lakukan hal sbb :
# cd /home/andi/public_html
# chown -R andi:andi test
setelah selesai lakukan test eksekusi editing dan upload data pada dir tersebut .
=========================================================
Demikian sedikit tutorial saya mengenai beberapa bash cmd yg mungkin bisa membantu anda dalam sistem administrasi server .
Tutorial lanjutan nanti akan saya tulis kembali berikut sensor server , dan beberapa cmd2 lainnya .
Last edited by a moderator: