Dasar Bash Programming

Bahasan mengenai bahasa pemrograman bash/shell ini merupakan materi dari acara sharing bulanan yang rutin diadakan oleh KSLSOLUSI. Oke langsung saja ke materi :)

Bash Programming

  • Sejarah Singkat

Bash (Bourne-Again Shell) adalah sebuah shell, atau interpreter perintah baris , untuk sistem operasi GNU / Linux . Bash ditulis oleh Brian Fox.Bash merupakan pengembangan dari Bourne Shell (sh) yang ditulis oleh Stephen Bourne.

  • Contoh Script Bash

Contoh script sederhana yang menampilkan “Hello World”

#!/bin/bash
echo “Hello World!”

Gunakan text editor untuk ketiklah script diatas, lalu simpan dengan dengan ektensi *.sh seperti gambar di bawah.

 

 

 

Gunakan terminal untuk menjalankan script *.sh sesuai dengan lokasi dimana  disimpannya script *.sh tersebut.

Berikut untuk metode memasukkan inputan.

#!/bin/bash
echo -n ”Masukkan nama Anda : ”
read nama
echo ”Hallo $nama, Selamat Datang”

 

 

 

 

Metode inputan seperti script diatas merupakan hal yang dasar dalam bahasa pemrograman bash.

Untuk program matematika sederhana dalam bash, hampir sama dengan bahasa pemrograman lainnya.

#!/bin/bash
a=10
b=5

let jumlah=$a+$b
let kurang=$a-$b
let kali=$a*$b
let bagi=$a/$b
let mod=$a%$b
echo “$a+$b=$jumlah”
echo “$a-$b=$kurang”
echo “$a*$b=$kali”
echo “$a/$b=$bagi”
echo “$a%$b=$mod

Operator matematika dalam pemrograman bash, tidak jauh beda dengan operator bahasa pemrograman lainya seperti C/C++, Java dan lainya, seperti “+” untuk penjumlahan, “-” untuk pengurangan, “*” untuk perkalian dan “/” untuk proses pembagian serta “%” untuk sisa dari hasil pembagian.

Berikut merupakan program sederhana dari bahasa pemrograman bash

#!/bin/bash

clear
echo “MENU HARI INI”
echo “————-”
echo “1. Bakso     ”
echo “2. Mie Ayam  ”
echo “3. Exit      ”
read -p “Piliahan anda [1-3] :” pil

if [ $pil -eq 1 ]
then
read -p “Berapa Porsi ? ” jum
let bayar=jum*4500

elif [ $pil -eq 2 ]
then
read -p “Berapa Porsi ? ” jum
let bayar=jum*5000
elif [ $pil -eq 3 ]
then
exit 0
else
echo “Maaf, pilihan tidak tersedia”
exit 1
fi

echo “Harga bayar = Rp. $bayar”

 

 

 

 

 

 

Dari program sederhana di atas terdiri dari proses permisalan mengunakan if namun dilihat dari scriptnya untuk akhir dari if ……… yang menjadi pengakhiran suatu kondisinya ialah fi . Demikian bahasan materi rutin KSLSOLUSI kali ini, semoga dapat memberikan manfaat bagi teman – teman semua “Keep Share” :)

Posted in bash, Bash programming, Pemrograman, pemrograman bash, shell, unsri | Leave a comment

https in slackware

Kutipan dari wikipedia:

Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee. Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak perlu membuang waktu untuk pembuatan koneksi berulang-ulang.

Secure Socket Layer (SSL) dan Transport Layer Security (TLS), merupakan kelanjutan dari protokol kriptografi yang menyediakan komunikasi yang aman di Internet. Protocol SSL dan TLS berjalan pada layer dibawah application protocol seperti HTTP, SMTP and NNTP dan di atas layer TCP transport protocol, yang juga merupakan bagian dari TCP/IP protocol. Selama SSL dan TLS dapat menambahkan keamanan ke protocol apa saja yang menggunakan TCP, keduanya terdapat paling sering pada metode akses HTTPS. HTTPS menyediakan keamanan web-pages untuk aplikasi seperti pada Electronic commerce. Protocol SSL dan TLS menggunakan cryptography public-key dan sertifikat publik key untuk memastikan identitas dari pihak yang dimaksud. Sejalan dengan peningkatan jumlah client dan server yang dapat mendukung TLS atau SSL alami, dan beberapa masih belum mendukung. Dalam hal ini, pengguna dari server atau client dapat menggunakan produk standalone-SSL seperti halnya Stunnel untuk menyediakan enkripsi SSL.

Protokol transfer hiperteks adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris. Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual.

Menggabungkan protocol http dengan ssl pada slackware sehingga menjadi https  dengan langkah sebagai berikut :

 

1.  editlah file httpd.conf

# nano /etc/httpd/httpd.conf

 

2. hapuslah tanda pagar “#” didepan kata LoadModule ssl_module lib

LoadModule ssl_module lib/httpd/modules/mod_ssl.so

 

3. kemudian aktifkan dengan menghapus tanda pagar “# ” didepan kata Include

 # Various default settings
Include /etc/httpd/extra/httpd-default.conf

 

4. hapus juga tanda pagar “#” didepan kata Include

# Secure (SSL/TLS) connections
Include /etc/httpd/extra/httpd-ssl.conf

 

5. masuke kedalam direktori /etc/httpd

# cd   /etc/httpd

Setelah mengetikkan perintah dibawah ini akan diminta isikan apa saja yang diminta

# openssl genrsa -des3 -out server.key 1024

# openssl req -new -key server.key -out server.csr

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 

6. Berikutnya adalah

# cp server.key server.key.orig

# openssl rsa -in server.key.orig -out server.key

 

7. Untuk melindungi key file , ketikkan permission seperti dibawah ini :

# chmod 400 server.*

 

8. Masuk ke direktory extra :

# cd  /etc/httpd/extra

# nano /etc/httpd/extra/httpd-default.conf

ubahlah seperti berikut :

ServerTokens Prod 
ServerSignature Off

 

9. Kemudian edit file :

# nano httpd-ssl.conf

ServerName www.domain.tld:443 
SSLCertificateFile "/etc/ssl/apache/server.crt"
SSLCertificateKeyFile "/etc/ssl/apache/server.key"

 

10. Pada file httpd-ssl.conf perhatikan parameter dibawah ini

#   General setup for the virtual host
DocumentRoot “/lelaki-sejati”                ( jika tidak ada perubahan pada path DocumenRoot biarkan saja seperti default)
ServerName www.palembang-slackers.org:443
ServerAdmin molaviarman@gmail.com

 

11. Kemudian restart httpd dengan perintah :

# /etc/rc.d/rc.httpd  restart

 

12. Pastikan port 80 dan 443  dalam kondisi listening

# netstat -pln | grep 80

# netstat -pln | grep 443

 

Pesan Slackers : Jangan mudah menyerah untuk menjadi lelaki sejati, hahahah :)

Incoming search terms for the article:

Leave a comment

export,import serta mengembalikan password root mysql

Perintah export pada database di mysql adalah sebagai berikut :

# mysqldump [Nama Database] -u [Username] -h [Host] -p [Password] > [Nama File Database].sql

Perintah import pada database di mysql adalah sebagai berikut :

# mysql [Nama Database] -u [Username] -h [Host] -p [Password] < [Nama File Database].sql

Mengembalikan password root mysql adalah sebagai berikut :

1. Matikan service mysql

2. Jalankan service mysql tanpa password adalah sebagai berikut

# mysqld_safe –skip-grant-tables &

3.Login ke mysql kembali sebagai berikut :

# mysql -u root

mysql>

Kemudian

4. perintah password baru untuk user root mysql:

mysql> use mysql;
mysql> update user set password=PASSWORD(’123456′) where User=’root’;
mysql> flush privileges;
mysql> quit

5. Hentikan service mysql sebagai berikut :

# /etc/rc.d/rc.mysqld stop

6. Jalankan kembali service mysql

# /etc/rc.d/rc.mysqd start

# mysql -u root -p

Incoming search terms for the article:

Leave a comment

Kilas balik kegiatan KSLSOLUSI dan KPLI Palembang

Sudah satu tahun yang lalu kegiatan KSLSOLUSI ini dan sekedar meng-kilas balikkan sekaligus juga sebagai arsip kegiatan organisasi kami, yaitu kegiatan Ubuntu Maverick Release Party (MRP) yang diadakan tanggal 21 Desember 2010 bertempat di gedung Diploma Komputer Universitas Sriwijaya bukit besar Palembang. Kegiatan ini merupakan kerjasama KSLSOLUSI Fasilkom UNSRI dan KPLI Palembang yang mempunyai visi yang sama yaitu ingin berbagi pengetahuan dengan sistem operasi linux kepada masyarakat pada umumnya. Acara yang diliput juga oleh kru Sriwijaya TV dan disiarkan dalam acara B’ladas.

Berikut merupakan arsip liputan kecil *tidak sepenuhnya dipublish

Dan masih banyak lagi acara yang rutin diselengarakan KPLI Palembang dengan KSLSOLUSI diantaranya Release Party OS Ubuntu, Sharing bulanan membahas materi yang berkaitan dengan GNU/Linux, F/OSS dalam lingkup Networking,Programming,Office,Hacking, dan lainnya.

Posted in linux, unsri | Leave a comment

Full Circle Magazine Majalah Online Linux Ubuntu

Bagi teman – teman yang mungkin belum banyak tahu tentang majalah online bulanan yang menyediakan rubrik khusus linux Ubuntu, maka salaha satu situs yang menjadi favorit saya *penulis yaitu Full Circle Magazine , banyak yang dibahas dalam majalah online tersebut dan selalu up-to-date dengan perkembangan distro kesayangan anda, yaitu Ubuntu.

Posted in fasilkom, fasilkom unsri, full circle magazine, ilkom, indralaya, kelompok studi linux, ksl, kslsolusi, linux, solusi, universitas sriwijaya, unsri | Leave a comment

Web Server (httpd)

Sudah lama juga tidak menulis sebuah tutorial sederhana , kali ini saya akan menulis mengenai web server (httpd).  Kebetulan tadi siang saya baca-baca di pesbuk temen SSX – Solus System X sebuah tutorial sederhana tapi cukup penting :

Slackware  menggunakan web server apache dengan nama paket httpd , paket-paket yang dibutuhkan (depedencies) adalah sebagai berikut:

httpd php apr apr-util qca-cyrus-sasl cyrus-sasllibmcrypt  enchant t1lib sqlite aspell aspell-en net-snmp libxslt libgcrypt libgpg-error

paket php tidak perlu digunakan jika menggunakan html saja. File konfigurasi httpd adalah sebagai berikut : httpd.conf

Slackware :

DocumentRoot  —-> /var/www/htdocs

File konfigurasi utama httpd.conf —-> /etc/httpd/httpd.conf

File konfigurasi tambahan  —-> /etc/httpd/extra

Letak file konfigurasi php  —-> /etc/httpd/php.ini

 

Intruksi dasar Slackware :

# chmod 755 /etc/rc.d/rc.httpd —> untuk memberikan hak eksekusi

Start httpd —> /etc/rc.d/rc.httpd  start

Stop httpd —> /etc/rc.d/rc.httpd  stop

Restart Apache  —>  /etc/rc.d/rc.httpd restart

 

Agar file file index.php dieksekusi langsung maka tambahkan pada httpd.conf seperti dibawah ini :

< IfModule dir_module>

DirectoryIndex index.html index.php

< / IfModule>

Sedikit lebih aman jika opsi indexes di atas Anda rubah menjadi -indexes. Untuk setiap perubahan pada httpd.conf diharuskan merestart httpd.

 

Incoming search terms for the article:

Leave a comment

“Pempek” nya UNSRI

Universitas Sriwijaya dengan bantuan TIM ICT UNSRI ingin meningkatkan penggunaan sistem operasi linux dengan membangun portal download untuk berbagai sistem operasi linux kepada para civitas Universitas Sriwijaya khususnya dan kepada masyarakat luas pada umumnya, yaitu pempek.unsri.ac.id . Semoga bisa menuju UNSRI yang berpengetahuan luas dengan sistem operasi berbasis open source

Posted in unsri | Leave a comment

Mengenal Linux Command Line

Bagi kita ada berbagai kendala yang dihadapi oleh pengguna linux,yaitu perintah – perintah yang menjadi dasar sistem operasi linux itu sendiri. berikut merupakan beberapa command line linux yang menjadi dasar (sumber : LinuxGuide)

Informasi Sistem

Perintah Deskripsi
# arch lihat arsitektur dari mesin(1)   [man]
# cal 2007 lihat tabel kalendar tahun 2007   [man]
# cat /proc/cpuinfo menampilkan informasi CPU   [man]
# cat /proc/interrupts tampilkan penggunaan interupsi   [man]
# cat /proc/meminfo lihat penggunaan memori komputer   [man]
# cat /proc/swaps menampilkan partisi swap yang dipakai linux sebagai memori virtual   [man]
# cat /proc/version tampilkan versi dari kernel.   [man]
# cat /proc/net/dev menampilkan informasi kartu nic dan statistik penggunaan nic   [man]
# cat /proc/mounts tampilkan filesystem yang termuat   [man]
# clock -w simpan perubahan tanggal di BIOS.   [man]
# date tampilkan tanggal sistem   [man]
# date 041217002007.00 tetapkan tanggal dan waktu – BulanHariJamMenitTahun.Detik   [man]
# dmidecode -q tampilkan komponen-komponen perangkat keras dari sistem   [man]
# hdparm -i /dev/hda tampilkan karakteristik dari sebuah hard-disk   [man]
# hdparm -tT /dev/sda uji coba tes baca pada sebuah hard-disk   [man]
# lspci -tv tampilkan perangkat-perangkat PCI yang ada   [man]
# lsusb -tv tampilkan perangkat-perangkat USB   [man]
# uname -m tampilkan arsitektur mesin(2)   [man]
# uname -r tampilkan versi dari kernel yang digunakan   [man]

Perintah Shutdown

Perintah Deskripsi
# init 0 matikan sistem(2), matikan komputer   [man]
# logout keluar dari sesi   [man]
# reboot memulai ulang sistem linux anda   [man]
# shutdown -h now mematikan komputer   [man]
# shutdown -h 16:30 & menjadwalkan saat sistem dimatikan   [man]
# shutdown -c membatalkan mematikan sistem yang telah dijadwalkan   [man]
# shutdown -r now memulai ulang sistem linux anda   [man]
# telinit 0 mematikan sistem   [man]

Berkas, Direktori

Perintah Deskripsi
# cd /home masuk ke direktori ‘/home’   [man]
# cd .. kembali satu tingkat di atas direktori saat ini   [man]
# cd ../.. kembali dua tingkat   [man]
# cd kembali ke direktori ‘home’   [man]
# cd ~user1 kembali ke direktori ‘home’   [man]
# cd - kembali ke direktori sebelumnya   [man]
# cp file1 file2 menyalin ‘file1′ ke ‘file2′   [man]
# cp dir/* . menyalin semua isi direktori ‘dir’ ke direktori aktif   [man]
# cp -a /tmp/dir1 . menyalin direktori ke direktori anda berada sekarang   [man]
# cp -a dir1 dir2 salin sebuah direktori   [man]
# cp file file1 menghasilkan tipe mime dari file sebagai teks   [man]
# iconv -l memperlihatkan daftar pengkodean kelompok karakter yang dikenali   [man]
# iconv -f fromEncoding -t toEncoding inputFile > outputFile menterjemahkan pengkodean karakter dari satu format ke format yang lain   [man]
# find . -maxdepth 1 -name *.jpg -print -exec convert ubah sekumpulan berkas gambar dalam direktori aktif dan mengirim mereka ke direktori thumbnail (perlu konversi menggunakan Imagemagick)   [man]
# ln -s file1 lnk1 membuat sebuah tautan simbolis untuk ‘file1′ ke suatu berkas tautan ‘lnk1′   [man]
# ln file1 lnk1 membuat tautan fisik antara ‘file1′ dengan berkas tautan ‘lnk1′   [man]
# ls tampilkan berkas-berkas dalam direktori   [man]
# ls -F tampilkan berkas-berkas dalam direktori   [man]
# ls -l menampilkan detil berkas dalam direktori   [man]
# ls -a menampilkan berkas-berkas yang tersembunyi   [man]
# ls *[0-9]* menampilkan berkas-berkas serta direktori yang namanya mengandung angka   [man]
# lstree menampilkan direktori dalam satu diagram pohon   [man]
# mkdir dir1 membuat sebuah direktori yang diberi nama ‘dir1′   [man]
# mkdir dir1 dir2 membuat dua direktori dengan satu perintah   [man]
# mkdir -p /tmp/dir1/dir2 membuat pohon direktori   [man]
# mv dir1 new_dir merubah nama atau memindahkan direktori dari ‘dir1′ ke ‘new_dir’   [man]
# pwd menunjukkan setapak dari direktori saat ini   [man]
# rm -f file1 hapus berkas yang bernama ‘file1′.   [man]
# rm -rf dir1 menghapus direktori ‘dir1′ beserta isinya tanpa konfirmasi lagi   [man]
# rm -rf dir1 dir2 menghapus dua direktori beserta isinya tanpa konfirmasi lagi   [man]
# rmdir dir1 menghapus direktori ‘dir1′   [man]
# touch -t 0712250000 file1 merubah jejakwaktu suatu berkas atau direktori – (YYMMDDhhmm)   [man]
# tree menampilkan diagram pohon direktori   [man]

Pencarian Berkas

Perintah Deskripsi
# find / -name file1 mencari berkas dan direktori bernama ‘file1′ dari ‘/’   [man]
# find / -user user1 mencari berkas dan direktori milik ‘user1′   [man]
# find /home/user1 -name \*.bin mencari berkas dengan ekstensi ‘.bin’ di dalam direktori ‘/home/user1′   [man]
# find /usr/bin -type f -atime +100 mencari berkas biner yang tidak pernah diakses dalam 100 hari terakhir   [man]
# find /usr/bin -type f -mtime -10 mencari berkas yang dibuat atau dirubah dalam 10 hari terakhir   [man]
# find / -name *.rpm -exec chmod 755 ‘{}’ \; mencari berkas dengan ekstensi ‘.rpm’ serta merubah hak berkas saat ketemu   [man]
# find / -xdev -name \*.rpm mencari berkas dengan ekstensi ‘.rpm’ dengan mengabaikan partisi yang dapat berpindah seperti cdrom, flash-disk, dll….   [man]
# locate \*.ps mencari berkas dengan ekstensi ‘.ps’ – sebelumnya jalankan perintah ‘updatedb’ agar pencarian berhasil   [man]
# whereis halt menunjukkan lokasi dari berkas biner, sumber atau man   [man]
# which halt menunjukkan alamat lengkap ke suatu berkas biner / executable   [man]

Memuat FileSystem

Perintah Deskripsi
# fuser -km /mnt/hda2 melakukan umount secara paksa ketika perangkat sedang sibuk   [man]
# mount /dev/hda2 /mnt/hda2 memuat disk hda2 – memverifikasi keberadaan direktori ‘/mnt/hda2′   [man]
# mount /dev/fd0 /mnt/floppy memuat floppy disk   [man]
# mount /dev/cdrom /mnt/cdrom memuat cdrom / dvdrom   [man]
# mount /dev/hdc /mnt/cdrecorder memuat cdrw / dvdrom   [man]
# mount /dev/hdb /mnt/cdrecorder memasang cdrw / dvdrw   [man]
# mount -o loop file.iso /mnt/cdrom memuat berkas atau image iso   [man]
# mount -t vfat /dev/hda5 /mnt/hda5 memuat filesystem Windows FAT32   [man]
# mount /dev/sda1 /mnt/usbdisk memuat pen-drive atau flash-drive usb   [man]
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share memuat disk berbagi pakai dari pc windows   [man]
# umount /dev/hda2 melepaskan disk hda2 – keluar dari titik muat ‘/mnt/hda2′ terlebih dahulu agar berhasil   [man]
# umount -n /mnt/hda2 menjalankan umount tanpa menulis ke berkas /etc/mtab – berguna ketika berkas dalam kondisi hanya-baca atau hard disk penuh   [man]

Ruang Harddisk

Perintah Deskripsi
# df -h menampilkan daftar partisi yang termuat   [man]
# dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n menunjukkan ruang yang terpakai oleh paket-paket deb yang telah terpasang, diurut berdasarkan ukuran (debian, ubuntu dan sejenisnya)   [man]
# du -sh dir1 memperkirakan ruang yang terpakai oleh direktori ‘dir1′   [man]
# du -sk * | sort -rn menunjukkan ukuran berbagai berkas dan direktori yang diurut berdasarkan ukuran   [man]
# ls -lSr |more menunjukkan ukuran berbagai berkas dan direktori yang diurut berdasarkan ukuran   [man]
# rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n menunjukkan ruangan yang terpakai oleh paket-paket rpm yang telah terpasang, diurut berdasarkan ukuran (fedora, redhat dan sejenisnya)   [man]

Pengguna dan Grup

Perintah Deskripsi
# test user [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# chage -E 2005-12-31 user1 menetapkan batas waktu untuk sandi lewat
# groupadd [group] membuat grup baru
# groupdel [group] menghapus grup
# groupmod -n moon sun merubah nama grup dari moon menjadi sun
# grpck memeriksa sintaks yang benar dan bentuk data dari ‘/etc/group’ serta grup yang ada
# newgrp – [group] masuk ke dalam grup baru untuk merubah grup standar dari data yang baru dibuat
# passwd merubah sandi lewat
# passwd user1 merubah sandi lewat pengguna (hanya oleh root)
# pwck memeriksa sintaks yang benar serta format data dari ‘/etc/passwd’ dan pengguna yang ada
# useradd -c “User Linux” -g admin -d /home/user1 -s /bin/bash user1 membuat pengguna baru “user1″ yang dimiliki oleh grup “admin”
# useradd user1 membuat pengguna baru
# userdel -r user1 menghapus pengguna (‘-r’ menghilangkan direktori home)
# usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 merubah atribut pengguna

Hak Akses

Perintah Deskripsi
# chgrp group1 file1 merubah grup dari data
# chmod ugo+rwx directory1 menetapkan izin membaca (r), menulis (w) dan (x) akses ke pemilik pengguna (u) grup (g) dan lainnya (o)
# chmod go-rwx directory1 memindahkan izin membaca (r), menulis (w) dan (x) akses ke pemilik pengguna (g) dan lainnya (o)
# chmod u+s /bin/file1 menetapkan bit SUID pada data binari – pengguna yang menjalankan data tersebut memperoleh izin yang sama seperti pemilik
# chmod u-s /bin/file1 Mematikan bit SUID pada data binari
# chmod g+s /home/public menetapkan bit SGID pada direktori – mirip dengan SUID tapi untuk direktori
# chmod g-s /home/public non-aktifkan bit SGID pada direktori
# chmod o+t /home/public menetapkan bit STIKY pada direktori – mengizinkan penghapusan data hanya untuk pemilik yang sah
# chmod o-t /home/public non-aktifkan bit STIKY pada direktori
# chown user1 file1 merubah kepemilikan dari data
# chown -R user1 directory1 merubah pengguna pemilik dari direktori dan semua data serta direktori yang ada di dalamnya
# chown user1:group1 file1 Merubah pemilik dan Group dari sebuah File
# find / -perm -u+s melihat semua file di dalam sistem dengan konfigurasi SUID
# ls -lh memperlihatkan hal-hal yang diizinkan di dalam file-file
# ls /tmp | pr -T5 -W$COLUMNS membagi terminal menjadi 5 kolom

Atribut pada berkas

Perintah Deskripsi
# chattr +a file1 untuk menuliskan kata pembuka dari suatu file dengan mode lampiran
# chattr +c file1 mengizinkan kompresi/dekompresi file secara otomatis oleh kernel
# chattr +d file1 memastikan program mengabaikan Dump pada saat proses backup file
# chattr +i file1 mengekalkan file tertentu, sehingga tidak dapat dihapus, diubah, diganti nama, atau di-link-kan
# chattr +s file1 membuat file tertentu aman saat dihapus
# chattr +S file1 memastikan file yang telah dimodifikasi tertulis dengan mode sinkronis (snychronous mode) layaknya dengan sync
# chattr +u file1 membuatmu bisa menemukan kembali konten yang sudah ter-cancel.
# lsattr untuk memperlihatkan atribut-atribut spesial

Arsip dan berkas terkompresi

Perintah Deskripsi
# bunzip2 file1.bz2 melakukan dekompresi suatu berkas bernama ‘file1.bz2′
# bzip2 file1 melakukan kompresi suatu berkas bernama ‘file1′
# gunzip file1.gz melakukan dekompresi suatu berkas bernama ‘file1.gz’
# gzip file1 melakukan kompresi suatu berkas bernama ‘file1′
# gzip -9 file1 melakukan kompresi secara maksimal
# rar a file1.rar test_file membuat suatu arsip rar bernama ‘file1.rar’
# rar a file1.rar file1 file2 dir1 melakukan kompresi ‘file1′, ‘file2′ dan ‘dir1′ secara simultan
# rar x file1.rar melakukan dekompresi arsip berekstensi rar
# tar -cvf archive.tar file1 membuat suatu arsip tar agar tidak terkompresi
# tar -cvf archive.tar file1 file2 dir1 membuat arsip yang memuat ‘file1′, ‘file2′ dan ‘dir1′
# tar -tf archive.tar memperlihatkan konten suatu arsip
# tar -xvf archive.tar mengekstrak suatu arsip tar
# tar -xvf archive.tar -C /tmp mengekstrak arsip tar ke /tmp
# tar -cvfj archive.tar.bz2 dir1 mengkompresi direktori ‘dir1′ ke dalam arsip bzip2
# tar -xvfj archive.tar.bz2 melakukan dekompresi terhadap arsip bzip2
# tar -cvfz archive.tar.gz dir1 mengkompresi direktori ‘dir1′ ke dalam arsip gzip
# tar -xvfz archive.tar.gz melakukan dekompresi terhadap arsip gzip
# unrar x file1.rar melakukan dekompresi arsip berekstensi rar
# unzip file1.zip melakukan dekompresi arsip berekstensi zip
# zip file1.zip file1 mengkompresi berkas ‘file1′ ke dalam arsip zip
# zip -r file1.zip file1 file2 dir1 mengkompresi beberapa file dan direktori ke dalam arsip zip secara simultan

Command line penguna Paket RPM (Redhat Packet Manager)

Perintah Deskripsi
# rpm -ivh [package.rpm] menginstal suatu paket rpm
# rpm -ivh –nodeeps [package.rpm] meenginstal suatu paket rpm dengan mengabaikan permintaan file-file pendukungnya (dependencies)
# rpm -U [package.rpm] melakukan upgrade suatu paket rpm tanpa mengubah konfigurasi file-filenya
# rpm -F [package.rpm] melakukan upgrade suatu paket rpm hanya ketika paket tersebut telah terinstal
# rpm -e [package] menghapus paket rpm
# rpm -qa memperlihatkan semua paket-paket rpm yang terinstal pada sistem
# rpm -qa | grep httpd memperlihatkan semua paket-paket rpm dengan nama “httpd”
# rpm -qi [package] mendapatkan informasi dari paket tententu yang terinstal
# rpm -qg “System Environment/Daemons” memperlihatkan paket-paket rpm sebagai suatu kumpulan software
# rpm -ql [package] memperlihatkan daftar file-file yang disajikan oleh paket-paket rmp yang terinstal
# rpm -qc [package] memperlihatkan daftar konfigurasi file-file yang disajikan oleh suatu paket rpm yang terinstal
# rpm -q [package] –whatrequires memperlihatkan daftar file dukungan yang dibutuhkan oleh suatu paket rpm
# rpm -q [package] –whatprovides memperlihatkan kemampuan yang disajikan oleh suatu paket rpm
# rpm -q [package] –scripts memperlihatkan tulisan (script) ketika instalasa/penghapusan dimulai
# rpm -q [package] –changelog memperlihatkan sejarah perbaikan dari suatu paket rpm
# rpm -qf /etc/httpd/conf/httpd.conf memeriksa file yang ikutserta dalam paket rpm
# rpm -qp [package.rpm] -l memperlihatkan daftar file-file yang disajikan paket rpm namun belum terinstal
# rpm –import /media/cdrom/RPM-GPG-KEY meng-import public-key digital signature
# rpm –checksig [package.rpm] memastikan integritas dari paket rpm
# rpm -qa gpg-pubkey memeriksa integritas semua paket rpm yang terinstal
# rpm -V [package] memeriksa ukuran file, izin, tipe, kepemilikan, kumpulan, MD5 ckecksum dan modifikasi terakhir
# rpm -Va memeriksa semua paket-paket rpm yang terinstal di sistim – agar digunakan dengan hati-hati
# rpm -Vp [package.rpm] memeriksa suatu paket rpm yang berlum terinstal
# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm] menginstal paket yang terbuat dari soure rpm
# rpm2cpio [package.rpm] | cpio –extract –make-directories *bin* mengekstrak file executable dari suatu paket rpm
# rpmbuild –rebuild [package.src.rpm] membuat suatu paket rpm dari source rpm

Peralatan paket YUM (redhat,fedora,centOs,dll)

Perintah Deskripsi
# yum -y install [package] mengunduh dan menginstal suatu paket rpm
# yum localinstall [package.rpm] untuk menginstal RPM, dan mencoba untuk menyelesaikan semua dependensi yang dapat digunakan oleh repositori Anda
# yum -y update mengupdate paket-paket rpm yang telah terinstal di sistem
# yum update [package] mengupgrade paket rpm
# yum remove [package] menghapus suatu paket rpm
# yum list menampilkan daftar paket-paket yang terinstal di sistem
# yum search [package] menemukan suatu paket tertentu pada repository rpm
# yum clean [package] membersihkan chache penghapusan paket-paket rpm yang telah diunduh
# yum clean headers menghapus semua file header yang digunakan oleh sistem pengguna untuk menghapus dependensi
# yum clean all hilangkan dari kantong paket dan judul berkas

Paket Debian (debian,ubuntu,dll)

Perintah Deskripsi
# apt-cache search [package] tampilkan daftar paket-paket yang berhubungan dengan kata ‘search-packages’.
# apt-cdrom install [package] pasang / tingkatkan sebuah paket deb dari cdrom
# apt-get install [package] pasang / tingkatkan versi dari sebuah paket deb
# apt-get update perbaharui daftar paket
# apt-get upgrade tingkatkan versi dari semua paket-paket yang telah terpasang
# apt-get remove [package] hapus paket deb dari sistem
# apt-get check memastikan penyelesaian yang benar dari dependensi
# apt-get clean bersihkan berkas sementara dari paket-paket yang telah diunduh

Peralatan paket apt (Debian,ubuntu,dll)

Perintah Deskripsi
# apt-cache search [package] tampilkan daftar paket-paket yang berhubungan dengan kata ‘search-packages’.
# apt-cdrom install [package] pasang / tingkatkan sebuah paket deb dari cdrom
# apt-get install [package] pasang / tingkatkan versi dari sebuah paket deb
# apt-get update perbaharui daftar paket
# apt-get upgrade tingkatkan versi dari semua paket-paket yang telah terpasang
# apt-get remove [package] hapus paket deb dari sistem
# apt-get check memastikan penyelesaian yang benar dari dependensi
# apt-get clean bersihkan berkas sementara dari paket-paket yang telah diunduh

Peralatan paket pacman (arch,dll)

Peralatan paket Pacman (Arch, Frugalware dan sejenisnya)

Perintah Deskripsi
# pacman -S name Install package ‘name’ with dependencies [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# pacman -R name Hapus paket ‘name’ dan seluruh filenya

Lihat isi berkas

Perintah Deskripsi
# cat file1 lihat isi dari berkas1 dimulai dari baris pertama
# head -2 file1 menampilkan dua baris pertama dari suatu file
# less file1 mirip dengan perintah ‘more’ tapi mempermudah melihat ke belakang dan ke depan dari isi berkas
# more file1 tampilkan isi dari sebuah berkas secara lengkap
# tac file1 tampilkan isi sebuah berkas dari baris terakhir
# tail -2 file1 tampilkan dua baris terakhir dari suatu file
# tail -f /var/log/messages tampilkan waktu sebenarnya yang berada di sebuah berkas

Manipulasi Teks

Perintah Deskripsi
# cat example.txt | awk ‘NR%2==1′ menghilangkan seluruh baris genap dari berkas example.txt
# echo a b c | awk ‘{print $1}’ menampilkan kolom pertama dari suatu baris
# echo a b c | awk ‘{print $1,$3}’ menampilkan kolom pertama dan ketiga dari suatu baris
# cat -n file1 memberi nomor baris pada tampilan suatu file
# comm -1 file1 file2 bandingkan isi dua berkas dengan menghapus baris yang hanya terdapat pada ‘file1′
# comm -2 file1 file2 membandingkan isi dua berkas dengan menghapus baris yang hanya terdapat pada ‘file2′
# comm -3 file1 file2 membandingkan isi dua berkas dengan menghapus baris yang terdapat pada kedua berkas
# diff file1 file2 mencari perbedaan antara dua file
# grep Aug /var/log/messages mencari kata “Aug” dalam berkas ‘/var/log/messages’
# grep ^Aug /var/log/messages mencari kata-kata yang diawali dengan “Aug” dalam berkas ‘/var/log/messages’
# grep [0-9] /var/log/messages memilih semua baris yang mengandung angka pada berkas ‘/var/log/messages’
# grep Aug -R /var/log/* mencari untai kata “Aug” pada berkas-berkas di dalam direktori ‘/var/log/’ dan dibawahnya
# paste file1 file2 menggabungkan isi dari dua berkas kedalam satu kolom
# paste -d ‘+’ file1 file2 menggabungkan isi dua berkas dalam bentuk kolom dengan pemisah ‘+’ diantaranya
# sdiff file1 file2 mencari perbedaan antara dua berkas dan tampilkan secara interaktif selayaknya “diff”
# sed ‘s/string1/string2/g’ example.txt mengganti semua ‘string1′ dengan ‘string2′ dalam berkas example.txt
# sed ‘/^$/d’ example.txt menghapus seluruh baris kosong dari berkas example.txt
# sed ‘/ *#/d; /^$/d’ example.txt menghapus komentar serta baris kosong dari berkas example.txt
# sed -e ’1d’ exampe.txt menghapus baris pertama dari berkas example.txt
# sed -n ‘/string1/p’ menampilkan hanya baris yang mengandung kata ‘string1′
# sed -e ‘s/ *$//’ example.txt menghapus karakter kosong pada setiap akhir baris
# sed -e ‘s/string1//g’ example.txt menghapus semua kata ‘string1′ dari berkas example.txt
# sed -n ’1,5p’ example.txt menampilkan baris 1 hingga 5 dari berkas example.txt
# sed -n ’5p;5q’ example.txt menampilkan baris 5 dari berkas example.txt
# sed -e ‘s/00*/0/g’ example.txt menggantikan banyak angka 0 dengan satu 0
# sort file1 file2 mengurutkan isi dari 2 berkas
# sort file1 file2 | uniq mengurutkan isi dua berkas tanpa menampilkan pengulangan
# sort file1 file2 | uniq -u mengurutkan isi dua berkas dan hanya menampilkan baris yang unik
# sort file1 file2 | uniq -d mengurutkan isi dua berkas dan hanya menampilkan baris yang diulang
# echo ‘word’ | tr ‘[:lower:]‘ ‘[:upper:]‘ merubah dari huruf kecil menjadi huruf besar

Kelompok karakter dan konversi format berkas

Perintah Deskripsi
# dos2unix filedos.txt fileunix.txt merubah berkas teks dari format MSDOS ke UNIX
# recode ..HTML < page.txt > page.html merubah berkas teks menjadi html
# recode -l | more tampilkan semua format konversi yang tersedia
# unix2dos fileunix.txt filedos.txt merubah berkas teks dari format UNIX ke MSDOS

Analisis filesystem

Perintah Deskripsi
# badblocks -v /dev/hda1 periksa blok yang rusak pada disk hda1
# dosfsck /dev/hda1 perbaiki / periksa integritas filesystem dos pada disk hda1
# e2fsck /dev/hda1 perbaiki / periksa integritas filesystem ext2 pada disk hda1
# e2fsck -j /dev/hda1 perbaiki / periksa integritas filesystem ext3 pada disk hda1
# fsck /dev/hda1 perbaiki / periksa integritas filesystem linux pada disk hda1
# fsck.ext2 /dev/hda1 perbaiki / periksa integritas filesystem ext2 pada disk hda1
# fsck.ext3 /dev/hda1 perbaiki / periksa integritas filesystem ext3 pada disk hda1
# fsck.vfat /dev/hda1 perbaiki / periksa integritas filesystem fat pada disk hda1
# fsck.msdos /dev/hda1 perbaiki / periksa integritas filesystem dos pada disk hda1

Format filesystem

Perintah Deskripsi
# fdformat -n /dev/fd0 memformat diket flopi
# mke2fs /dev/hda1 membuat filesystem tipe linux ext2 pada partisi hda1
# mke2fs -j /dev/hda1 membuat filesystem tipe linux ext3 (journal) pada partisi hda1
# mkfs /dev/hda1 membuat filesystem tipe linux pada partisi hda1
# mkfs -t vfat 32 -F /dev/hda1 membuat filesystem FAT32
# mkswap /dev/hda3 membuat filesystem swap

Filesystem swap

Perintah Deskripsi
# mkswap /dev/hda3 membuat filesystem swap
# swapon /dev/hda3 mengaktivasi partisi swap baru
# swapon /dev/hda2 /dev/hdb3 mengaktifkan dua partisi swap dengan satu perintah

Penyimpanan Duplikat

Perintah Deskripsi
# find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 find all files with ‘.log’ extention and make an bzip archive [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents find and copy all files with ‘.txt’ extention from a directory to another [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ make a backup of a local hard disk on remote host via ssh [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# dd if=/dev/sda of=/tmp/file1 mem-backup isi harddrive dalam sebuah file
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1 make a copy of MBR (Master Boot Record) to floppy [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1 restore MBR from backup copy saved to floppy [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# dump -0aj -f /tmp/home0.bak /home make a full backup of directory ‘/home’ [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# dump -1aj -f /tmp/home0.bak /home make a incremental backup of directory ‘/home’ [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# restore -if /tmp/home0.bak restoring a backup interactively [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# rsync -rogpav –delete /home /tmp synchronization between directories [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# rsync -rogpav -e ssh –delete /home ip_address:/tmp rsync via SSH tunnel [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# rsync -az -e ssh –delete ip_addr:/home/public /home/local synchronize a local directory with a remote directory via ssh and compression [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# rsync -az -e ssh –delete /home/local ip_addr:/home/public synchronize a remote directory with a local directory via ssh and compression [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# tar -Puf backup.tar /home/user make a incremental backup of directory ‘/home/user’ [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ salin isi dari sebuah direktori melalui ssh pada direktori yang di kendalikan
# ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ copy a local directory on remote directory via ssh [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# tar cf – . | (cd /tmp/backup ; tar xf – ) local copy preserving permits and links from a directory to another [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]

CDROM

Perintah Deskripsi
# cd-paranoia -B mengkonversi lajur audio dari CD ke berkas wav
# cd-paranoia – mengkonversi tiga lajur audio pertama dari CD ke berkas wav
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force menghapus isi cd-rw
# cdrecord -v dev=/dev/cdrom cd.iso membakar berkas ISO ke dalam CD
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - membakar berkas ISO terkompresi ke dalam CD
# cdrecord –scanbus memindai bus data untuk mengidentifikasi kanal scsi
# dd if=/dev/hdc | md5sum melakukan perhitungan md5sum terhadap perangkat, semacam CD
# mkisofs /dev/cdrom > cd.iso membuat berkas image ISO dari sebuah cdrom
# mkisofs /dev/cdrom | gzip > cd_iso.gz membuat berkas image ISO terkompresi dari sebuah cdrom
# mkisofs -J -allow-leading-dots -R -V membuat berkas image ISO dari suatu direktori
# mount -o loop cd.iso /mnt/iso memuat image ISO ke direktori ‘/mnt/iso’

Network

Perintah Deskripsi
# dhclient eth0 mengaktifkan ‘eth0′ ke mode dhcp
# ethtool eth0 menampilkan statistik penggunaan jaringan yang melalui ‘eth0′
# host www.example.com menampilkan hasil pencarian dari nama komputer ke alamat ip dan sebaliknya
# hostname menampilkan nama komputer dari sistem
# ifconfig eth0 menampilkan konfigurasi suatu nic
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 Mengatur alamat IP
# ifconfig eth0 promisc mengkonfigurasi ‘eth0′ ke dalam mode bebas agar dapat mengendus paket yang beredar pada jaringan
# ifdown eth0 menonaktifkan ‘eth0′
# ifup eth0 mengaktifkan ‘eth0′
# ip link show menampilkan status koneksi pada semua antarmuka jaringan
# iwconfig eth1 menampilkan jaringan wireless
# iwlist scan melakukan pemindaian wifi untuk mengetahui koneksi wireless yang tersedia
# mii-tool eth0 menampilkan status koneksi ‘eth0′
# netstat -tup menampilkan semua koneksi jaringan yang aktif beserta identifikasi prosesnya
# netstat -tupl menampilkan semua layanan jaringan yang ‘mendengarkan’ pada sistem beserta identifikasi prosesnya
# netstat -rn menampilkan tabel routing seperti perintah ‘route -n’
# nslookup www.example.com mencari resolusi dari nama komputer ke alamat ip dan sebaliknya
# route -n menampilkan tabel routing
# route add -net 0/0 gw IP_Gateway mengkonfigurasi gerbang jaringan
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 menambahkan rute statik untuk mencapai jaringan ’192.168.0.0/16′
# route del 0/0 gw IP_gateway menghapus rute statik
# echo “1″ > /proc/sys/net/ipv4/ip_forward mengaktifkan rute ip /proc/sys/net/ipv4/ip_forward agar nic berfungi sebagai gerbang perantara jaringan
# tcpdump tcp port 80 menampilkan semua lalu-lintas HTTP
# whois www.example.com menampilkan hasil pencarian informasi suatu domain melalui database whois

Koneksi Samba

Perintah Deskripsi
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share memuat ruang disk yang berbagi pakai pada jaringan windows
# nbtscan ip_addr menunjukkan nama netbios suatu alamat ip
# nmblookup -A ip_addr menunjukkan nama netbios suatu alamat ip
# smbclient -L ip_addr/hostname menunjukkan nama ruang disk dan printer yang berbagi pakai pada suatu pc windows
# smbget -Rr smb://ip_addr/share sebagaimana wget dapat mengunduh berkas dari layanan berbagi pakai pada pc windows melalui smb

Iptables (firewall)

Perintah Deskripsi
# iptables -t filter -L perlihatkan seluruh rantai tabel filter
# iptables -t nat -L perlihatkan seluruh rantai tabel nat
# iptables -t filter -F hapus semua aturan pada tabel filter
# iptables -t nat -F hapus semua aturan pada tabel nat
# iptables -t filter -X hapus semua rantai yang dibuat oleh pengguna
# iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT izinkan koneksi telnet ke rantai input
# iptables -t filter -A OUTPUT -p tcp –dport http -j DROP tolak koneksi HTTP ke rantai output
# iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT izinkan koneksi POP3 melalui rantai forward
# iptables -t filter -A INPUT -j LOG –log-prefix catat transaksi pada rantai input
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE konfigurasikan PAT (Port Address Traslation) pada eth0 dengan merubah paket yang keluar
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 alihkan paket yang ditujukan untuk suatu alamat ke alamat lainnya

Pemantauan dan pencarian error

Perintah Deskripsi
# free -m menampilkan RAM yang belum terpakai sistem, dalam hitungan megabyte
# kill -9 process_id memaksa penghentian proses serta mematikannya
# kill -1 process_id memaksa suatu proses agar memuat ulang konfigurasinya
# last reboot menampilkan kapan pemuatan ulang sistem terakhir kali terjadi
# lsmod menampilkan modul-modul kernel yang di muat saat ini
# lsof -p process_id menampilkan daftar berkas yang dibuka oleh suatu proses
# lsof /home/user1 menampilkan daftar berkas yang terbuka pada suatu alamat direktori sistem
# ps -eafw menampilkan berbagai proses yang sedang berjalan
# ps -e -o pid,args –forest menampilkan berbagai proses yang sedang berjalan dengan tampilan hirarki
# pstree menampilkan diagram pohon proses yang berjalan
# smartctl -A /dev/hda memantau realibilitas hard disk melalui fungsi SMART
# smartctl -i /dev/hda memeriksa apakah fungsi SMART aktif pada suatu hard disk
# strace -c ls >/dev/null menampilkan panggilan fungsi sistem yang dibuat dan diterima oleh proses
# strace -f -e open ls >/dev/null menampilkan panggilan pustaka fungsi
# tail /var/log/dmesg menampilkan laporan pesan yang terjadi saat kernel dimulai
# tail /var/log/messages menampilkan laporan kejadian pada sistem
# top menampilkan proses yang berjalan dalam tampilan daftar yang aktif, diurut berdasarkan penggunaan sumber daya cpu
# watch -n1 ‘cat /proc/interrupts’ menampilkan interupsi perangkat keras dalam waktu riil

Perintah berguna lain – lainya

Perintah Deskripsi
# alias hh=’history’ set an alias for a command – hh = history [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# apropos …keyword display a list of commands that pertain to keywords of a program , useful when you know what your program does, but you don’t know the name of the command [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# chsh ganti perintah shell
# chsh –list-shells nice command to know if you have to remote into another box [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# gpg -c file1 encrypt a file with GNU Privacy Guard [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# gpg file1.gpg decrypt a file with GNU Privacy Guard [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# ldd /usr/bin/ssh show shared libraries required by ssh program [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# man ping display the on-line manual pages for example on ping command – use ‘-k’ option to find any related commands [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# mkbootdisk –device /dev/fd0 `uname -r` create a boot floppy [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# wget -r www.example.com download an entire web site [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# wget -c www.example.com/file.iso download a file with the ability to stop the download and resume later [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]
# echo ‘wget -c www.example.com/files.iso’ | at 09:00 mulai mengunduh pada waktu yang ditentukan
# whatis …keyword menampilkann deskripsi dari apa yang dilakukan oleh suatu program
# who -a show who is logged on, and print: time of last system boot, dead processes, system login processes, active processes spawned by init, current runlevel, last system clock change [english]
Deskripsi tidak tersedia bagi bahasa ini[Indonesian?]

 

Posted in belajar linux, kelompok studi linux, linux, universitas sriwijaya, unsri | Leave a comment

Halo Dunia!,Hello world!

Selamat datang di website Kelompok Studi Linux Universitas Sriwijaya

Posted in hello world, linux, unsri | Leave a comment

Instalasi Squid di Slackware

Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web chace. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk Transport Layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Untuk versi Squid 3.x sudah mendukung protokol IPv6 dan Internet Content Adaption Protocol (ICAP).

Squid pada awalnya dikembangkan oleh Duane Wassels sebagai “Harvest Object Cache”, yang merupakan bagian dari proyek Harvest yang dikembangkan di University Corolado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di University of California. San Diego dan didanai Melalui National Science Fondation. Squid kini hampir secara ekslusif dikembangkan dengan cara usaha sukarela.

Squid umumnya didesain untuk pekerjaan diatas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi windows. Karena dirilis dibawah lisensi GNU General Public License, Maka squid merupakan perangkat lunak bebas.

(http://www.squid-cache.org/, diakses pada tanggal 3 juni 2011).

Karena Squid versi 3.1.12 telah mendukung penggunaan database berkeley-db-perl. maka, yang harus dilakukan terlebih dahulu adalah menginstall aplikasi berkeley-db, cara install aplikasi berkeley-db bisa dilakukan secara online atau mengistall langsung dari situs vendornya atau bisa mendownload sourcenya kemudian diinstall secara manual. Karena ukuran aplikasi berkeley-db tidak terlalu besar. Maka penulis mencoba menginstall langsung berkeley-db dari pengembangnya. Dengan cara menjalankan perintah install melalui konsole di slackware.

root@adit:~# perl –MCPAN –e shell

cpan> o conf prerequisites_policy ask

prerequisites_policy ask

cpan> install BerkeleyDB

Gambar 6.0 cara install berkeleyDB

Setelah berkeleyDB terinstall, yang penulis lakukan selanjutnya adalah menginstall squid. Squid yang penulis pakai adalah versi terbaru dan stable yaitu versi squid-3.1.12 yang dirilis tanggal 4 April 2011. Source code untuk squid bisa diunduh di repository resminya slackware yaitu www.slackbuilds.org. Pada site ini juga menyertakan program compiler untuk squid sehingga memberi kemudahan dalam melakukan kondigurasi. Tetapi pada intinya sama dengan konfigurasi manual jika melakukan konfigurasi dan instalasi menggunakan source codenya. Yang penulis lakukan adalah mengunduh dua program tersebut yaitu squid-3.1.12 dan program compilernya. Dan lakukan extraksi pada file program compilernya, kemudian akan terbentuk directory baru squid yang berisi program compiler dan copy_kan source code squid-3.1.12.tar.bz2 kedalam directory squid dan lakukan compile packages dengan cara. Tetapi sebelum melakukan proses compile packages buat terlebih dahulu user dan group squid.

root@adit:~# adduser –m –g squid –s /bin/bash –d /usr/local/squid squid

root@adit:~# groupadd –g squid squid

Gambar 6.1 penambahan user dan group squid

root@adit:~#  tar zxvf squid.tar.gz

root@adit:~#  cp squid-3.1.12.tar.bz2 squid

root@adit:~#   ./squid.Slackbuilds

Gambar 6.2 compile packages Squid

Setelah proses compile selesai. Hasil compile akan tersimpan di dalam directory /tmp dalm bentuk file baru yaitu Squid-3.1.12-i486-1_SBO.tgz dan kemudian install packages tersebut.dengan cara.

root@adit:~#  installpkg /tmp/squid-3.1.12-i486-1_SBO.tgz

Gambar 6.3 install packages squid-3.1.12 from compile

Setelah proses instalasi selesai. Maka data-data configurasi akan diletakkan sesuai dengan yang ditentukan pada program compiler squid, antara lain: file squid.conf terletak pada directory /etc/squid/, file daemon squid terletak di dalam directory /usr/sbin/squid/, file bantuan terletak di dalam directory /usr/share/squid/ dan file log record squid terletak di dalam directory /var/log/squid/, file log dari squid antara lain access.log, error.log, cache.log.

Tahap selanjutnya adalah melakukan konfigurasi pada file squid.conf yang ada pada directory /etc/squid/, bagian-bagian yang penulis lakukan pengeditan dan penambahan berkas adalah pada bagian berikut :

root@adit:~# nano /etc/squid/squid.conf

……….

acl all src all

…..

acl manager proto cache_object

…..

acl localhost src 127.0.0.1/32

…..

acl localnet src 202.45.67.0/24 # internal network

…..

acl jaringan_adit src 202.45.67.0/24 192.168.1.0/25

http_access allow jaringan_adit

…..

acl SSL_ports port 443          # ssl

acl SSL_ports port 563          # ssl

acl SSL_ports port 81

acl Safe_ports port 8080   #http

acl Safe_ports port 21          # ftp

acl Safe_ports port 443         # https

acl Safe_ports port 70          # gopher

acl Safe_ports port 210         # wais

acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 280         # http-mgmt

acl Safe_ports port 488         # gss-http

acl Safe_ports port 591         # filemaker

acl Safe_ports port 777         # multiling http

acl purge method PURGE

acl CONNECT method CONNECT

…..

acl blokir dstdomain .warez.com .youtube.com

…..

acl porn url_regex -i “/var/lib/squidguard/blacklist/blacklists/porn/urls”

…..

http_access deny porn

…..

http_access deny blokir

http_access allow manager localhost

http_access deny manager

http_access allow purge localhost

http_access deny purge

http_access deny !Safe_Ports

http_access deny CONNECT !SSL_ports

http_access allow localhost

http_access allow localnet

http_access deny all

……

http_access allow manager localhost

http_access deny manager

……

http_access deny !Safe_ports

……

http_access deny CONNECT !SSL_ports

……

http_access allow localnet

http_access allow localhost

……

http_access deny all

……

icp_access allow localnet

icp_access deny all

icp_access allow all

……

htcp_access allow localnet

htcp_access deny all

……

http_port 3128

……

cache_mem 256 MB                     # PEMAKAIAN CACHE MEMORI

maximum_object_size_in_memory 512 KB # MAKSIMUM PEMAKAIAN MEMORI

. . . . . . .

maximum_object_size 128000 KB        # MAKSIMUM OBJECT SIZE

cache_swap_low 95               # BATAS TERENDAH CACHE SWAP

cache_swap_high 99              # BATAS TERTINGGI CACHE SWAP

log_icp_queries off             # mematikan log icp

. . . . . . .

access_log /var/log/squid/access.log squid

cache_log /cache/cache.log

cache_store_log /var/log/squid/store.log

logfile_rotate 0

. . . . . . .

cache_log /var/log/squid/cache.log

…….

pid_filename /var/run/squid/squid.pid

…….

cache_log /var/log/squid/cache.log

…….

coredump_dir /var/log/squid/cache

…….

unlinkd_program /usr/libexec/unlinkd

…….

url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidguard.conf

…….

url_rewrite_children 10

…….

request_header_access From deny all

request_header_access Server deny all

request_header_access Link deny all

request_header_access Via deny all

request_header_access X-Forwarded-For deny all

…….

forward_timeout 240 second

connect_timeout 30 second

peer_connect_timeout 5 second

read_timeout 600 second

request_timeout 60 second

shutdown_lifetime 5 second

…….

cache_mgr adit

cache_effective_user squid

cache_effective_group squid

httpd_suppress_version_string on

visible_hostname adit

…….

snmp_port 3401

…….

snmp_access allow snmppublic localhost

…….

memory_pools off

client_db off

reload_into_ims on

coredump_dir /cache

pipeline_prefetch on

offline_mode off

…….

dns_nameservers 180.131.144.144 180.131.145.145

Gambar 6.4 isi file squid.conf

3.5              Install SquidGuard

SquidGuard adalah gabungan antara filter, redirector dan pengendali akses dan merupakan suatu plugin dari squid. Hal ini dikarenakan bahwa SquidGuard gratis, fleksibel, mudah diinstall, sangat cepat dan portable. Squidguard dapat digunakan untuk membatasi akses untuk beberapa pengguna dalam daftar penerima atau webserver yang dikenal atau URL saja, memblokir akses ke beberapa server web yang terdaftar atau masuk dalam daftar hitam dan / atau URL untuk beberapa pengguna, memblokir akses ke URL yang cocok dengan suatu daftar ekspresi reguler atau kata-kata untuk beberapa pengguna, menegakkan penggunaan domainnames / melarang penggunaan alamat IP dalam URL, diblokir redirect URL ke halaman “cerdas” info berbasis CGI, mengarahkan user yang belum terdaftar ke formulir pendaftaran, redirect download populer seperti Netscape, MSIE dll untuk salinan lokal, banner redirect ke GIF kosong, memiliki aturan akses yang berbeda berdasarkan waktu hari, hari minggu, tanggal dll, memiliki aturan yang berbeda untuk kelompok pengguna yang berbeda, dan lain-lain.

(http://www.squidguard.org/about.html diakses pada tanggal 4 juni 2011)

Kemudian penulis unduh packages source code squidguard versi terbaru yaitu squidGuard-1.4.tar.gz pada situs resmi pengembangnya di http://www.squidguard.org dan program compiler di http://tuxjm.net/downloads/source/slackware-10.1/squidguard/, pada situs ini sesungguhnya di sediakan untuk slackware versi 10 dengan squidguard versi-1.2. Agar squidguard versi terbaru bisa di compile dan di install maka yang harus dilakukan adalah mengubah beberapa bagian script pada file squidguard.Slackbuilds, antara lain :

root@adit:~# nano squidguard.Slackbuilds

. . . . . . .

NAME=squidguard

SRC_NAME=squidGuard

VERSION=1.4

. . . . . . .

Gambar 6.5 Perubahan versi dari squidGuard

Lalu simpan dan kemudian lakukan proses compile packages squidguard dan install dengan cara :

root@adit:~# cd squidguard

root@adit:~# ./squidguard.Slackbuilds

root@adit:~# installpkg /tmp/squidguard

Gambar 6.6 Proses compile dan install squidGuard

Dari hasil compile dan install. Maka akan terbentuk directory baru dimana terdapat file daemon squidguard yang terletak pada directory /usr/bin/squidGuard, directory configurasi squidGuard yang terletak pada /etc/squidguard/ dan directory database squidguard yang berisi file blacklist dari situs-situs yang yang tidak di ijinkan yang terletak di /var/lib/squidguard/db/blacklist/blacklists/ dan squidguard.log merupakan file yang berisi data record dari aktifitas squidGuard yang terletak di dalam directory /var/log/squidguard/. Sebelum memulai perubahan dan penambahan script konfigurasi squidguard dan Squid untuk membelokir situs-situs yang dianggap tidak aman maupun berbau pornografi, maka yang penulis lakukan adalah mengunduh file blacklist shellalist di situs resmi pengembangnya yaitu www.shellalist.de/Download/shellalist.tar.gz sebagai database blacklist dari Squidguard.

root@adit:~# cd /var/lib/squidguard/db/blacklist/blacklists

root@adit:~/var/lib/squidguard/db/blacklist/blacklists# wget http://www.shellalist.de/Download/shellalist.tar.gz

root@adit:~/var/lib/squidguard/db/blacklist/blacklists# tar zxvf shellalist.tar.gz

root@adit:~/var/lib/squidguard/db/blacklist/blacklists# ls

porn adult games

Gambar 6.7 Proses unduh dan extraksi file blacklist Squidguard

Sebelum menjalankan Squidguard yang harus penulis lakukan adalah melakukan konfigurasi pada berkas atau file squidguard.conf. adapun bagian-bagian script yang penulis lakukan perubahan antara lain :

root@adit:~# nano /etc/squidguard/squidguard.conf

dbhome /var/lib/squidguard/blacklist/blacklists

logdir /var/log/squidguard/

……..

time workhours {

     weekly mtwhf 08:00 – 16:30

     date *-*-01  08:00 – 16:30

}

……..

src admin {

     ip         192.168.1.1

     user       root foo bar

     within     workhours

}

……..

src foo-clients {

     ip         192.168.1.2-192.168.1.254

}

……..

dest porn{

log porn

domainlist porn/domains

urllist porn/urls

redirect http://block.nawala.org

}

## untuk memblok situs yang berbau pornografi, penulis melakukan pemblokiran terhadap situs tersebut, dimana situs-situs tersebut penulis tambahkan pada file blacklist yang sudah tersedia oleh shellablacklist. Dan penulis redirect tampilan tersebut ke situsnya nawala.org.

……..

dest adult {

      domainlist     adult/domains

      urllist        adult/urls

      expressionlist adult/expressions

      redirect  http://block.nawala.org

}

## file adult berisikan nama domain dari situs-situs yang tidak aman dan untuk memblokir situs yang di indikasikan sebagai situs cracking, zombie maupun situs-situs yang dianggap tidak aman. Dan penulis melakukan redirect dari situs yang terdaftar dalam database adult ke situs nawala.org

……..

acl {

   default {

      pass !porn !adult any

      rewrite   dmz

      redirect http://block.nawala.org

     }

}

 

## pada bagian acl (access control list) menyatakan bahwa database porn dan adult tidak diberi akses dan langsung di redirect ke http://block.nawala.org

Gambar 6.8 Penambahan dan perubahan isi file squidguard.conf

Agar Squidguard dapat bekerja sama dengan Squid. Maka, penulis menambahkan beberapa parameters atau script pada file configurasi squid, antara lain.

root@adit:~# nano /etc/squid/squid.conf

………

unlinkd_program /usr/libexec/unlinkd

………

url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidguard.conf

…….

url_rewrite_children 10

 

Gambar 6.9 Penambahan script agar Squid terintegrasi dengan Squidguard

Kemudian simpan, Sebagai backup apabila Squidguard tidak dapat berjalan. Maka penulis menambahkan beberapa parameters atau script dimana jika ada user yang memasukkan alamat yang dianggap tidak aman dan berbau pornografi termasuk juga situs video seperti youtube. Maka akan secara otomatis halaman yang ia tuju dialihkan ke situs block.nawala.org.

root@adit:~# nano /etc/squid/squid.conf

…..

acl blokir dstdomain .warez.com .youtube.com

…..

acl porn url_regex -i “/var/lib/squidguard/blacklist/blacklists/porn/urls”

…..

http_access deny porn

…..

http_access deny blokir

…..

dns_nameservers 180.131.144.144 180.131.145.145

Gambar 7.0 Penambahan script blacklist dan redirect site pada file configurasi squid

 

Kemudian simpan dan lakukan proses update file blacklist agar Squidguard dapat membaca file blacklist yang telah di konfigurasikan sebelumnya, karena Squid dan Squidguard telah mendukung pembacaan database berkeleyDB. Maka hasil update file blacklist akan berbentuk file berextensi.db pada directory database. Proses update file blacklist squidguard dengan cara.

root@adit:~# /usr/bin/squidGuard –C all

2011-05-25 16:41:54 [2634] New setting: dbhome: /var/lib/squidguard/blacklist/blacklists

2011-05-25 16:41:54 [2634] New setting: logdir: /var/log/squidguard/

2011-05-25 16:41:54 [2634] Added User: root

2011-05-25 16:41:54 [2634] Added User: foo

2011-05-25 16:41:54 [2634] Added User: bar

2011-05-25 16:41:54 [2634] init domainlist /var/lib/squidguard/blacklist/blacklists/porn/domains

2011-05-25 16:41:54 [2634] loading dbfile /var/lib/squidguard/blacklist/blacklists/porn/domains.db

2011-05-25 16:41:54 [2634] init urllist /var/lib/squidguard/blacklist/blacklists/porn/urls

2011-05-25 16:41:54 [2634] loading dbfile /var/lib/squidguard/blacklist/blacklists/porn/urls.db

2011-05-25 16:41:54 [2634] init domainlist /var/lib/squidguard/blacklist/blacklists/adult/domains

2011-05-25 16:41:54 [2634] loading dbfile /var/lib/squidguard/blacklist/blacklists/adult/domains.db

2011-05-25 16:41:54 [2634] init urllist /var/lib/squidguard/blacklist/blacklists/adult/urls

2011-05-25 16:41:54 [2634] loading dbfile /var/lib/squidguard/blacklist/blacklists/adult/urls.db

2011-05-25 16:41:54 [2634] init expressionlist /var/lib/squidguard/blacklist/blacklists/adult/expressions

2011-05-25 16:41:54 [2634] squidGuard 1.4 started (1306316514.632)

2011-05-25 16:41:54 [2634] Info: recalculating alarm in 26286 seconds

2011-05-25 16:41:54 [2634] squidGuard ready for requests (1306316514.694)

Gambar 7.1 Proses pembuatan database blacklist squidguard

Kemudian ubah akses permission service squid yang terletak dalam directory /etc/rc.d/rc.squid dan jalankan service tersebut. Dengan cara.

root@adit:~# chmod +x /etc/rc.d/rc.squid

root@adit:~# /etc/rc.d/rc.squid start

creating swap directories: /usr/sbin/squid –z

Starting Squid: /usr/sbin/squid –F

2011/06/04 19:33:54| WARNING: (B) ‘::/0’ is network of A ‘::/0’

2011/06/04 19:33:54| WARNING: because of this ’::/0’ is ignore to keep splay tree searching predictable

2011/06/04 19:33:54| WARNING: you should probably remove ‘::/0’ from ACL named all

Gambar 7.2 Merubah akses permission dan menjalankan service Squid

Karena Squidguard telah terintegrasi pada Squid, dimana jika Squid dijalankan maka Squidguard akan aktif dan jika service Squid dihentikan maka Squidguard pun tidak akan aktif. Untuk melihat apakah Squidguard berjalan atau tidak pada saat Squid di jalankan dapat dilihat dari log record Squidguard, dengan cara.

root@adit:~# tail –f /var/log/squidguard/squidGuard.log

2011-06-04 19:33:56 [2507] init urllist /var/lib/squidguard/blacklist/blacklists/adult/urls

2011-06-04 19:33:56 [2501] init urllist /var/lib/squidguard/blacklist/blacklists/adult/urls

2011-06-04 19:33:56 [2507] loading dbfile /var/lib/squidguard/blacklist/blacklists/adult/urls.db

2011-06-04 19:33:56 [2501] loading dbfile /var/lib/squidguard/blacklist/blacklists/adult/urls.db

2011-06-04 19:33:56 [2507] init expressionlist /var/lib/squidguard/blacklist/blacklists/adult/expressions

2011-06-04 19:33:56 [2501] init expressionlist /var/lib/squidguard/blacklist/blacklists/adult/expressions

2011-06-04 19:33:56 [2507] squidGuard 1.4 started (1307190836.708)

Gambar 7.3 Log record Squidguard

3.6              Instalasi ClamAV

 

ClamAV (Clam AntiVirus) merupakan salah satu anti virus yang bersifat opensource dan sering dipakai untuk memfilter virus, spam dan malware dalam jaringan komputer. Agar ClamAV dapat bekerja dengan baik, ada beberapa tools atau aplikasi pendukung yang harus disertakan dan ikut terinstall dalam sebuah komputer yang akan di jadikan sebagai sebuah firewall atau pun firewall router. Aplikasi pendukung tersebut antara lain. Clamav-unofficial-sigs aplikasi ini berfungsi memberikan informasi lain mengenai database dan tanda tangan, pemberian tanda tangan atau penandaan pada sebuah data yang lewat dalam jaringan dinyatakan aman dan tidak terinfeksi virus, spam maupun malware, penandaan ini biasanya digunakan untuk memfilter data email. Dan aplikasi ini juga mendukung penambahan databases yang bukan dari pengembang ClamAV (seperti perusahaan security jaringan  antara lain Sane Security, MSRBL, SecuriteInfo, Malware Patrol) untuk databases ClamAV.

Kemudian Clamsmtp aplikasi ini digunakan untuk memfilter data yang keluar masuk dalam jaringan melalui port 25 atau port smtp baik itu virus, spam maupun malware. Yang penulis lakukan pertama kali adalah mengunduh aplikasi ClamAV. Versi trakhir yang dikeluarkan oleh pengembang ClamAV sudah masuk versi 0.97 tetapi penulis menggunakan versi 0.95 dikarenakan pada saat akan dikonfigurasi, versi terbaru masih mengalami masalah karena ada sebagian file penduukung tidak tersedia dalam source code ClamAV versi 0.97. source code ClamAV-0.95 penulis unduh dari pengembangnya langsung di www.clamav.net dan penulis compile source code ClamAV dan penulis unduh program compile yang disediakan oleh www.slackbuilds.org, sebelum compile packages ClamAV harus dibuat dahulu user dan group ClamAV sebagai pemegang aplikasi ClamAV kemudian penulis install dan konfigurasi ClamAV dengan cara.

root@adit:~# mkdir clamav

root@adit:~# cd clamav

root@adit:clamav~# wget http://downloads.sourceforge.net/clamav/clamav-0.95.2.tar.gz

root@adit:clamav# wget http://slackbuilds.org/slackbuilds/13.37/system/clamav.tar.gz

root@adit:clamav# groupadd –g 210 clamav

root@adit:clamav# useradd –u 210 –d /dev/null –s /bin/false –g clamav clamav

root@adit:clamav# tar zxvf clamav.tar.gz

root@adit:clamav# cp clamav-09.5.2.tar.gz clamav

root@adit:clamav/clamav# ./clamav.Slackbuilds

Gambar 7.4 Unduh dan istalasi ClamAV

Kemudian penulis lakukan konfigurasi pada file clamd.conf yang terletak di dalam directory /etc yang merupakan file configurasi ClamAV, dengan cara.

root@adit:~# nano /etc/clamd.conf

……

LogFile /var/log/clamd.log

…..

LogTime yes

…..

LogSyslog yes

…..

LogFacility LOG_MAIL

…..

LogVerbose yes

…..

PidFile /var/run/clamav/clamd.pid

…..

DatabaseDirectory /var/lib/clamav

…..

LocalSocket /var/run/clamav/clamd.socket

…..

FixStaleSocket yes

…..

User clamav

…..

AllowSupplementaryGroups yes

…..

ExitOnOOM yes

…..

DetectPUA yes

…..

AlgorithmicDetection yes

…..

ScanPE yes

…..

ScanELF yes

…..

ScanOLE2 yes

…..

ScanPDF yes

…..

ScanMail yes

…..

PhishingSignatures yes

…..

PhishingScanURLs yes

…..

ScanHTML yes

…..

ScanArchive yes

…..

MaxScanSize 150M

…..

MaxFileSize 30M

…..

MaxRecursion 10

…..

Gambar 7.5 Perubahan pada file clamd.conf

Kemudian simpan, edit file freshclam.conf yang terletak di dalam directory /etc, file ini difungsikan untuk mengupdate database virus ClamAV. Dan semua informasi tentang malware, virus, spam dan lain-lain termasuk mengkatifkan mode safe browsing, kemudian membuat sebuah file di cron.daily dimana fungsinya untuk mengupdate database per 2 hari, dengan cara.

root@adit:~# nano /etc/freshclam.conf

HTTPProxyServer 202.45.67.5

HTTPProxyPort 3128

……

DatabaseDirectory /var/lib/clamav

……

UpdateLogFile /var/log/freshclam.log

……

LogFileMaxSize 2M

……

LogSyslog yes

……

LogFacility LOG_MAIL

……

PidFile /var/run/clamav/freshclam.pid

……

DatabaseOwner clamav

……

AllowSuplementaryGroups yes

……

DNSDatabaseInfo current.cvd.clamav.net

……

DatabaseMirror db.us.clamav.net

……

DatabaseMirror database.clamav.net

……

NotivyClamd /etc/clamd.conf

……

SafeBrowsing yes

 

## kemudian simpan

 

root@adit:~# touch /etc/cron.daily/freshclam

root@adit:~# nano /etc/cron.daily/freshclam

#!/bin/bash

freshclam –-quiet –d –c 2 –l /var/log/clam-update.log

 

 

 

 

##kemudian simpan

root@adit:~# chmod +x /etc/cron.daily/freshclam

Gambar 7.6 Perubahan isi file freshclam.conf, pembuatan file freshclam dan perubahan akses permission freshclam

ClamAV membutuhkan aplikasi pendukung lainnya, antara lain clamav-unofficial-sigs yang berfungsi sebagai database pendukung ClamAV yang di support atau dibantu dari perusahaan keamanan jaringan dan clamsmtp yang berfungsi sebagai pemfilter packet data yang melintasi port smtp, port ini biasa digunakan untuk lintas data email. Aplikasi clamav-unofficial-sigs penulis unduh dari situs resminya di www.inetmsg.com dan program compilernya penulis unduh di www.slackbuilds.org dan untuk aplikasi clamsmtp penulis unduh di situs resminya www.newmembers.com/stef/software/clamsmtp dan program compilernya penulis unduh di situs resminya www.slackbuilds.org. Setelah aplikasi pendukung selesai di unduh kemudian penulis extraksi program compiler masing-masing aplikasi dan kemudian di compile lalu di install dengan cara.

root@adit:~# mkdir /clamav/recruitment_clamav

root@adit:~/clamav/recruitment_clamav# wget http://www.inetmsg.com/pub/clamav-unofficial-sigs-3.7.1.tar.gz

–2011-06-06 09:54:02–  http://www.inetmsg.com/pub/clamav-unofficial-sigs-3.7.1.tar.gz

Resolving www.inetmsg.com (www.inetmsg.com)… 173.10.94.185

Connecting to www.inetmsg.com (www.inetmsg.com)|173.10.94.185|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 36594 (36K) [application/x-gzip]

Saving to: “clamav-unofficial-sigs-3.7.1.tar.gz”

 

100%[=====================================================================================================>] 36,594      30.7K/s   in 1.2s

 

2011-06-06 09:54:04 (30.7 KB/s) – “clamav-unofficial-sigs-3.7.1.tar.gz” saved [36594/36594]

 

root@adit:~/clamav/recruitment_clamav# wget http://slackbuilds.org/slackbuilds/13.37/network/clamav-unofficial-sigs.tar.gz

–2011-06-06 09:54:26–  http://slackbuilds.org/slackbuilds/13.37/network/clamav-unofficial-sigs.tar.gz

Resolving slackbuilds.org (slackbuilds.org)… 208.67.159.181

Connecting to slackbuilds.org (slackbuilds.org)|208.67.159.181|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 3340 (3.3K) [application/x-tar]

Saving to: “clamav-unofficial-sigs.tar.gz”

 

100%[=====================================================================================================>] 3,340       –.-K/s   in 0.03s

 

2011-06-06 09:54:27 (99.2 KB/s) – “clamav-unofficial-sigs.tar.gz” saved [3340/3340]

root@adit:~/clamav/recruitment_clamav# tar zxvf clamav-unofficial-sigs.tar.gz

clamav-unofficial-sigs/

clamav-unofficial-sigs/package_manager.patch

clamav-unofficial-sigs/README

clamav-unofficial-sigs/doinst.sh

clamav-unofficial-sigs/clamav-unofficial-sigs.info

clamav-unofficial-sigs/clamav-unofficial-sigs.SlackBuild

clamav-unofficial-sigs/slack-desc

root@adit:~/clamav/recruitment_clamav# cp clamav-unofficial-sigs-3.7.1.tar.gz clamav-unofficial-sigs

root@adit:~/clamav/recruitment_clamav# cd clamav-unofficial-sigs

root@adit:~/clamav/recruitment_clamav/clamav-unofficial-sigs# ./clamav-unofficial-sigs.SlackBuild

clamav-unofficial-sigs-3.7.1/

clamav-unofficial-sigs-3.7.1/INSTALL

clamav-unofficial-sigs-3.7.1/clamav-unofficial-sigs-cron

clamav-unofficial-sigs-3.7.1/clamd-status.sh

………

Slackware package /tmp/clamav-unofficial-sigs-3.7.1-noarch-1_SBo.tgz created.

 

root@adit:~/clamav/recruitment_clamav/clamav-unofficial-sigs# installpkg /tmp/clamav-unofficial-sigs-3.7.1-noarch-1_SBo.tgz

…….

Executing install script for clamav-unofficial-sigs-3.7.1-noarch-1_SBo.tgz.

Package clamav-unofficial-sigs-3.7.1-noarch-1_SBo.tgz installed.

 

root@adit:~/clamav/recruitment_clamav/clamav-unofficial-sigs# cd ..

root@adit:~/clamav/recruitment_clamav# wget http://memberwebs.com/stef/software/clamsmtp/clamsmtp-1.10.tar.gz

–2011-06-06 09:58:10–  http://memberwebs.com/stef/software/clamsmtp/clamsmtp-1.10.tar.gz

Resolving memberwebs.com (memberwebs.com)… 184.105.187.95

Connecting to memberwebs.com (memberwebs.com)|184.105.187.95|:80… connected.

HTTP request sent, awaiting response… 302 Found

Location: http://thewalter.net/stef/software/clamsmtp/clamsmtp-1.10.tar.gz [following]

–2011-06-06 09:58:11–  http://thewalter.net/stef/software/clamsmtp/clamsmtp-1.10.tar.gz

Resolving thewalter.net (thewalter.net)… 94.75.203.101

Connecting to thewalter.net (thewalter.net)|94.75.203.101|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 217126 (212K) [application/x-gzip]

Saving to: “clamsmtp-1.10.tar.gz”

 

100%[=====================================================================================================>] 217,126     18.3K/s   in 11s

 

2011-06-06 09:58:25 (19.0 KB/s) – “clamsmtp-1.10.tar.gz” saved [217126/217126]

 

root@adit:~/clamav/recruitment_clamav# wget http://slackbuilds.org/slackbuilds/13.37/system/clamsmtp.tar.gz

–2011-06-06 09:58:41–  http://slackbuilds.org/slackbuilds/13.37/system/clamsmtp.tar.gz

Resolving slackbuilds.org (slackbuilds.org)… 208.67.159.181

Connecting to slackbuilds.org (slackbuilds.org)|208.67.159.181|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 3364 (3.3K) [application/x-tar]

Saving to: “clamsmtp.tar.gz”

 

100%[=====================================================================================================>] 3,364       –.-K/s   in 0.03s

 

2011-06-06 09:58:42 (99.9 KB/s) – “clamsmtp.tar.gz” saved [3364/3364]

 

root@adit:~/clamav/recruitment_clamav# tar zxvf clamsmtp.tar.gz

clamsmtp/

clamsmtp/README

clamsmtp/doinst.sh

clamsmtp/clamsmtp.info

clamsmtp/rc.clamsmtpd

clamsmtp/slack-desc

clamsmtp/clamsmtp.SlackBuild

root@adit:~/clamav/recruitment_clamav# cp clamsmtp-1.10.tar.gz clamsmtp

root@adit:~/clamav/recruitment_clamav# cd clamsmtp

root@adit:~/clamav/recruitment_clamav/clamsmtp# ls

README  clamsmtp-1.10.tar.gz  clamsmtp.SlackBuild*  clamsmtp.info  doinst.sh  rc.clamsmtpd  slack-desc

root@adit:~/clamav/recruitment_clamav/clamsmtp# ./clamsmtp.SlackBuild

clamsmtp-1.10/

clamsmtp-1.10/README

clamsmtp-1.10/configure.in

………

install/doinst.sh

install/slack-desc

 

Slackware package /tmp/clamsmtp-1.10-i486-4_SBo.tgz created.

 

root@adit:~/clamav/clamavsmtp/clamsmtp#  installpkg /tmp/clamsmtp-1.10-i486-4_SBo.tgz

Verifying package clamsmtp-1.10-i486-4_SBo.tgz.

Installing package clamsmtp-1.10-i486-4_SBo.tgz:

PACKAGE DESCRIPTION:

# clamsmtp (ClamAV SMTP filter)

………

Executing install script for clamsmtp-1.10-i486-4_SBo.tgz.

Package clamsmtp-1.10-i486-4_SBo.tgz installed.

 

Gambar 7.7 Unduh paket pendukung clamav, install dan konfigurasi

Kemudian penulis lakukan perubahan pada file clamsmtp.conf yang terletak dalam directory /etc. Kemudian penulis ubah akses permission dari file service atau daemon clamsmtp di dalam directory /etc/rc.d/ dan jalankan service clamsmtp, dengan cara.

root@adit:~# nano /etc/clamsmtp.conf

………

Listen: 0.0.0.0:10025

………

ClamAddress: /var/run/clamav/clamd

………

Header: X-Virus-Scanned: ClamAV using ClamSMTP

………

Action: drop

………

TransparentProxy: on

………

User: clamav

#simpan

root@adit:~# chmod +x /etc/rc.d/rc.clamsmtp

root@adit:~# /etc/rc.d/rc.clamsmtp start

Gambar 7.8 Perubahan file clamsmtp, perubahan akses permission dan menjalankan daemon clamsmtp

 

Kemudian ubah akses permission service ClamAV yang ada di dalam directory /etc/rc.d/, kemudian jalankan daemon ClamAV, jalankan freshclam untuk mengupdate database ClamAV, kemudian jalankan daemon, freshclam dan periksa apakah daemon ClamAV apakah sudah jalan atau belum dengan cara.

root@adit:~# chmod +x /etc/rc.d/rc.clamav

root@adit:~# /etc/rc.d/rc.clamav start

root@adit:~# freshclam

root@adit:~# freshclam –d –c 2 –l /var/log/clam-update.log

root@adit:~# ps aux | grep clamav

clamav 5593  0.0 10.4  116720  105360 ? Ssl  10:17 0:02 /usr/sbin/clamd

clamav  5597  0.0   0.1    3356     1224   ?  Ss    10:17 0:00 /usr/bin/freshclam –d –l /var/log/freshclam.log

clamav  5728  0.0   0.0    3324      856   ?  Ss    11:51  0:0 freshclam –-quiet –d –c 2 –l /var/log/clam-update.log

clamav   6150  0.0  0.0   2192      416    ?  Ss    15:15  0:0 /usr/sbin/clamsmtpd –f /etc/clamsmtpd.conf –p /var/run/clamav/clamsmtpd.pid

 

Gambar 7.9 Merubah akses permission clamav, menjalankan daemon clamav, mengunduh database clamav, menjalankan daemon freshclam dan melihat status service clamav

Incoming search terms for the article:

Leave a comment