Berkenalan Dengan Perintah UNIX

Author : SPYRO KiD
Contact : spyro_zone@Yahoo.com ==> http://www.spyrozone.net
CopyLEFT (c) 2004 http://www.spyrozone.net All Rights Reserved
——————————————————

Hmm.. saatnya bermigrasi… 😉 Well, kali ini kita akan belajar mengenal perintah-perintah dasar UNIX. Adapun hal-hal yang perlu anda perhatikan sebelum memulai ialah:
– Linux/UNIX membedakan huruf besar dan huruf kecil (case sensitive).
– Semua perintah UNIX ditulis dengan huruf kecil.
– Jika nantinya anda membutuhkan penjelasan lebih lanjut dari suatu perintah, pergunakan “rumus sakti” berikut, ketik pada konsol anda:

$ man perintah

Misalnya:

$ man cd

man dapat diartikan sebagai manual. Perintah diatas berarti akan menampilkan manual untuk perintah cd. Untuk selanjutnya, anda bisa melakukan hal yang sama pada perintah-perintah lain.
——–
ls
——–
Perintah ini dipergunakan untuk menampilkan daftar file yang berada di dalam directory.

$ ls –help

Perintah diatas akan menampilkan bantuan untuk perintah ls
$ ls -l

Untuk menampilkan informasi tambahan (l = long)
$ ls -a

Perintah tersebut akan menampilkan hidden file. a disini mewakili kata atrribute
$ ls -la
Informasi tambahan yang ditampilkan oleh flag -l menyangkut user yang memiliki ‘owns’, file tanggal dan jam file itu dibuat, hak/permissions file, serta informasi-informasi lain. Contohnya :
rwxr-x–x
Catatan :
karakter 1-3: user/owner permissions
karakter 4-6: group permissions
karakter 7-8: other permissions
Penjelasan dari masing-masing karakter tersebut ialah:
r – read, permissions utk ‘baca’
w – write, permission utk ‘tulis’
x – (e)xecute, permission utk ‘menjalankan’

Jadi, arti contoh diatas ialah:

*

user/owner dapat melakukan (hak) read/baca, write/tulis dan execute/jalankan file yang satu group dengan user/owner dapat read/baca, execute/jalankan file user lain dapat execute/menjalankan file tersebut.
*

Hal ini berarti permission tidak ada, jika ada d sebelum permission berarti itu adalah directory.

————–
cat

————–
Perintah cat atau concatenate dipakai untuk menampilkan dan menulis/membuat file. $ cat spyrozone.txt

– Menampilkan isi file spyrozone.txt
$ cat “Hello” > spyrozone.txt

Membuat file dengan nama spyrozone.txt yang berisi teks Hello. Untuk menambahkan isi file, ketik:

$ cat “Hello SPYRO” >> spyrozone.txt

Anda tinggal mengubah tanda > menjadi >>
$ cat -n tutorial.txt
Perintah diatas akan menampilkan isi tutorial.txt disertai dengan nomor baris. Berguna bila anda ingin melihat ini source code suatu program, misalnya C/C++

Anda bisa menggabungkan isi beberapa file menjadi satu file. Misalnya anda beberapa memiliki file dengan nama spyro1.txt & spyro2.txt. Anda ingin mengabungkan seluruh file tersebut pada sebuah file bernama spyrozone.txt, maka perintah yang digunakan ialah:

$ cat spyro1.txt spyro2.txt > spyrozone.txt

————–

more
————–
Menampilkan isi dari file secara perlayar.
$ more tutor.txt

Anda akan melihat deretan angka 1 sampai 23 dan di baris terbawah tertera angka tulisan “–More–(20%)”. Untuk bernavigasi saat melihat tampilannya, gunakan dua tombol berikut ini.

» Spasi untuk maju satu layar penuh. Arti dari satu layar penuh adalah jumlah baris yang dimunculkan di layar console Anda. Biasanya, console Linux diatur pada resolusi 80 kolom dan 25 baris. Dengan demikian, penekanan spasi berarti menampilkan 23 atau 24 baris berikutnya.

» Tombol “b” untuk mundur satu layar penuh. Penjelasan mengenai arti satu layar penuh sama seperti di atas.

Apabila Anda terus menekan tombol spasi sampai akhir file, secara otomatis program more akan berhenti dan prompt akan kembali ke shell. Sama halnya jika Anda menekan tombol [Ctrl]+[C] sewaktu-waktu. Tombol [Ctrl]+[C] sendiri adalah kombinasi tombol universal di console Linux untuk mengakhiri suatu eksekusi program dan semata-mata bukan untuk more saja. Cara lain untuk mengakhiri program more adalah dengan menekan tombol “q”.

————–
grep
————–
Menampilkan semua baris yang mengandung pola yang diinginkan:

$ grep spyrozone tutor.txt

————–
echo
————–

Echo dipakai untuk menampilkan apa yang kita ketik di layar. Perintah ini sama seperti perintah ECHO di DOS.
echo “The NEWBIE HACKERS spirit station!!”

The NEWBIE HACKERS spirit station!!

Anda juga bisa membuat file dengan perintah ini:
echo “The NEWBIE HACKERS spirit station!!” > spyrokid.txt

Perintah diatas akan membuat file spyrokid.txt di directory aktif. File tersebut akan berisi teks “The NEWBIE HACKERS spirit station!!” (tanpa tanda petik). Untuk menambah isi file, ganti > dengan >>

Berikut adalah contoh menarik lain penggunaan echo :
$ echo -e “\thehehe\b\b\b\b\b\bspyrozone\n ” > spyro.txt

Lihatlah isi file spyro.txt dengan perintah cat, anda akan melihat tampilan isi file tersebut:

spyrozone

Lho, kemana yang lain?? kenapa yang ada hanya spyrozone?? Berikut penjelasannya:

» \t pada echo menunjukkan pemakaian tabulasi. Pada console Linux, tabulasi memberikan jarak sebesar 8 karakter. Tanpa option -A, cat menerjemahkan \t menjadi karakter tabulasi sehingga rangkaian karakter “spyrozone” diindentasi. Dengan -A, \t ditampilkan sebagai string ^I, yaitu control character untuk tabulasi.

» \b pada echo berarti backspace alias menghapus satu karakter di sebelah kiri. Oleh karena \b diketik tiga kali, maka ini sama artinya dengan menghapus frase “hehehe” seperti yang terlihat dalam tampilan cat. Dengan option -A, karakter backspace ditampilkan sebagai ^H dan frase “hehehe” tetap terlihat.

» \n pada echo berarti memberikan satu baris kosong. Sekalipun dengan option -A, tetap diberikan satu baris kosong di bawah tulisan “spyrozone”. Hanya saja, sekarang ada 2 karakter $. Satu untuk menandakan akhir baris (end of line) pada baris kalimat “spyrozone” dan satunya lagi untuk menandai baris di bawahnya. Perhatikan adanya spasi kosong antara tanda tanya dan karakter $.

————–
cd
————–
Mewakili kata change directory. Perintah ini dipakai untuk berpindah directory.

$ cd /root

*****************************************************************
Di Linux yang digunakan adalah / (slash) bukan \ (backslash)

*****************************************************************

————–
cp
————–
Perintah copy dipakai untuk mengcopy file.
$ cp tutor.txt tutor.txt.bak
$ cp tutor.txt ~spyro/backup-data/tutor.txt.backup

————–
mv
————–
Mewakili kata move. Perintah ini dipergunakan untuk mengganti nama file atau directory.
$ mv tutor.txt tutor-backup.txt
$ mv backup bak

————–
rm
————–
Perintah remove dipergunakan untuk menghapus file.

$ rm tutor.txt

Perintah diatas akan menghapus file tutor.txt

rm *

Perintah diatas akan menghapus SELURUH FILE yang berada di directory aktif.

————–
mkdir
————–
Make directory, dipergunakan untuk membuat directory.
$ mkdir kamarku

————–
rmdir
————–
Remove Directory, hapus directory. Perintah ini dibutuhkan untuk menghapus directory. Namun perlu anda ingat bahwa file-file yang berada di dalam directory harus dihapus terlebih dahulu sebelum anda menghapus suatu directory.
$ rmdir backup

————–

who
————–
who digunakan untuk menampilkan user yang login ke system. Output perintahnya kira-kira seperti berikut :

$ who
root tty1 Nov 20 17:47
spyrokid tty2 Nov 20 17:48
spyrokid tty3 Nov 20 17:48
spyrokid ttyp0 Nov 20 18:43 (localhost)

Kolom pertama menunjukkan nama user yang login, kolom kedua menunjukkan
terminal line yang digunakan, kolom ketiga menunjukkan waktu login dan
kolom keempat menunjukkan domain atau IP asal mereka koneksi, jika kosong
berarti mereka main langsung dari console.

————–
whoami
————–
Lupa siapa anda??
$ whoami
spyrokid

Perintah lain:
$ who am i
spyrozone!spyrokid tty3 Nov 20 17:48

————–
pwd

————–
Tampilkan directory aktif, pwd = print working directory, perintah yang dipakai kalo saat jalan2, sudah gak tau mo pulang lewat mana 🙂

$ pwd
/home/spyrokid

————–
ps

————–
Menampilkan proses yang aktif
$ ps
PID TTY STAT TIME COMMAND
87 2 S 0:00 -bash
88 3 S 0:00 -bash
1440 2 S 0:00 pico jilid2.txt
1443 3 R 0:00 ps

————–
ping
————–
Mengecek host apakah ‘up’ utk istilah teknisnya silakan ‘man ping’
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.1 ms

— localhost ping statistics —
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
spyrozone:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.1 ms

— 127.0.0.1 ping statistics —
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
spyrozone:~$

Perhatikan bahwa localhost dan 127.0.0.1 adalah sama 🙂
127.0.0.1 adalah local loopback yang disediakan untuk testing.

————–
finger
————–
Mencari informasi user
$ finger
Login Name Tty Idle Login Time Office Office Phone
spyrokid Spyrokid 2 Nov 22 01:10
spyrokid Spyrokid 3 Nov 22 01:10
root 1 1:37 Nov 22 01:10
$ finger @spyrozone.net
[spyrozone.net]

Welcome to Linux version 2.0.34 at spyrozone.net !

3:46am up 2:37, 3 users, load average: 0.00, 0.00, 0.00

Login Name Tty Idle Login Time Office Office Phone
spyrokid Spyrokid 2 Nov 22 01:10
spyrokid Spyrokid 3 Nov 22 01:10
root 1 1:39 Nov 22 01:10

spyrozone:~$ finger @localhost
[localhost]

Welcome to Linux version 2.0.34 at spyrozone.net !

3:47am up 2:38, 3 users, load average: 0.00, 0.00, 0.00

Login Name Tty Idle Login Time Office Office Phone
spyrokid Spyrokid 2 Nov 22 01:10
spyrokid Spyrokid 3 Nov 22 01:10
root 1 1:40 Nov 22 01:10

spyrozone:~$ finger spyrokid
Login: spyrokid Name: Spyrokid
Directory: /home/spyrokid Shell: /bin/bash
On since Tue Nov 22 01:10 (PHT) on tty2 8 seconds idle
On since Tue Nov 22 01:10 (PHT) on tty3
Last login Tue Nov 22 01:13 (PHT) on tty4
Mail forwarded to “|IFS=’ ‘&&exec /usr/bin/procmail -f-||exit 75
#spyrokid”
No mail.
No Plan.

spyrozone:~$ finger root
Login: root Name:
Directory: /root Shell: /bin/bash
On since Tue Nov 22 01:10 (PHT) on tty1 1 hour 42 minutes idle
Mail last read Tue Nov 15 09:19 2004 (PHT)
No Plan.

————–
ftp
————–
Menggunakan file tranfer program.
spyrozone:~$ ftp localhost
Connected to localhost.
220 spyrozone.net FTP server (Version wu-2.4.2-academ[BETA-15](1) Wed
May 20 13:45:04 CDT 2004) ready.
Name (localhost:spyrokid): ftp
331 Guest login ok, send your complete e-mail address as password.
Password: spyrokid@spyrozone.net
230-Welcome, archive user! …

………….

………………………
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

ftp juga bisa dilakukan dengan melakukan telnet ke port 21

spyrozone:~$ telnet localhost 21
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 spyrozone.net FTP server (Version wu-2.4.2-academ[BETA-15](1) Wed
May 20 13:45:04 CDT 2004) ready.

————–
talk
————–
Berbicara dengan user lain, misalnya spyrokid request melakukan talk ke root:

talk root
atau
talk root@spyrozone.net

[Waiting for your party to respond]

[Ringing your party again]

Di terminal root akan muncul pesan :

Message from Talk_Daemon@spyrozone at 4:00 …
talk: connection requested by spyrokid@localhost.
talk: respond with: talk spyrokid@localhost

root harus mengetik talk spyrokid@localhost jika ingin menjawab request

talk spyrokid@localhost

[Connection established]

Tekan Ctrl+C untuk terminate connection.

————–
telnet

————–
Melakukan komunikasi dengan host lain melalui telnet protocol.
spyrozone:~$ telnet localhost
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.

Welcome to Linux 2.0.34.

spyrozone login: spyrokid
Password: http://www.spyrozone.net
Linux 2.0.34.
Last login: Tue Nov 22 01:13:52 on tty4.
No mail.

spyrozone:~$ telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 spyrozone.net ESMTP Sendmail 8.9.0/8.9.0; Tue, 22 Nov 2004
03:52:51 +0800
helo darling
250 spyrozone.net Hello spyrokid@localhost [127.0.0.1], pleased to
meet you
mail from: guest@spyrozone.net
250 guest@spyrozone.net… Sender ok
rcpt to: untukmu@seorang.jauh.disana
250 untukmu@seorang.jauh.disana… Recipient ok (will queue)
data
354 Enter mail, end with “.” on a line by itself
Kukirim lagu dan salam rinduku
.
250 EAA01615 Message accepted for delivery
quit

spyrozone:~$ telnet localhost 110
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
+OK spyrozone POP3 Server (Version 1.005l) ready at
user root
+OK please send PASS command
pass http://www.spyrozone.net
+OK 2 messages ready for root in /usr/spool/mail/root
stat
+OK 2 7227
retr 1
quit

Okay, sekian dulu perkenalannya, untuk selanjutnya anda bisa menjelajah sendiri dengan perintah man.

Mengakses Aplikasi Windows pada Linux

Author : scut
Contact : scut@kecoak.or.id
CopyLEFT (c) 2005 http://www.spyrozone.net All Rights Reserved
——————————————————
Kita tentunya pernah mendengar apa itu Linux ? Linux adalah Sistem Operasi (OS), yang merupakan variant dari Unix, kalo sudah “Unix” tentu kebanyakan dari kita beranggapan sesuatu hal yang kelihatanya sulit, benarkah demikian ? Pernah disalah satu media cetak disebutkan bahwa biasanya pengguna Linux adalah para Profesional IT/MIS/Programmer.

Kita harus menghilangkan anggapan bahwa Unix/Linux itu hanya khusus bagi golongan tertentu saja, siapapun kita, apapun profesi kita, selama kita memiliki komputer yang mencukupi kita bisa mencoba install dan menjalankannya. Tapi kita tidak akan membahas bagaimana cara installasi tapi bagaimana mengoptimalkan Linux anda salah satunya dengan menjalankan khususnya aplikasi windows yang pernah dan masih berjalan, dijalankan di Linux.

Kita semua tentu sudah kenal dengan MS-Windows dan aplikasinya, karena memang sudah populer dikalangan pengguna PC. Masalahnya sekarang apabila kita menginstall Linux di PC yang sudah terpasang OS Windows95, apakah aplikasi-aplikasi yang sudah terpasang di windows masih bisa dijalankan di Linux ?

Jawabnya BISA !, asalkan komputer kita bisa menjalankan win95 dan xWindows Linux, dengan menggunakan WINE dapat diperoleh di (http://www.winehq.com)

Wine
====

Apakah wine ? Wine adalah sebuah sebuah program yang dapat menjalankan aplikasi win16, win32. Wine ini berjalan baik pada aplikasi win95 atau sebelumnya. Wine adalah Windows-compatibility layer untuk Unix dan X11. Wine terdiri dari:

Sebuah API, yang kompatibel dengan MS-Windows API Sebuah Library, disebut Winelib, yang mengimplementasi API Sebuah Binary compability layer yang menjalankan Windows binari.

Kebutuhan Sistem
=================

1. Sistem komputer yang dibutuhkan adalah :
2. Linux versi 0.99.13 atau yang lebih baru.
3. Sistem X windows
4. Jika menggunakan RedHat harus Libxpm
5. Gcc 2.7.x atau yang terbaru.

Installasi
==========

Untuk RedHat ambilah yang versi RPM, karena akan memudahkan kita untuk installasi. Untuk downloadnya dapat diambil di:

http://www.winehq.com/download.html

Setelah kita ambil yang versi rpm, misalnya disimpan di direktory /root .
Untuk installasi ketikan :

#rpm ^ضi wine*

Tunggu sampai keluar prompt #
File hasil installasi akan terbentuk di lokasi :
/usr/local/bin/wine

File Program eksekusi
/usr/local/etc/wine.conf

File Konfigurasi secara Global
~/.winerc

File untuk user-user yang menjalankan wine
/usr/local/lib/wine.sym

File tabel Umum untuk Symbol (digunakan untuk Debuging) Apabila kita mengambil yang versi tar.gz maka kita harus menguncompressnya dulu, setelah itu jalankan ./configure

Untuk memanggil program/Aplikasi windows dapat menjalankannya seperti dibawah ini, di dalam term Xwindows Linux.

[root]# /usr/local/bin/wine /dosc/windows/mshearts.exe
[root]# /usr/local/bin/wine /dosc/windows/sol.exe
[root]# /usr/local/bin/wine /dosc/windows/notepad.exe

Untuk mengetahui aplikasi apa saja yang dapat berjalan di Wine ini anda bisa cek di: http://www.winehq.com/Apps

Kesimpulan
==========

Agar aplikasi Windows kita bisa dijalankan di Linux, kita harus install OS- Windows dahulu, setelah itu dipartisi yang lain kita install Linux. Harddisk yang berisi aplikasi Windows harus dimount terlebih dahulu agar bisa dibaca oleh Linux.

(contoh: mount /dev/hda1 /dosc), apabila kita masuk ke /dosc berarti kita mengakses harddisk yang berisi windows tadi (drive C/D dalam aplikasi DOS/WIN).

Dibutuhkan memory komputer yang cukup, untuk menjalankan aplikasi windows ini dikarenakan aplikasi windows sendiri banyak minta memory.

Mengamankan Linux Anda

Author : y3ppy
Contact : y3ppy_neutron@yahoo.com
CopyLEFT (c) 2007 http://www.spyrozone.net All Rights Reserved
——————————————————
I. Preface
———–

Linux, yang disebut-sebut sebagai “The Hackers OS”, dewasa ini menjadi Operating System yang populer. Perjuangan para pecinta Open Source dalam Me-Linux-kan masyarakat tampaknya tidak sia-sia. Linux disukai karena FREE, secure dan tampilan grafisnya yang kini kian menawan saja. Walaupun sudah diakui ketangguhannya, namun bukan berarti Linux 100% secure. Tentu masih ada beberapa celah di dalamnya yang bisa dijadikan sebagai jalan masuk bagi pihak-pihak yang tidak bertanggungjawab .
Karena itulah, dalam tutorial ini, saya bermaksud untuk berbagi informasi mengenai bagaimana cara-cara mengamankan mesin Linux anda. Semoga bermanfaat.

II. Apa saja yang sebaiknya anda lakukan??
——————————————

—–[01]. Pengamanan terhadap mode Single User

Pertama-tama, kita harus membuat password lilo. Edit dan tambahkan option-option di bawah ini pada file /etc/lilo.conf (file utama pengaturan option-option pada LILO) :
Contoh file /etc/lilo.conf

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=00 #tambahkan !
default=linux
restricted # tambahkan !
password=t3rs3r4h # tambahkan !
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-10.img
root=/dev/sda6
read-only

:: Keterangan parameter selengkapnya:

boot=
Memberitahu device yang memiliki boot sector. Boot sector dibaca dari device ini dan di mount sebagai root.

Linear
Mengenerate linear sector addrress. Lihat dokumentasi LILO.

install=
Menginstal file yang telah ditentukan sebagi boot sector yang baru. Jika install tidak dipakai, /etc/lilo/boot.b dipakai sebagi default.

message=
Untuk menampilkan file teks, besarnya maksimum 65,535 byte.

verbose=
Menampilkan progress reporting. Option lain seperti -v dan -q. Lihat dokumentasi LILO.

backup=
Menyalin boot sector asli ke file .

force-backup
Sama dengan backup. Option ini menimpa salinan backup yang telah dibuat dan akan mengabaikan option backup bila keduanya dipakai.

Prompt
Meminta masukan saat boot.

timeout=
Mengeset waktu tunggu keyboard sebelum menjalankan option berikutnya. Defaultnya 5 detik. Masukkan value 0 jika ingin LILO menunggu sampai ada masukkan darii keyboard.

serial=
Mengijinkan masukan dari serial line dan keyboard ke LILO.

ignore-table
Mengabaikan tabel partisi yang corrupt.

password=
Memasang password untuk melindungi boot images.

restricted digunakan bersama dengan option password, restricted di sini berarti password lilo hanya akan berlaku/ditanyakan jika user MENULISKAN/MENGGUNAKAN paramater atau option tertentu pada saat booting linux (misalkan LILO: linux –s, linux root=/dev/hda1 rw init=/bin/sh, dll). Dan password TIDAK akan ditanyaakan jika kita booting TIDAK MENGGUNAKAN parameter (misalkan Lilo: linux).
password=t3rs3r4h berisi password lilo untuk booting (dalam hal ini berarti password lilonya adalah t3rs3r4h). Baca baca manualnya dengan mengetik perintah:
[root]# man lilo.conf

Setelah itu settinglah agar file /etc/lilo.conf hanya dapat terbaca oleh root.
[root]# chmod 600 /etc/lilo.conf

Jangan lupa untuk mengupdate konfigurasi /etc/lilo.conf yang baru.
[root]# /sbin/lilo

dan buat agar file /etc/lilo.conf bersifat immute (sehingga file /etc/lilo.conf ini tidak akan bisa diubah/diedit tanpa melakukan un-immute) :
[root]# chattr +i /etc/lilo.conf

Untuk melakukan perubahan/mengedit file /etc/lilo.conf harus dilakukan un-immute terlebih dahulu dengan perintah :
[root]# chattr -i /etc/lilo.conf

—–[02]. Melakukan pemeriksaan file-file log pada Linux

Cobalah periksa file-file log Linux anda (terutama yang terletak di direktori /var/log).
[root]# less /var/log/messages
[root]# less /var/log/maillog
[root]# less /var/log/xferlog

—–[03]. Melakukan backup

Seringkali penyusup masuk ke dalam sistem dan merusak dengan menghapus berkas/data yang dapat ditemui. Jika intruder ini berhasil menjebol sistem dan masuk sebagai super user (administrator), maka ada kemungkinan dia dapat menghapus seluruh berkas. Untuk itu, adanya backup yang dilakukan secara rutin merupakan sebuah hal yang esensial.

Untuk sistem yang sangat esensial, secara berkala perlu dibuat backup yang letaknya berjauhan secara fisik. Hal ini dilakukan untuk menghindari hilangnya data akibat bencana seperti kebakaran, banjir, gempa dan lain lain. Apabila data-data dibackup akan tetapi diletakkan pada lokasi yang sama, kemungkinan data akan hilang jika tempat yang bersangkutan mengalami bencana

Backup lebih baik dilakukan secara rutin dan secara menyeluruh. Kita bisa melakukan backup tiap hari misalnya atau tiap jangka waktu tertentu sesuai dengan kebutuhan dan tuntutan keamanan sistem kita. Sebagai medianya dapat digunakan harddisk, atau tape (lebih baik). Untuk melakukan backup direktori home (misal : /home) dan di bawahnya pada file /root/bkhome.tar.gz di hard sik yang sama, gunakan perintah berikut :

[root]# tar –cvzf ~/bkhome.tar.gz /home

Untuk keamanan yang lebih baik, ada beberapa file pada Linux yang perlu untuk kita konfigurasi. Kebanyakan file yang akan kita manipulasi ada di direktori /etc karena file-file konfigurasi terletk disana.

—–[04]. Memproteksi perintah-perintah linux tertentu

Kita bisa juga memproteksi/merestriksi perintah-perintah tertentu agar cuma bisa dijalankan oleh root. Ada kalanya perintah/program yang diinstal pada linux harus dilindungi agar tidak disalah gunakan oleh user lain sehingga dapat mengganggu keamanan sistem atau mengganggu user yang lain (misal : rpm, wall, mc, nmap, repeat, dll). Gunakan perintah chmod agar perintah tersebut cuma bisa dieksekusi oleh root (700), misalnya untuk merestriksi perintah rpm :
[root]# chmod 700 /bin/rpm
Cobalah untuk merestriksi perintah-perintah lainnya (contoh : wall, repeat, reboot, shutdown, poweroff, halt, dll).

—–[05]. Merestriksi perintah su (substitute user)

Untuk meningkatkan keamanan, kita perlu untuk membatasi jumlah user/menghalangi user tertentu agar tidak bisa menjadi root dengan perintah su (substitute user). Edit file /etc/pam.d/su :
[root]# vi /etc/pam.d/su

auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_pwdb.so shadow use_authtok nullok
session required /lib/security/pam_pwdb.so
session optional /lib/security/pam_xauth.so

tambahkan 2 baris berikut ini :
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel

Baris di atas mengandung arti hanya anggota group wheel (user dengan gid = 10) saja yang bisa menjalankan perintah su menjadi root. Setelah itu, gunakan perintah berikut untuk memilih user-user mana saja yang bisa memakai su untuk root (bisa juga melalui userconf) :
[root]# usermod -G10 hakim

G adalah supplementary groups di mana user juga merupakan anggota dari group tersebut. “10” adalah nomor id dari group “wheel” dan hakim adalah nama usernya. Dengan perintah di atas, maka user dengan nama hakim akan dimasukkan ke dalam grup wheel. Untuk mengeceknya dapat digunakan perintah id :
[root]# id hakim

—–[06]. Mengkonfigurasi file /etc/inittab dan file /etc/fstab

:: Konfigurasi file /etc/inittab :

#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.

# Default runlevel. The runlevels used by RHS are:
# 0 – halt (Do NOT set initdefault to this)
# 1 – Single user mode
# 2 – Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 – Full multiuser mode
# 4 – unused
# 5 – X11
# 6 – reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Things to run in every runlevel.
ud::once:/sbin/update

# Trap CTRL-ALT-DELETE
# ca::ctrlaltdel:/sbin/reboot -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 “Power Failure; System Shutting Down”

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c “Power Restored; Shutdown Cancelled”

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm -nodaemon

KETERANGAN KONFIGURASI :

id:3:initdefault:
Kita bisa mengeset default run level sehingga secara otomatis akan booting dengan run level yang diinginkan (Jangan menggunakan run level 0 (halt) dan 6 (reboot)). Konfigurasi di atas berarti default runlevel adalah 3 (Full Multi User).

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/reboot
Dengan PERINTAH di atas maka tombol CTRL-ALT-DELETE akan dianggap sebagai perintah reboot. Untuk mendisablenya dapat dilakukan dengan cara menambahkan tanda komentar (#) sehingga perintah tersebut tidak akan dieksekusi :
# Trap CTRL-ALT-DELETE
# ca::ctrlaltdel:/sbin/reboot

# Run gettys in standard runlevels
Di bawah komentar ini berisi tty yang diaktifkan pada server yang secara default akan ada enam (tty1 – tty6). Virtual console ini dapat kita kurangi (misal : menjadi lima) dengan cara menambahkan tanda komentar (#):
# 6:2345:respawn:/sbin/mingetty tty6

Jangan lupa jalankan perintah berikut agar perubahan yang kita lakukan dibaca ulang :
[root]# /sbin/init q
Manual file /etc/inittab dapat dilihat dengan perintah :
[root]# man inttab

:: Konfigurasi /etc/fstab

File ini berisi filesistem-filesistem yang dimount secara otomatis pada saat sistem startup. Jika kita membagi partisi sistem dengan optimum, tentu akan lebih memudahkan dalam memanage sistem kita. Keuntungan dari multiple partition antara lain :
• Memudahkan mengatur back up dan upgrade
• Lebih cepat dalam proses booting (kasus tertentu)
• Kemampuan mengontrol file system yang dimount
• Proteksi dari SUID program
Kita bisa membuat option-option tertentu (misal noexec, nodev, dan nosuid) untuk partisi-partisi yang telah kita buat. Contoh isi file /etc/fstab :
/dev/hda11 / ext2 defaults 1 1
/dev/hda1 /boot ext2 nodev,noquota 1 2
/dev/hda8 /home ext2 exec,nodev,nosuid,rw,usrquota 1 2
/dev/hdc1 /var/www ext2 exec,nodev,suid,rw 1 2
/dev/hdc2 /var/ftp ext2 exec,nodev,suid,rw 1 2
/dev/hdc3 /cache ext2 exec,nodev,suid,rw 1 2
/dev/hdc4 /home2 ext2 exec,nodev,nosuid,rw,usrquota 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda9 /usr ext2 exec,dev,suid,rw 1 2
/dev/hda10 /var ext2 exec,dev,suid,rw 1 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda5 swap swap defaults 0 0
/dev/hda6 swap swap defaults 0 0
/dev/hda7 swap swap defaults 0 0

defaults berarti membolehkan semuanya (quota, read-write, and suid) dalam partisi tersebut. noquota berarti tidak mengeset users quotas dalam partisi ini. nosuid berarti tidak mengeset SUID/SGID access dalam partisi ini. nodev berarti tidak mengeset character atau special devices access dalam partisi ini. noexec berarti tidak mengeset eksekusi binary apapun dalam partisi ini. quota membolehkan users quotas dalam partisi ini. ro membolehkan read dalam partisi ini. rw membolehkan read-write dalam partisi ini. suid membolehkan SUID/SGID access dalam partisi ini. Pastikan untuk menambahkan option nosuid pada partisi-partisi tertentu terutama partisi home untuk menghindari kemungkinan pengaksesan root dengan program SUID. Agar lebih jelas, dapat lihat manualnya dengan perintah :
[root]# man fstab
Yang perlu kita perhatikan di sini adalah mengaktifkan nosuid, yang berarti tidak mengizinkan adanya file suid (misalkan pada direktori /home).

—–[07]. Mensetting unmask dan time out

::unmask

Perintah umask digunakan untuk menentukan mode penciptaan file baku/secara otomatis pada sistem. Jika file diciptakan tanpa mengindahkan setting permisi, pemakai secara tidak sengaja mungkin dapat memberi permisi membaca atau menulis kepada seseorang yang tidak seharusnya memiliki permisi ini. Umumnya setting umask mencakup 022, 027, dan 077 (yang paling terbatas). Normalnya umask diset dalam /etc/profile, sehingga berlaku untuk semua pemakai sistem. Pastikan untuk membuat umask root 077, yang akan meniadakan permisi membaca, menulis, dan mengeksekusi bagi pemakai lain, kecuali dirubah secara eksplisit menggunakan chmod.

::Pembatasan waktu (time out)
Kita bisa mengeset berapa lama waktu logout secara otomatis jika ada shell yang tidak dipakai selama jangka waktu tertentu (time out), misal = 5 menit = 300 detik. Edit file /etc/profile (File ini berisi environment dan startup program). Pada bagian :
TMOUT=7200
ganti 7200 dengan 300
Dengan begitu jika ada console yang tidak kita gunakan dalam waktu tertentu/kita lupa tidak menutupnya maka secara otomatis akan menutup dalam waktu 300 detik.

—–[08]. Mengkonfigurasi file /etc/issue dan issue.net serta file/etc/securetty

::File etc/issue dan issue.net

File ini akan menampilkan jenis sistem operasi kita (sekaligus kernelnya) pada waktu telnet (file /etc/issue.net) dan waktu login secara lokal/langsung (file /etc/issue). Lebih baik kita mengganti isi file /etc/issue dan /etc/issue.net, sehingga dapat meminimalkan kerawanan keamanan jaringan.
[root]# vi /etc/issue
[root]# vi /etc/issue.net
Contoh isi file /etc/issue dan /etc/issue.net :
Welcome to spyrozone.net

::File /etc/securetty
File ini mengizinkan TTY device mana saja yang dapat dipakai oleh root untuk login. Edit file /etc/securetty dan disable TTY device dengan memberi tanda comment pada awal baris (#).

tty1 menjadi #tty1
tty2 #tty2
tty3 #tty3
tty4 #tty4
tty5 #tty5
tty6 #tty6
tty7 #tty7
tty8 #tty8

Dengan demikian tidak ada user yang bisa langsung menggunakan root untuk login, tetapi harus menggunakan user biasa baru setelah itu menggunakan program su (substitute user) untuk berbah menjadi root.

—–[09]. Proteksi Direktori /etc/rc.d/*

Direktori /etc/rc.d/ ini sangat penting karena file-file pada direktori akan dijalankan ketika sistem startup/booting. Khusus direktori /etc/rc.d/init.d/* berisi servis-servis yang akan dijalankan pada saat startup sebagai daemon. Pastikan direktori ini tidak bisa diakses oleh user selain root :
[root]# chmod -R 700 /etc/rc.d/*

—–[10]. Konfigurasi file /etc/sysctl.conf

File ini merupakan file konfigurasi kernel parameter pada saat run time. Ada baiknya file ini juga kita konfigurasikan, misal :
# Enable ignoring ping request (untuk mengkonfigurasi agar sistem kita ignore terhadap ping request)
net.ipv4.icmp_echo_ignore_all = 1
# Enable ignoring broadcasts request (agar sistem ignore terhadap broadcast request)
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable TCP SYN Cookie Protection (agar sistem terlindung dari SYN attack, yaitu salah satu jenis Denial of Service Attack (Dos))
net.ipv4.tcp_syncookies = 1
# Disable ICMP Redirect Acceptance (melindungi dari kemungkinan perubahan routing tables)
net.ipv4.conf.all.accept_redirects = 0
# Enable always defragging Protection (harus diaktifkan jika sistem kita adalah gateway untuk IP Masquerading)
net.ipv4.ip_always_defrag = 1

Agar konfigurasi di atas dieksekusi, jangan lupa untuk menjalankan perintah berikut :

[root]# /etc/rc.d/init.d/network restart

atau bisa juga dengan perintah :

[root]# service network restart

III. Penutup

————
Wah, sebenarnya masih banyak lagi hal-hal yang harus anda lakukan untuk meningkatkan keamanan mesin anda. Namun, sepertinya kita harus berpisah sampai disini karena keterbatasan waktu 😉

Sampai jumpa…

Perjalanan KDE (K Desktop Environment)

Author : SPYRO KiD
Contact : spyro_zone@Yahoo.com
CopyLEFT (c) 2007 http://www.spyrozone.net All Rights Reserved
——————————————————

KDE (K Desktop Environment) adalah sebuah Desktop Environment (lingkungan desktop) yang banyak digunakan pada saat ini. Sebenarnya KDE ialah kepanjangan dari Kool Desktop Environment. Namun K disini sepertinya tidak lagi berasosiasi dengan Kool. Bisa dibilang KDE adalah saingan terberat GNOME (GNU Network ObjectModel Environment). Namun KDE lebih banyak disukai daripada GNOME. Pernah suatu ketika Linus Torvalds mengeluarkan pernyataan yang sangat berani dan sangat mengejutkan. Linus mengatakan bahwa orang-orang yang berada di GNOME adalah orang-orang IDIOT!. Wah, tentu saja hal ini membuat gempar dan membuat orang-orang GNOME menjadi tersingung. Alasannya adalah karena Linus menilai GNOME terllu mementingkan tampilan dan mengabaikan keamanan. Padahal seharusnya keamanan yang harus diutamakan karena adalah ciri khas LINUX, the Hackers OS 😉

KDE lahir dari tangan dingin Matthias Ettrich, seorang Mahasiswa Universitas Tubingen-Jerman pada Oktober 1996. Beliau sendiri pada pertengahan tahun 90-an dikenal sebagai programer LyX. Matthias Ettrich adalah seorang Hacker yang rendah diri, ramah dan memiliki kepribadian menarik. Sama sekali tidak terdapat kesan sombong dalam dirinya. Matthias kini bekerja di Trolltech.

Segalanya diawali sekitar musim gugur tahun 1996. Beliau mengirimkan sebuah email e-mail ke Milis LyX:

———————————————————————————-

To: lyx@via.ecp.fr
Subject: Kool Desktop Environment
From: ettrich@peanuts.informatik.uni-tuebingen.de
Date: Mon, 14 Oct 1996 15:19:00 +0100 (MET)
Reply-To: lyx@zen.via.ecp.fr
Sender: owner-lyx@zen.via.ecp.fr

Hello,
I try to start another project with the goal to make Unix/X11 more userfriendly. I just want to start this and do little coding, most of my programming time will still go into the LyX development.

———————————————————————————-

Email tersebut juga berisi penjelasan panjang lebar mengenai project yang akan dikerjakannya. Tujuan utama dari KDE adalah menyulap Unix menjadi ramah dan user-friendly.

Adalah sebuah Toolkit bernama QT dari Trolltech yang dipergunakan untuk membangun KDE. Trolltech ialah sebuah perusahaan software di Oslo, Norwegia. Qt ialah toolkit yang digunakan untuk membangun aplikasi berbasis GUI di Unix. Qt menjadi fondasi untuk KDE, selain juga telah dipergunakan dalam berbagai aplikasi komersial. Dulunya, QT merupakan produk komersial. Namun setelah beberapa perjuangan panjang, akhirnya kini Qt digolongkan sebagai software open-source karena dilisensi dual: dengan General Public License (GPL) dan Qt Public License (QPL). Berikut ialah contoh program untuk menampilkan “Hello World” dengan menggunakan QT versi 2.x :

1: // qhello.cpp – Qt Hello world
2:
3: #include
4: #include
5:
6: int main( int argc, char **argv )
7: {
8: QApplication app( argc, argv );
9: QString msg( “Hello world !” );
10:
11: QLabel txt( “Hello world !”, 0 );
12: txt.resize( 250,50 );
13: txt.setAlignment( Qt::AlignCenter );
14:
15: app.setMainWidget( &txt );
16: txt.show();
17:
18: return app.exec();
19: }

Compile program diatas dengan perintah berikut (saya asumsikan QT terinstall di /usr/lib/qt2 ) :

g++ -o qhello qhello.cpp -lqt -I /usr/lib/qt2/include -L /usr/lib/qt2/lib

Jika anda tertarik untuk mempelajari QT, anda bisa berkunjung ke:
http://doc.trolltech.com

Agar terintegrasi dengan sempurna, KDE dibangun dengan menggunakan pustaka standar KDE (kdelibs). Pustaka ini mencakup kumpulan rutin yang dibutuhkan untuk pemrograman aplikasi grafis, fitur network, dan interaksi dengan pengguna.

KDE 1.0 Dirilis!!
—————–

Pada musim panas tahun 1998 KDE 1.0 dirilis. KDE saat itu juga sudah tersedia untuk varian Unix lain seperti FreeBSD, HPUX, dan Sun Solaris. KDE versi pertama ini terdiri atas beberapa perangkat dasar antara lain sistem menu (KStart), panel seperti taskbar-nya Windows(KPanel), serta window manager (KWM). Tidak hanya itu, KDE juga menawarkan sejumlah aplikasi lain yang sangat bermanfaat. Diantaranya ControlCenter untuk mengatur berbagai konfigurasi sistem (KControl), image viewer, File Manager, Konsole (Terminal emulator), e-mail client (KMail), organizer (KOrganizer), dan masih banyak lagi.

KDE 1 sangat cepat sekali menarik perhatian orang. Maklum saja, KDE menawarkan sesuatu yang baru yang telah banyak dinanti-nantikan orang. Banyak distro yang kemudian menyertakan KDE dalam paketnya. Misalnya saja SuSE, distro asal Jerman ini telah menyertakan KDE 1 pada SuSE versi 6.0. Walapun beberapa distro sama sekali tidak melirik KDE, namun paket instalasi KDE tidak resmi serta petunjuk instalasinya telah banyak beredar untuk banyak distro.

Sempat terjadi kericuhan dan kontroversi dalam pengembangan KDE versi ini. Richard Stallman adalah salah satu orang yang menolak kehadiran KDE karena KDE dibangun dengan Qt. Saat itu, Qt bukanlah merupakan pustaka yang bersifat open-source. Banyak kalangan mencoba membujuk Trolltech agar meng-Open source -kan produknya namun usaha ini sia-sia.

Lalu apa komentar si Bapak Linux mengenai kondisi ini? Apakah Linus juga menentang kehadiran KDE?? Linus Torvalds dengan bijaksana memberikan komentarnya:

My opinion on licenses is that “he who writes the code gets to choose his license, and nobody else gets to complain”. Anybody complaining about a copyright license is a whiner.

Digagaslah sebuah project baru bernama Harmony. Project ini bertujuan untuk menciptakan versi Open-Source dari Qt. Namun project ini akhirnya mati perlahan karena dinilai tidak menarik oleh kebanyakan pihak. Project Harmony ditutup pada Januari 1999.

Februari 1999, KDE 1.1 dirilis. Namun kemudian diadakan beberapa perbaikan (KDE 1.1.1) pada bulan bulan Mei. Beberapa penghargaan berhasil diraih, diantaranya ialah LinuxWorld Editor Choice Award 1999, “SoftwareInnovation of theYear” CeBIT 1999, dan Linux Journal 1999 Readers’Choice.

Agustus 1997 GNOME dikembangkan. Kehadiran GNOME juga menjadi bagian tersendiri dari perkembangan KDE. Berkat adanya GNOME yang dirintis oleh Miguel de Icaza, Trolltech meluluhkan sikapnya atas ketidakmauannya untuk menjadikan QT sebagai produk Open Source. Pada akhir tahun 1998 Trolltech akhirnya melepaskan versi Qt untuk Unix/X11 dengan QPL (Qt Public License). Sejak saat itulah QT resmi sebagai produk open-source.

KDE 2, sebuah perubahan besar.
——————————
KDE 2 dikembangkan dengan menggunakan QT 2. QT 2 sangat berneda dengan QT 1 sehingga KDE mengalami perombakan total. Panel di KDE 1 telah berubah menjadi Kicker di KDE 2 yang lebih tangkas dan menarik. Perkembangan lain seperti KIO dibangun untuk memudahkan akses data dengan semakin mudah ke berbagai device (misalnya disket, network drive, FTP, dll..). Untuk urusan Browsing, Tim KDE mengembangkan sendiri engine untuk membangun sebuah browser web yang mendukung penuh HTML 4 dan CSS (KHTML). Konqueror pun muncul di dunia. Konqueror ialah sebuah file manager sekligus browser web yang memanfaatkan KHTML. KMail dan KNode (program untuk akses e-mail dan newsgroup) mulai dipercantik dan dipoles disana-sini. Sadar bahwa dunia Linux miskin dengan IDE (Integrated Development Environment), maka tim KDE menghdirkan KDevelop, sebuah IDE modern yang berbasis KDE.

Sadar akan pentingnya aplikasi olah dokumen, KOffice dikembangkan. KOffce 1.1 meliputi KWord (pengolah kata), KSpread (spreadsheet), KPresenter (presentasi), Kivio (diagram dan flowchart), serta KIllustrator (grafik vektor).

KDE 2 meraih beberapa perhargaan: Show Favorite dan Linux Community Award di ajang LinuxWorld Expo 2000, Frankfurt, baik Editor’s Choice 2000 maupun Reader’s Choice 2000 dari LinuxJournal, Best Open Source Project di LinuxWord Expo 2001 San Francisco, Reader’s Choice Award dari LinuxJournal 2001, dan masih banyak lagi. Wah, hal ini membuktikan bahwa KDE memang luar biasa 😉

KDE 3 dengan QT 3

—————–
KDE 3 dikembangkan dengan Qt 3. Proses rilis KDE 3 dengan Dirk Müller berperan sebagai release coordinator, tidak terlalu berlarut-larut seperti sebelumnya. Hal ini dikarenakan QT 3 tidak terlalu berbeda dengan pendahulunya, QT 2. KDE 3 lebih cepat dibandingkan pendahulunya, serta tidak terlalu memakan memori.

Lahir pula paket KDE Edutainment bersama KDE 3. KDE Edutainment dirancang untuk anak-anak serta kaum remaja. KDE Edutainment meliputi KTouch untuk latihan mengetik, KStar yang mensimulasikan peta langit, KVocTrain untuk melatih kosakata, dan banyak lagi. Misi utama dari KDE Edutainment ialah untuk menghadirkan suasana “BELAJAR SAMBIL BERMAIN”.

KDE 3.1
——-
KDE 3.1 dirilis setahun kemudian. Rilis KDE 3.1 tergolong cukup lama setelah kelahiran pendahulunya karena dilakukan security audit untuk semakin meningkatkan keamanan. Ada begitu banyak hal baru di KDE versi ini yang menjadikanya semakin manis. Konqueror menjadi semakin cepat dan memiliki banyak fitur, dukungan Game yang semakin banyak, serta aplikasi-aplikasi yang sangat bermanfaat lainnya.

Sejak saat itu hingga kini, KDE semakin berkembang melahirkan versi-versi baru dan perbaikan di sana-sini. KDE akan semakin berkembang dan semakin powerful. Dengan tampilan yang semakin menggoda, tanpa mengabaikan faktor security.

–[ Referensi:
[1] http://www.trolltech.com
[2] http://www.kde.org

Hardening Linux Configuration Files

Brought To you By : Ph03n1X (king_purba/yahoo/co/uk)

[ Intro ]

System hardening adalah proses untuk menilai atau menimbang arsitek
tur keamanan sistem operasi, serta proses auditing (memeriksa kembali) apa
kah sistem operasi yang sudah terpasang berjalan dengan baik atau tidak.
Hal ini untuk mengantisipasi beberapa jenis serangan yang dapat dilakukan
terhadap sistem operasi tersebut. Serangan tersebut bisa dilakukan oleh attack
er apabila banyak kesalahan (vulnerable) yang dijumpai didalam sistem operasi.
System Hardening kurang lebihnya dapat disimpulkan sebagai langkah awal untuk
bertahan dan mengevaluasi dari serangan yang dilakukan terhadap sistem operasi
(komputer), hal ini meliputi :

1. Pengecekan setelah proses instalasi awal
2. Pengoptimalan sistem operasi sebelum dilakukan hubungan ke internet
3. Pengecekan secara rutin apabila perlu dilakukan patching (tambahan)
terhadap fasilitas pendukung yang ada didalam sistem operasi dan
aplikasinya.
4. Penghapusan terhadap kesalahan (vulnerabilities) yang ditemukan.

Berikut garis besar bagaimana melakukan hardening mesin linux
Untuk optimasi sekuritas dan reliabilitas. Tulisan ini saya batasi
dengan topik “Linux Configuration Files” agar pembicaraan tidak melenceng
ke sekuritas web aplikasi, sekuritas network, atau lainnya

[ Start Secure ]

Untuk membuat sebuah sistem yang aman, harus dimulai sejak
proses pemilihan sistem operasi apa yang kira – kira cocok sesuai
kebutuhan kita. Untuk itu di perlukan planning dan analisis yang akurat
saat membangun sebuah sistem. Secara garis besar proses awal yang harus
dilakukan sebelum mengonlinekan sebuah sistem ke internet.

1. Analisis dan planning yang akurat tentang sistem/network apa
yang hendak dibangun
2. Pemilihan sistem operasi yang tepat sesuai analisis dan planning.
3. Optimasi dalam proses instalasi sistem operasi, misalnya optimasi
partisi harddisk.
4. Hanya install software dan jalankan service yang diperlukan.
5. Lakukan penambalan hole (patching) pada aplikasi yang diketahui
vulnerable
6. Optimasi file konfigurasi.
7. Mulai onlinekan sistem operasi ke internet.

[ Install and Run Only Needed Software and Services ]

Proses ini direkomendasikan agar dilakukan saat installasi sistem
operasi, namun apabila kita terlanjur melakukan instalasi terlalu banyak
software bisa juga dilakukan removing software secara manual. Hal ini
dilakukan untuk meminimalkan kemungkinan vulnerability yang ada serta
mengoptimalkan performance sistem.

Red Hat based :
rpm -ev
yum remove
do : man rpm, man yum

Debian based :
apt-get remove
dpkg -r
do : man dpkg, man apt

Selanjutnya, minimalkan service yang berjalan di atas sistem
operasi dan tentu saja harus diperhatikan antara security dan usability.
Semakin banyak service yang dibuka artinya semakin banyak port yang
harus dibuka sehingga semakin banyak pula jalan masuk bagi seorang
attacker. Poses pengecekan service yang berjalan dilakukan dengan :

ps axueww
netstat -anutp
nmap -sV -vv localhost

Service yang tidak diperlukan bisa remove dari softwarenya, tidak di
jalankan dari init script, atau di blok dari firewall.

[ SUID file issue ]

File SUID adalah file yang saat di eksekusi akan di ekskusi
menggunakan priviledge owner file. Tentu saja file SUID yang dimaksud
adalah file- file SUID milik root. File SUID menjadi berbahaya ketika
di temukan bugs pada file tersebut, sehingga memungkinkan untuk melakukan
priviledge escalation dari user/daemon menjadi root. Minimalkan jumlah
file SUID yang ada di dalam sistem dan hanya berikan flags SUID jika
memang benar-benar di perlukan. Untuk mencari file-file SUID dan
mneghilangkan flags SUID dari file gunakan :

find / \( -perm -4000 -o -perm -2000 ! -type d \) -exec ls -ldb {} \;
chmod -s

[ Hardening Configuration File ]

Di sistem operasi linux hampir semua file konfigurasi disimpan
dalam bentuk file yang bersifat human readable. Default file konfigurasi
masih sangat memudahkan attacker melakukan eksploitasi terhadap sistem
operasi. Untuk itu perlu dioptimalkan konfigurasinya agar sekuritas dan
reliabilitas seimbang. Jangan karena restriksi security policy, service
yang ditawarkan tidak bisa di gunakan, atau karena security policy
diabaikan service yang ditawarkan diacak-acak oleh pihak lain. Beberapa
file yang perlu dikonfigurasi lagi setelah instalasi.

– /etc/inittab merupakan file yang mengatur proses booting init.

– /etc/fstab merupakan file yang digunakan untuk memberikan policy
mount partisi harddisk. Policy yang di terapkan pada file
– /etc/fstab berguna untuk mengurangi exploitasi lokal oleh.

– /etc/security/limits.conf merupakan file yang digunakan untuk
membatasi user dalam penggunaan resource mesin. Hardening file
ini bermanfaat untuk mengurangi resiko denial of service oleh
local user.

– /etc/profile merupakan file yang memberikan policy kepada user
yang login ke sistem. Hardening file ini bermanfaat untuk meng
urangi resiko-resiko akibat kecerobohan user.

– /etc/securetty merupakan file yang mengatur akses kontrol ke tty,
memberikan terlalu banyak akses ke tty mengakibatkan semakin
banyaknya kemungkinan user yang login termasuk illegal user.

– /etc/sysctl.conf file ini digunakan untuk memberikan policy dari
kernel, semisal file ini berguna untuk mencegah resiko SYN flood
ing, ICMP smurfing.

– /etc/syslog.conf file ini digunakan untuk melakukan managemen
logs file.

Semakin bertambahnya jam terbang dan oprek, biasanya semakin
banyak file konfigurasi di /etc yang di optimalkan. Namun sebagai
sekuritas dasar file-file di atas sudah cukup mengoptimalkan sekuritas.
Tentu saja file di atas hanya mengoptimalkan sistem operasi, jika
ternyata ada service yang ditambahkan maka konfigurasi filenya pun
perlu dituning.

[ Log Files Managemen ]

Log file merupakan bukti digital yang sangat penting untuk
mengetahui kejadian apa saja yang menimpa sistem. System logging di
kerjakan oleh daemon syslogd dengan mengacu pada konfigurasi file di
/etc/syslog.conf. Log file yang didapat dari daemon syslogd adalah
/var/log/messages dan /var/log/secure atau /var/log/auth.log tergantung
konfigurasi di syslog.conf.Untuk mengurangi resiko ancaman terhapusnya
file logging perlu di berikan immutable bits pada logs file.

chattr +a /var/log/messages
chattr +a /var/log/secure
chattr +a /var/log/auth.log

[ Kernel Level Security ]

Tidak bisa dipungkiri lagi bahwa kernel merupakan jantung sistem
operasi, kernel-lah yang menjadi lapisan paling bawah sistem operasi yang
langsung berinteraksi dengan hardware. Satu flaw di kernel bisa dipastikan
root sistemnya berhasil di takeover. Namun dari kernel juga, resiko dari
eksploitasi di level service dan aplikasi bisa diminimalkan. Beberapa
tools untuk optimasi sekuritas level kernel :

– SELinux
– LIDS
– grsecurity

[ PSysHard Hardening Framew0rk ]

Merupakan sebuah tools yang dipakai untuk melakukan hardening
sistem operasi, beberapa hal yang bisa dilakukan oleh framework ini
adalah :

1. Binary file managemen, digunakan untuk mengurangi resiko
backdoor yang menginfeksi file . file binary.
2. Instalasi host firewall (iptables di linux dan pf di openbsd)
3. Optimasi file . file konfigurasi di /etc (syslog.conf, profie,
securetty, sysctl.conf, limits/security, fstab)
4. Hardening sshd_config berguna untuk mengurangi resiko remote
eksploitasi ssh seperti ssh brute force attack.

Framework ini saya tulis sendiri menggunakan kombinasi perl dan
bash yang bisa di download di dua link berikut :

http://nightlogin.te.ugm.ac.id/~kaiten/opensource/
http://psyshard.sourceforge.net

Tips Belajar Linux Dengan Mandiri

Ingin belajar linux tapi bingung nggak ada tempat bertanya ?
Ingin baca buku tapi nggak tahu mana yang bagus ?
Ingin belajar linux dari web, tapi nggak tahu URL yang tepat ?
Apabila anda sudah berniat bermigrasi ke Linux tapi mengalami masalah diatas, jangan khawatir,karena anda tidak sendirian. Banyak rekan-rekan yang lain juga mengalami masalah serupa. Artikel ini mencoba mengulas beberapa tips bagaimana belajar linux secara mandiri.
Memilih Distro Linux
Ketika pengguna baru berkenalan dengan Linux, biasanya mereka terbentur pada masalah pemilihan distribusi (terkenal dengan sebutan distro) yang akan digunakan. Perlu dicatat bahwa pada hakekatnya distro Linux hanya memiliki perbedaan pada paket program aplikasi, tool untuk instalasi
program, organisasi direktori dan file, dan utilitas tambahan. Secara sistem semuanya sama-sama menggunakan kernel Linux.
Bagaimanapun juga tidak akan ada habisnya membandingkan distro Linux. Beberapa tips yang bisa digunakan dalam memilih distro Linux adalah:
 Distro yang banyak dipakai orang dan juga teman-teman dekat (akan mudah dalam membantu memecahkan masalah kita)
 Distro dengan paket program yang sesuai dengan yang kita inginkan
 Distro yang menyediakan manual gratis dengan penjelasan detail untuk kita pelajari (ini penting untuk belajar secara mandiri)
Masih juga bingung ? Untuk mudahnya ambil saja salah satu dari dua distro Linux yang cukup banyak digunakan dewasa ini yaitu Redhat dan Mandrake. Penjelasan artikel ini akan berpusat pada dua distro Linux tersebut.
Mendapatkan CD Linux
Cara termudah mendapatkan CD Linux adalah dengan membelinya di toko buku. Beberapa penerbit dan majalah menerbitkan edisi khusus yang berisi paket distro Linux ketika versi baru telah direlease.
Cara kedua adalah dengan membuatnya sendiri. Ini dengan asumsi bahwa anda memiliki akses internet yang baik, dan sanggup mendownload ISO image file dari distro yang akan kita gunakan.Besar file ISO sekitar 650MB, dan biasanya suatu distro Linux menerbitkan 3-5 ISO image file yang artinya akan menjadi 3-5 keping CD. CD nomor 1 adalah CD utama dari sebuah distro, sedangkan CD lainnya adalah berisi program aplikasi tambahan.
Terus bagaimana cara membuat CD Linux ? Tahapnya adalah:
1. Download ISO image file dari salah satu server dibawah:
http://linuxiso.org
http://kambing.vlsm.org
http://ftp.redhat.com/pub/redhat/linux/9/en/iso/i386/
http://www.mandrakelinux.com/en/ftp.php3#iso
Untuk lokasi Indonesia URL http://kambing.vlsm.org dapat menjadi pilihan tepat, karena berlokasi di Indonesia sehingga aksesnya dapat lebih cepat dibandingkan URL luar negeri.
2. Jalankan Aplikasi CD Burner anda dan bakar ISO image file tersebut ke CD. Contoh dibawah adalah cara membakar CD Linux dengan software Nero.
1. Pilih Jenis Data Yang Akan Dibakar
2. Pilih ISO Image File
3. Mulai Bakar CD
Bagi anda para pemula software CD burner, pastikan memilih membuat CD dari ISO image file hasil download, dan bukan menggunakan metode Copy CD atau copy dari file data.
Instalasi Linux
Setelah mendapatkan CD distro Linux yang kita inginkan, sekarang kita masuk ke tahap instalasi.
Langkah pertama adalah men-download manual yang telah disediakan:
1. Mandrake Linux: http://www.mandrakelinux.com/en/fdoc.php3 (ada 3 manual dalam format HTML/PDF)
2. Redhat Linux: http://www.redhat.com/docs/manuals/linux/ (ada 6 manual dalam format
HTML/PDF)
Sebelum instalasi dimulai, jangan lupa untuk membackup semua data anda. Simpan dalam CD atau HDD lain. Lebih aman lagi apabila anda bisa mentransfer data-data anda ke PC atau server lain.
Cara instalasinya sendiri cukup mudah.
1. Masukkan CD nomor 1 dari distro Linux ke dalam CDROM drive
2. Boot PC dengan pilihan boot lewat CDROM (sebelumnya set BIOS PC anda untuk bisa boot lewat CD)
3. Ikuti terus step-step instalasi yang biasanya dimulai dengan membuat partisi pada HDD (untuk linux native dan swap). Dilanjutkan dengan pilihan paket software yang akan di install. Kalau masih takut salah dalam instalasi ? Anda tidak perlu khawatir, Bab 3 dari manual ”Quick Startup Guide” (Mandrake Linux) dan ”x86 Installation Guide” (Redhat Linux) telah siap membimbing anda dalam instalasi. Usahakan print Bab 3 (bagian tahapan instalasi) dari manual tersebut dan gunakan sebagai panduan.
Jangan takut mengulangi instalasi apabila terjadi kesalahan. Selama data-data anda sudah terbackup dengan aman, anda siap ber-eksperimen dalam instalasi Linux.
Bekerja dengan Linux dan Administrasinya
Sudah terbiasa pakai windows dan nggak ngerti cara belajar linux dari awal ? Sekali lagi tidak perlu khawatir. Buka manual yang telah anda download ”Starter Guide” (Mandrake Linux) akan menjelaskan kepada anda secara mendetail bagaimana bekerja diatas Linux. Dalam sekejap anda akan menguasai bagaimana mengontrol desktop, menggunakan browser, file manager, melakukan administrasi server dengan mandrake control center, memanage paket software (update, delete), dan sebagainya. Jangan lupa untuk melengkapi pengetahuan Linux anda dengan mempelajari manual Mandrake berjudul ”Reference Guide”.
Demikian juga dengan manual Redhat, selain ”x86 Installation Guide” semua adalah buku referensi penting untuk bekerja dengan linux dan mengadministrasi server.
Waduh sebel dengan bahasa Inggris terus, pingin yang bahasa Indonesia! Jangan khawatir buku gratis asli buatan anak negeri dibawah bisa anda jadikan referensi untuk belajar linux, mengenal perintah-perintah dasar, dan administrasi serta pengelolaan Linux. Silakan download PDF file dari URL dibawah:
* Cepat Mahir Linux
http://ilmukomputer.com/berseri/romi-linux/index.php
* Mengenal Linux
http://ilmukomputer.com/umum/anton-linux.php
* Administrasi Jaringan Linux
http://ilmukomputer.com/umum/anton-adminjaringanlinux.php
* Administrasi Sistem Linux
http://ilmukomputer.com/umum/anton-adminsyslinux.php
* Server Linux: Membangun Linux sebagai Internet/Intranet Server
http://ilmukomputer.com/berseri/ahmad-serverlinux/index.php
Terus bagaimana kalau ada kesulitan tanyanya ke siapa ? Di Indonesia ada komunitas Linux dimana mailing list-nya bisa menjadi teman anda dalam mencari solusi. Silakan pilih milis yang ingin anda langgan di http://linux.or.id/milis.php
Selamat datang di dunia Linux !
Romi Satria Wahono
Pendiri dan Koordinator IlmuKomputer.Com
M. Choirul Amri
Asisten Koordinator IlmuKomputer.Com
• Artikel ini dimuat di Koran Tempo tanggal 19 September 2003

Sejarah Linux

KELAHIRAN “UNIX”
—————–

Cikal bakal kelahiran linux dimulai pada akhir tahun 1960 pada sebuah
perusahaan AT&T(American telephone and Telegraph). Saat itu, AT & T yang
bekerjasama dengan MIT (Massachusetts Institute of Technology); bekerja
dengan menggunakan operating system bernama “multics”. Multics memiliki
banyak sekali masalah; masalah terbesarnya adalah mahalnya biaya yang
dikeluarkan untuk menjalankannya pada General Electric Mainframe ( GE 645).
Perkembangan selanjutnya pun menjadi tidak memuaskan.

Bagaimanapun juga penggunaan Multics tetap dipertahankan karena menawarkan
kemampuan multiuser (penggunaan bersama). Para Programer harus bekerja
bersama-sama dan saling bertukar informasi dengan mudah, dan mereka sangat
ingin untuk dapat lepas dari masalah biaya yang besar. Seiring dengan
perkembangan dan keuangan yang membaik, grup tersebut berusaha mencari
pengganti yang sesuai untuk multics.

Ken thompson, salah seorang anggota grup AT&T, mulai merancang sebuah game
bernama”Space travel”, sayangnya game ini juga menghabiskan biaya yang mahal
untuk dapat dimainkan. Saat Thompson menemukan sebuah komputer digital PDP-7,
bersama teman kuliahnya Dennis Ritchie, mereka menulis ulang game tersebut
dalam assembler dan memindahkannya dengan menggunakan paper tape.
Dalam perkembangan memindahkan game tersebut mereka telah meletakkan
“command interpreter” dan sejumlah perintah dasar untuk mengkopi dan
memindahkan file-fie.

Awal tahun 1970, Brian Kerningham, seorang pengembang lainnya dari AT&T
mengusulkan nama “Unix” sebagai pelesetan dari Minix ( peralatan untuk
mengajarkan pemrograman). Dimulailah sebuah cikal bakal sebuah operating
system bernama “Unix”. Team pengembang Unix meminta komputer PDP-11 kepada
manajemen AT&T, mesin yang lebih tangguh dari PDP-7,tetapi lebih murah dari
semua biaya yang harus mereka keluarkan sebelumnya.

UNIX Untuk Pemula

Terbitan KEcoak Elektronik
http://k-elektronik.org

Dicolong oleh LithiumError. Entah siapa pengarang
aslinya, yang jelas ini enak dan gampang dimengerti. Perintah-perintah
ini didasarkan dari petunjuk unix untuk sistem unix SunOS, namun hampir
semua perintah yang diajarkan disini akan berjalan tanpa masalah di
sistem-sistem Unix lainnya.

Daftar isi

Pengenalan
Rekening (Account) Unix
Daftar Pengguna – finger
Mengganti password – passwd, yppasswd, nispasswd

Kenali Sistem Anda – hostname, uname
Struktur Direktori/Berkas Dalam Unix
Penyediaan Lingkungan kerja Dalam Unix
Manipulasi Berkas/Direktori
Tampilkan Direktori Sekarang – pwd
Pindah Ke Direktori Lain – cd
Melihat Daftar Dalam Direktori – ls
Melihat Kandungan Berkas Teks – cat
Tampilkan Beberapa Baris Berkas Teks Bermula Dari Atas – head
Tampilkan Beberapa Baris Berkas Teks Bermula Dari Bawah – tail
Tampilkan Isi Berkas Teks Halaman Demi halaman- more, page
Menyalin Berkas Ke Satu Berkas Baru – cp
Menukar Nama Berkas Ke Nama Berkas Baru – mv
Membuat Direktori Baru – mkdir
Menghapus Berkas/Direktori – rm, rmdir
Menukar Mode Perizinan Berkas/Direktori – chmod
Penyuntingan Berkas Teks – vi

Manipulasi Ruang Penyimpanan
Tampilkan Ukuran Direktori dan Subdirektori – du
Tampilkan Ukuran Berkas Sistem – df
Tampil atau Batasi Penggunaan Sumber Dalam Sistem – limit,
unlimit
Kecilkan dan Kembalikan Ukuran Berkas – compress, uncompress,
gzip, gunzip
Lihat Isi Berkas Berakhiran .Z
Satukan Beberapa Berkas/Direktori Menjadi Satu Berkas

Melihat Aktivitas Pengguna – w, ps
Menghapus Proses- kill
Manual on-line dalam Unix – man
Komunikasi Antara Pengguna – write, talk
Hubungan
Konektifitas Ke Sistem Lain – telnet
Pengantaran/Pengambilan Berkas – ftp

Email – mailx, pine
Daftar Perintah-perintah Unix Yang Perlu Anda Pelajari

Account Unix

Sebagai permulaan, setiap pengguna perlu memiliki account Unix
sendiri. Administrator sistem di tempat anda akan memberi username
dan password atau anda sendiri perlu memohon dari mereka. Tiap-tiap
pengguna akan diberi ruang penyimpanan sebagai tempat untuk
menyimpan berkas-berkas bagi kegunaan sendiri. Ruang penyimpanan ini
lebih dikenal sebagai home directory. Sebagai contoh, bagi username
lithium, home directorynya adalah /home/staff/lithium. Berkas-berkas
pengguna tersebut disimpan di dalam direktori yang bersangkutan.
Pengguna-pengguna lain tidak boleh masuk kedalam atau menggunakan
direktori tersebut kecuali jika mereka mempunyai kode perizinan
(permission mode) untuk berbuat demikian.
Hal ini adalah sebagian dari ciri-ciri keamanan dalam Unix.

Informasi Pengguna

Daftar seseorang pengguna bisa di dapati dengan menggunakan
perintah finger. Contohnya:-

% finger lithium
Login name: lithium In real life: Lithium Error
Directory: /home/staff/lithium Shell: /bin/csh
On since Jan 22 11:34:30 on pts/4 from roach-01
27 minutes Idle Time
Mail last read Wed Jan 17 14:19:34 1996
No Plan.
%

Dari output yang diperoleh di atas kita dapat beberapa
informasi mengenai pengguna seperti berikut:-

Account Unix:
Lithium
Nama Pengguna:
Lithium Error
Ruang Penyimpanan:
/home/staff/lithium
Penterjemah Perintah Unix (shell):
/bin/csh

Kita bisa melihat bahwa Shell atau penterjemah perintah Unix
yang digunakan adalah C Shell (/bin/csh). Anda bisa menggunakan Shell
lain seperti Bourne Shell (/bin/sh) dan Korn Shell (/bin/ksh). Walau
bagaimanapun penulis hanya ingin memberikan tumpuan kepada penggunaan C
Shell saja. Meskipun begitu, anda tidak perlu risau kerana kebanyakan
perintah unix adalah hampir sama bagi kesemua Shell ini. Hanya terdapat
beberapa perintah tambahan atau ciri-ciri tertentu saja yang berbeda.
Misalnya bagi penggunaan perintah alias dan history. Ini akan
diterangkan lebihlanjut kemudian. Fungsi Shell hampir sama seperti
command.com dalam DOS.

Menukar password

Untuk tujuan keamanan, anda bisa menukar password anda
kapanpun juga anda inginkan. Perintah untuk menukar password bergantung
kepada layanan yang digunakan dalam sistem anda. Terdapat tiga jenis
servis yang biasa digunakan dalam SunOS iaitu:-
NIS+ (nisplus)
NIS (nis)
None (files)
Gunakan perintah nispasswd untuk servis NIS+, yppasswd bagi
NIS dan passwd bagi servis None. Untuk mengetahui servis apa yang
digunakan oleh sistem anda, silakan ketik perintah berikut pada prompt
Unix yaitu dengan melihat 3 baris teratas dari berkas nsswitch.conf yang
terletak dalam direktori /etc :-

% head -3 /etc/nsswitch.conf
#
# /etc/nsswitch.nisplus:
#

Dari output di atas, diketahui bahwa sistem ini menggunakan
servis nisplus (/etc/nsswitch.nisplus). Oleh karena itu gunakan perintah
nispasswd untuk menukar password. Sekiranya terdapat sebarang masalah,
silakan temui Administrator dari sistem Unix di tempat anda. Secara
umumnya kebanyakan Unix menggunakan perintah passwd untuk menukar
password

Anda tidak disarankan untuk menggunakan password yang sama
dengan username anda sendiri. Misalnya bagi username lithium, hindarkan
penggunaan password ‘lithium’. Password anda boleh terdiri dari gabungan
aksara a-z, A-Z,0-9,!,@,# dan aksara-aksara lain. Panjangnya maksimal 8
aksara. Sebaik-baiknya gabungkan abjad dan aksara numerik. Hindarkan
kebiasaan menggunakan password dengan mengambil perkataan-perkataan yang
terdapat dalam kamus. Contoh password yang dianggap baik
adalah seperti berikut:-

Hai4U2C
NowUCIC6
Fire+Api
BakaqApi1
TzmNsr7

Jangan sekali-kali gunakan password yang bisa didapat dari kamus,
nama anda,nama komputer anda, singkatan nama anda dan sebagainya.
Contoh-contoh password yang tidak aman adalah seperti di bawah:-

lithium1, mazlina2,nur123 123fauzy/
1lithium,nmf123,nurmf12
abc123
qwerty123
wysiwyg

Cuba gunakan seluruh 8 aksara dan gabungkan huruf kecil, huruf
besar, aksara istimewa dan sebagainya. Walau bagaimanapun terdapat
aksara-aksara yang tidak boleh digunakan seperti aksaran kawalan
(Control Character).

Kenali Sistem Anda

Sebagai permulaan, ada baiknya anda kenali terlebih dahulu sistem
yang sedang anda gunakan seperti nama host anda, alamat IP (Internet
Protocol address), jenis perangkat keras dan sistem pengoperasian yang
digunakan. Silakan digunakan perintah berikut pada prompt Unix (SunOS)
:-

hostname – untuk mendapatkan nama host sistem anda. contoh:-

prompt% hostname
sarang

atau perintah uname -n

prompt% uname -n
sarang

uname – beritahukan nama sistem yang anda sedang gunakan. contoh:-

prompt% uname -a
SunOS sarang 5.3 Generic_101318-36 sun4m sparc

Dari keterangan di atas, SunOs adalah nama sistem
pengoperasian yang digunakan, sarang adalah nama host/komputer anda, 5.3
adalah rilis dari operating system, Generic_101318-36 adalah versinya ,
sun4m adalah jenis rekabentuk perangkat komputer (hardware architecture)
bersangkutan dan sparc adalah pemproses (processor chip) yang digunakan.

Kemudian anda bisa melihat alamat IP host anda yang tersimpan
dalam berkas hosts. Berkas ini terletak di dalam direktori /etc. Gunakan
perintah more /etc/hosts. Contoh:-

prompt% more /etc/hosts
#
# Internet host table
#
127.0.0.1 localhost
103.142.200.2 sarang loghost

Alamat IP anda adalah 103.142.200.2 yang terletak di sebelah
kiri nama host anda (sarang). Cara lain adalah dengan menggunakan
perintah nslookup.Contoh:-

prompt% nslookup sarang
Server: sarang.k-elektronik.or.id
Address: 103.142.200.2

Name: sarang.k-elektronik.or.id
Address: 103.142.200.2
Aliases: sarang.k-elektronik.or.id

Struktur Direktori/Berkas Dalam Unix

Struktur direktori dan berkas dalam Unix berbentuk hierarki.
Struktur ini bermula dengan direktori /. Direktori ini mempunyai sub
direktori seperti direktori usr, tmp, opt, home dan sebagainya. Sub
direktori ini mungkin pula mempunyai sub direktorinya sendiri di mana
pada sub direktori terakhir yang berisi berkas-berkas seperti program,
dokumen dan sebagainya.

/
|
————————————————————-
—-
| | | | | | | |
|
home var tmp opt pub sbin bin etc
usr
| |
—- staff—– tools
| | |
pusinfo idcert lithium
|
project

Contoh direktori yang mungkin terdapat dalam Unix:-

/home/staff/lithium
/home/staff/lithium/project
/bin
/usr/openwin/bin
/pub/tools

Setiap direktori digunakan untuk menyimpan berkas-berkas atau
dokumen tertentu. Misalnya berkas atau dokumen bagi pengguna mungkin
tersimpan dalam sub direktori /home. Bagi account lithium, seluruh
berkas-berkas kepunyaan beliau disimpan dalam direktori
/home/staff/lithium.
Direktori ini ditentukan oleh Administrator Sistem sewaktu account
lithium dibuat.

Direktori /usr/bin, /usr/ucb, /bin, /sbin dan /usr/sbin biasanya
menyimpan berkas-berkas perintah Unix seperti chmod, cp, mv, ping dan
sebagainya. Berkas-berkas utiliti untuk menghantar pesan elektronik
seperti pine, berkas untuk compress atau uncompress seperti gzip dan
gunzip juga terletak dalam direktori /pub/tools. Dalam subdirektori /var
biasanya terdapat juga berkas-berkas yang menyimpan keterangan berkenaan
dengan penggunaan sistem oleh para pengguna dan sebagainya. Anda boleh
gunakan perintah ls untuk petunjuk mengenai sub direktori yang ada dalam
root direktori (/). Contoh:-

prompt% ls -al / | grep ^d
drwxr-sr-x
40
root
staff
1536
Jun 11 15:43
.
drwxr-sr-x
40
root
staff
1536
Jun 11 15:43
..
drwxrwxr-x
16
root
sys
6656
Jun 11 15:50
dev
drwxrwxr-x
5
root
sys
512
Jun 11 15:48
devices
drwxr-sr-x
27
root
staff
3584
Jun 11 15:48
etc
drwxr-sr-x
17
bin
staff
512
May 7 23:54
home
drwxr-xr-x
9
root
sys
512
Oct 14 1994
kernel
drwxr-x—
26
root
sysadmin
1024
May 30 17:19
opt
dr-xr-xr-x
2
root
root
32960
Jun 11 16:17
proc
drwxrwxr-x
2
root
sys
512
Apr 26 12:32
sbin
drwxrwxrwx
3
root
root
152
Jun 11 16:15
tmp
drwxr-sr-x
26
bin
staff
1024
Nov 16 1995
usr
drwxr-sr-x
21
bin
staff
512
Jun 10 13:23
var

Dari output di atas, . (dot) adalah direktori dimana saat ini anda
berada(current directory) sedangkan .. (dot dot) merupakan direktori di
atas direktori saat ini (parent directory). Anda juga bisa gunakan
perintah file untuk mengetahui jenis berkas. Contohnya:-

prompt% file *
dyermaker:
audio data: 8-bit u-law, mono, 8000 Hz
form:
English text
heart.gif:
data
homepage:
directory
html.tar.gz:
data
hello.c:
c program text
mail:
directory
majordomo:
ascii text
ring.class:
data
slip:
directory
ss1000.ps:
PostScript document

Untuk menggunakan kesemua berkas-berkas program, anda perlu
pastikan nilai variabel path dalam berkas .cshrc di HOME DIRECTORY
masing-masing berisi kesemua direktori di mana berkas-berkas tersebut
berada. Berkas .cshrc adalah untuk C shell. Jika anda menggunakan
Bourne Shell, silakan ubah berkas .profile. Contoh path dalam berkas
.cshrc:-

————————————berkas .cshrc———————–

set path=(/bin /usr/bin /usr/ccs/bin /etc /sbin /usr/openwin/bin
/usr/sbin /opt/tools /opt/SUNWspro/bin /usr/ucb /opt/SUNWspro/SC3.0.1 .)

———————————————————————–

Nama berkas-berkas dalam account Unix merupakan “case-sensitive”.
Berkas mbox dan Mbox dianggap dua berkas yang berbeda. Terdapat juga
berkas yang dimulai dengan . (dot). Ini merupakan “hidden file” dan
tidak dapat dilihat jika menggunakan perintah ls tanpa option -a.

Penyediaan Lingkungan kerja Dalam Unix

Sewaktu pengguna login ke dalam account Unix, dua berkas yaitu
berkas .cshrc dan .login yang terletak dalam HOME DIRECTORY akan dibaca.
Ini bisa disamakan dengan berkas config.sys dan autoexec.bat dalam DOS.
Kedua berkas tersebut penting bagi penyediaan lingkungan kerja dalam
Unix bagi C Shell. Tujuannya adalah untuk memperbolehkan pengguna
menggunakan perintah-perintah Unix dan sembarang applikasi yang terdapat
dalam server dari direktori manapun juga. Jika kedua berkas tersebut
tidak terdapat di dalam HOME DIRECTORY anda, kemungkinan terdapat berkas
local.cshrc dan local.login dalam direktori anda. Kedua berkas ini perlu
diganti namanya ke berkas .cshrc dan .login. Caranya adalah seperti
berikut:-

% cp local.cshrc .cshrc
% cp local.login .login

Anda juga boleh menyalin kedua-dua berkas tersebut dari direktori
/etc/skel (tanyakan kepada Administrator Sistem di tempat anda).
Pastikan anda berada dalam HOME DIRECTORY anda ketika menjalankan
perintah-perintah di bawah:-

% cp /etc/skel/local.cshrc .cshrc
% cp /etc/skel/local.login .login

Bagi Bourne Shell dan Korn Shell, digunakan berkas .profile.
Silakan ketik perintah env pada prompt Unix.

% env
HOME=/home/staff/lithium
PATH=/bin:/usr/bin:/usr/ucb:/usr/ccs/bin:/etc:/sbin:/usr/openwin/bin:
/usr/sbin:/usr/lib/nis:/apps/tools:/apps/SUNWspro/bin:/opt/SUNWwabi/bin:
/usr/ls3:/apps/SUNWspro/SC3.0.1:.
LOGNAME=lithium
HZ=100
TERM=sun-cmd
TZ=Indonesia
SHELL=/bin/csh
MAIL=/var/mail/lithium
PWD=/home/staff/lithium
USER=lithium
MANPATH=/usr/man:/usr/openwin/man:/opt/SUNWwabi/man
AB_CARDCATALOG=/opt/ab_cardcatalog

Dari keterangan di atas, anda akan dapat lihat nilai bagi variabel
yang didapatkan dari berkas .cshrc dan berkas .login seperti HOME, PATH,
SHELL, MAIL dan sebagainya. Kesemua variabel ini penting dalam
lingkungan kerja Unix. Sekiranya anda mencoba untuk menggunakan satu
perintah tetapi perintah tersebut tidak dijumpai di mana anda mendapat
pesan kesalahan “perintah: Command not found”, maka terdapat beberapa
kemungkinan:-

1.Direktori di mana perintah tersebut berada, tidak diletakkan dalam
variabel path dalam berkas .cshrc anda. Oleh karena itu silakan edit
file .cshrc dan tambah direktori yang diinginkan. Setiap direktori
mestilah dijarakkan dengan ruang kosong di antara satu sama lain. Anda
boleh gunakan perintah find untuk mencari direktori mana perintah
tersebut berada. Andaikan anda ingin mencari perintah chmod. Caranya
adalah seperti berikut:-

% find / -name chmod -print
find: cannot read dir /opt/lost+found: Permission denied
find: cannot read dir /usr/lost+found: Permission denied
/usr/bin/chmod
%

Dari keterangan di atas didapati bahawa perintah chmod
terletak dalam direktori /usr/bin. Oleh itu pastikan direktori tersebut
terdapat dalam variabel path dalam berkas .cshrc anda. Sedangkan pesan
“find: cannot read dir /opt/lost+found: Permission denied” bermakna anda
tidak mempunyai izin untuk mencari dalam direktori /opt/lost+found.
Pesan seperti ini boleh diabaikan.

2.Perintah tersebut memang tidak terdapat dalam sistem. Ini bisa
dipastikan apabila anda selesai menjalankan perintah find seperti di
atas di mana tidak ada keterangan yang ditampilkan (selain pesan
“Permission denied”).

Manipulasi Berkas/Direktori

Setiap pengguna akan diberi HOME DIRECTORY masing-masing untuk
tujuan penyimpanan berkas atau dokumen. Apabila anda login ke dalam
account anda akan berada di dalam HOME DIRECTORY anda.

Lihat isi Direktori Saat ini.

Untuk mengetahui direktori di mana kita sedang berada sekarang,
silakan gunakan perintah pwd:-

% pwd
/home/se/lithium
% cd ..
% pwd
/home/se

Pindah Ke Direktori Lain

Anda bisa bertukar ke direktori lain dengan menggunakan perintah
cd.

% cd / (ke direktori paling atas)
% cd .. (ke direktori sebelum direktori saat ini)
% cd mail (masuk ke dalam subdirektori mail )

Petunjuk isi Daftar Berkas Dalam Direktori

Perintah ls digunakan untuk menunjukkan isi sesuatu direktori. Sila
ketik perintah di bawah pada prompt Unix dan lihat perbedaan
hasilnya:-

% ls
dyermaker
heart.gif
homepage
mail
ring.class
ss1000.ps
form
hello.c
html.tar.gz
majordomo
slip

% ls -a
.
form
homepage
majordomo
ss1000.ps
..
heart.gif
html.tar.gz
ring.class
dyermaker
hello.c
mail
slip

% ls -al
total 7592
drwxr-xr-x 12 lithium se 1536 Jun 12 16:15 .
drwxr-xr-x 33 root other 1024 Jun 12 14:10 ..
-rw-r–r—- 1 lithium se 1366 Jun 12 15:45 .cshrc
-rw-r–r—- 1 lithium se 527 Dec 15 1994 .login
-rw-r–r– 1 lithium se 544 Jun 8 11:43 .signature
-rw-r–r– 1 lithium se 1864437 Feb 6 18:22 dyermaker
-rw-r–r– 1 lithium se 225 Jun 12 16:14 form
-rw-r–r– 1 lithium se 3504 Jun 12 16:14 heart.gif
drwxr-xr-x 13 lithium se 1024 Jun 12 16:14 homepage
-rw-r–r– 1 lithium se 143 Mar 14 00:26 hello.c
drwx—— 2 lithium se 1024 Jun 12 16:14 mail
-rw-r–r– 1 lithium se 181 Jun 12 16:14 majordomo
-rw-r–r– 1 lithium se 2713 Jun 12 16:14 ring.class
drwxr-xr-x 2 lithium se 512 Jun 12 16:14 slip
-rw-r–r– 1 lithium se 0 Jun 12 16:14 ss1000.ps

Melihat Kandungan Berkas Teks

Dengan perintah cat anda bisa melihat kandungan berkas teks.
Andaikan anda ingin melihat kandungan berkas .login:-

% cat .login
# @(#)local.login 1.3 93/09/15 SMI
stty -istrip
# setenv TERM `tset -Q -`

#
# if possible, start the windows system. Give user a chance to bail out
#
if ( `tty` == “/dev/console” ) then

if ( $TERM == “sun” || $TERM == “AT386” ) then

if ( ${?OPENWINHOME} == 0 ) then
setenv OPENWINHOME /usr/openwin
endif

echo “”
echo -n “Starting OpenWindows in 5 seconds (type
Control-C to interrupt)”
sleep 5
echo “”
$OPENWINHOME/bin/openwin
clear # get rid of annoying cursor rectangle
logout # logout after leaving windows system

endif

endif

Tampilkan Beberapa Baris Berkas Teks Bermula Dari Atas – head

Bagi berkas teks yang besar, kita bisa melihat beberapa baris
kandungannya bermula dari atas dengan menggunakan perintah head.
Untuk melihat 10 baris teratas, gunakan perintah berikut:-

% head .login
# @(#)local.login 1.3 93/09/15 SMI
stty -istrip
# setenv TERM `tset -Q -`

#
# if possible, start the windows system. Give user a chance to bail out
#
if ( `tty` == “/dev/console” ) then

if ( $TERM == “sun” || $TERM == “AT386” ) then

Untuk melihat 20 baris teratas eksekusikan perintah berikut:-

% head -20 .login
# @(#)local.login 1.3 93/09/15 SMI
stty -istrip
# setenv TERM `tset -Q -`

#
# if possible, start the windows system. Give user a chance to bail out
#
if ( `tty` == “/dev/console” ) then

if ( $TERM == “sun” || $TERM == “AT386” ) then

if ( ${?OPENWINHOME} == 0 ) then
setenv OPENWINHOME /usr/openwin
endif

echo “”
echo -n “Starting OpenWindows in 5 seconds (type
Control-C to interrupt)”
sleep 5
echo “”
$OPENWINHOME/bin/openwin

Tampilkan Beberapa Baris Berkas Teks Bermula Dari Bawah – tail

Dengan perintah tail pula, kandungan berkas teks boleh dilihat
bermula dari bawah:-

% tail -5 .login
logout # logout after leaving windows system

endif

endif

Tampilkan Kandungan Berkas Teks Halaman Demi Halaman – more, page

Selain dari cat kita bisa gunakan perintah more dan page untuk
melihat kandungan berkas teks yang besar. Ia membolehkan kita melihat
berkas berkenaan halaman demi halaman dalam satu masa. Perbedaan antara
more dan page adalah page akan mengosongkan tampilan saat ini
sebelum tampilan teks berikutnya ditampilkan di layar.

% more .cshrc
# @(#)cshrc 1.11 89/11/29 SMI
umask 022
set path=(/bin /usr/bin /usr/ucb /local/SUNWspro/bin /usr/openwin/bin
/usr/sbin
/usr/lib/nis /sbin /opt/SUNWwabi/bin /apps/workman/bin /usr/jdk/bin
/app/jdk/b
in /oracle/bin /sybase/bin /etc /users/prolog/bin3.1.3/sun4-5.3 .)
if ( $?prompt ) then
set history=32
endif

–More–(22%)

Kemudian anda bisa menekan kunci untuk memaparkan baris
demi baris atau untuk halaman demi halaman.

Menyalin Berkas Ke Satu Berkas Baru

Perintah ini sama seperti perintah COPY dalam DOS. Contohnya:-

% cp berkas1 berkas2

Menukar Nama Berkas Ke Nama Berkas Baru

Perintah ini sama seperti perintah REN atau RENAME dalam DOS.
Contohnya:-

% mv berkas1 berkas2

Buat Direktori Baru

Gunakan perintah mkdir untuk membuat satu sub direktori dalam
direktori kita.

% mkdir temp

Menghapus Berkas/Direktori

Perintah ini sama seperti DEL atau ERASE dalam DOS. Contohnya:-

% rm berkas1

Untuk menghapuskan semua berkas dalam satu sub direktori temp, gunakan
perintah berikut:-

% rm -r temp

atau

% rmdir temp

Menukar Mode Perizinan Berkas/Direktori – chmod

Setiap berkas atau direktori mempunyai mode perizinannya sendiri.
Ini bertujuan untuk menghindarkan pengguna dari menrubah berkas-berkas
milik pengguna lain atau berkas-berkas penting sistem. Sebelum bisa
mengubah mode perizinan tersebut, pengguna terlebih dahulu perlu
melihatnya dengan menggunakan perintah ls dengan option l.

% ls -l
total 8828
drwxr-xr-x 3 lithium other 512 Nov 22 18:09 c
drwxrwxrwx 3 lithium sysadmin 14336 Dec 7 13:43 case
-rw——- 1 lithium sysadmin 213 Dec 2 10:51 dead.letter
drwxr-xr-x 3 lithium sysadmin 512 Jul 12 19:14 java
drwx—— 2 lithium sysadmin 512 Dec 10 18:51 mail
-rw——- 1 lithium sysadmin 8835 Nov 29 16:21 mbox
-rw——- 1 lithium sysadmin 1709 Sep 11 20:18 proj.c
drwxr-xr-x 2 lithium sysadmin 512 Sep 23 15:21 public_html
-rw-r–r– 1 lithium sysadmin 105472Dec 4 09:34 test.pbl
lrwxrwxrwx 1 lithium sysadmin 10 Oct 2 18:19 c50 ->
/app/crack

Dari output di atas pada sebelah kiri sekali terdapat 10 bagian di
mana bagian pertama menunjukkan apakah berkas tersebut adalah berkas
biasa (-), hubungan simbolik (l), berkas akasara istimewa (c) ,
direktori (d) atau berkas biasa (-). 9 bagian berikutnya dibagi kedalam
tiga yaitu untuk pemilik (owner), kumpulan (group) dan lain-lain
(other). Bagi setiap bagian tersebut masing-masing mewakili mode
perizinan baca (r), tulis (w) dan eksekusi/jalankan (x). Bagi simbol –
pula ia menandakan bahawa tiada perizinan baca, tulis atau eksekusi bagi
berkas atau direktori berkenaan. Dari output tersebut juga kita dapat
melihat lithium sebagai pemilik dari berkas dead.letter, mbox, proj.c
dan test.pbl. Begitu juga dengan direktori c, case, java, mail dan
public_html.

Apa yang paling penting sekali di sini adalah hanya pemilik
berwenang (yaitu lithium dan root) saja yang boleh menukar mode
perizinan berkas dan direktori bersangkutan. Pengguna lain hanya boleh
membaca, menulis atau mengeksekusi suatu berkas, tergantung kepada mode
pada berkas tersebut.
Untuk menerangkan dengan lebih jelas lagi kita ambil contoh dari
direktori java dan mail:-
drwxr-xr-x 3 lithium sysadmin 512 Jul 12 19:14 java
drwx—— 2 lithium sysadmin 512 Dec 10 18:51 mail

Untuk direktori java, mode perizinan untuk lithium adalah baca,
tulis dan eksekusi. Untuk pengguna lain yang sekumpulan dengan lithium
yaitu kumpulan sysadmin, mode perizinannya adalah baca dan eksekusi
saja. Begitu juga bagi pengguna lain. Oleh itu pengguna lain selain
lithium tidak boleh membikin berkas atau direktori di dalam direktori
java tersebut. Walau bagaimana pun mereka masih boleh masuk ke direktori
tersebut dan menyalin sembarang berkas asalkan mereka mempunyai
perizinan baca bagi berkas-berkas yang diinginkan.

Sedangkan direktori mail, juga tidak ada perizinan langsung bagi
pengguna lain untuk memasuki, menyalin dan menulis kedalam direktori
ini. Untuk membolehkan pengguna lain memasuki direktori mail, lithium
perlu menukarnya kepada mode drwxr-xr-x dengan perintah berikut:- %
chmod
755 mail

Hasilnya mode perizinan akan bertukar seperti berikut:-

drwxr-xr-x 2 lithium sysadmin 512 Dec 10 18:51 mail

Adalah lebih mudah untuk menukar mode perizinan jika kita memahami nilai
mode yang dikaitkan dengan tabel nomor basis dua seperti di bawah:-

r w x
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Contoh mode yang biasa dilihat:-

Nilai yang digunakan
Nilai yang dilihat
Nilai yang dilihat menggunakan perintah chmod
dengan perintah ls -al

000
———
000 000 000
100
–x——
001 000 000
211
-w—x–x
010 001 001
444
r–r–r–
100 100 100
644
rw-r–r–
110 100 100
700
rwx——
111 000 000
711
rwx–x–x
111 001 001
777
rwxrwxrwx
111 111 111

untuk mode 751 akan menghasilkan:-

7 = rwx di mana ia menyamai 111 dalam nomor basis dua (biner)
5 = r-x di mana ia menyamai 101 dalam nomor basis dua
1 = –x di mana ia menyamai 001 dalam nomor basis dua

Oleh itu jika anda menjalankan perintah di bawah terhadap direktori
mail:-
% chmod 751 mail

Perintah ini akan menukar mode perizinan direktori mail menjadi:-

drwxr-x–x

Dalam sistem-sistem yang lebih modern, digunakan huruf dalam perintah
chmod (walaupun angka masih juga diterima):
a: all (seluruh pengguna)
g: group (kumpulan)
o: owner (pemilik)
r: read (izin baca)
w: write (izin tulis)
x: execute (izin penjalanan)

untuk mengubah file eksploit.sh agar bisa dijalankan dan dibaca oleh
semua pengguna, misalnya, digunakan perintah:

% chmod a+rx eksploit.sh

untuk mengubah perizinan file datapenting.ps agar hanya bisa ubah isinya
oleh anda sendiri:

% chmod a-w datapenting.ps

Penyuntingan Berkas Teks- vi

Unix mempunyai text editornya sendiri yaitu vi (Visual
Implementation). Dalam vi terdapat tiga mode berbeda yaitu command,
input dan last line. Gunakan perintah berikut untuk menggunakan vi pada
prompt Unix dengan parameter namaberkas sebagai berkas teks baru atau
berkas teks yang sudah ada sebelum ini:-

% vi namaberkas

Pada permulaan penggunaan vi anda akan berada dalam mode perintah
(command mode). Pada mode ini anda bisa gerakkan kursor ke seluruh
layar, hapuskan teks dan menjalankan proses pencarian rentetan tertentu.

Untuk mengetikkan teks dalam berkas, anda perlu berada dalam mode
input. Caranya adalah dengan menjalankan perintah insert (i), append
(a), open (o), change (c) atau replace (r). Untuk kembali ke mode
perintah dari mode input, tekan kunci [Esc].

Last line mode atau mode baris terakhir digunakan untuk perintah
simpan teks, keluar dari vi atau keluar dari vi tanpa menyimpan teks ke
dalam berkas. Mode baris terakhir ini juga boleh digunakan untuk
memaparkan nomor bagi setiap baris dalam berkas teks anda, menggantikan
rentetan atau aksara tertentu dan juga menjalankan perintah unix tanpa
perlu keluar dari vi.

Melihat Aktifitas Pengguna

Anda boleh menggunakan perintah w atau ps untuk melihat proses yang
sedang dijalankan oleh pengguna.

% w
6:32pm up 2 day(s), 8:55, 5 users, load average: 1.05, 1.04, 1.05
User tty login@ idle JCPU PCPU what
root console Mon10am 5days 2 /bin/csh -c
root pts/3 Tue 7pm 16 11 w
root pts/5 Tue 7pm 1 39 25 vi unix.html
lithium pts/7 Tue 8am 6:15 2 -csh
lithium pts/9 6:09pm 22 ls*|grep [gif,jpg]
phardera pts/4 Tue 9am 32:33 dir *.jpg (bego)
root pts/8 Tue 7pm w
bigdaddy pts/10 Tue 5pm lynx playboy.com
cyberbug pts/13 Mon 3am 10 talk ladybug@reso

Anda boleh gabungkan perintah ps dan grep untuk membatasi output yang
dihasilkan oleh ps -ef.

% ps -ef | grep lithium
lithium 2566 2505 1 18:17:10 pts/5 0:30 /apps/netscape ww
lithium 1244 1242 0 Nov 26 pts/4 0:00 -csh
root 2605 1973 0 18:34:50 pts/8 0:00 grep lithium
lithium 1137 1135 0 Nov 26 pts/7 0:00 -csh
lithium 2505 1968 0 18:01:36 pts/5 0:00 -csh
lithium 2519 2517 0 18:09:32 pts/9 0:00 -csh
lithium 2571 2505 0 18:21:45 pts/5 0:01 vi unix.html
b3ck 2331 3222 0 18:22:21 pts/2 0:03 talk lithium

Manipulasi Ruang Penyimpanan

Tampilkan Ukuran Direktori dan Subdirektori

Gunakan perintah du untuk menampilkan ukuran direktori saat ini.
Gunakan dengan option k untuk dapatkan ukuran dalam kilobyte.

% du -k
10 ./gif/icons
9139 ./gif/koleksi/hentai
101 ./cgi
17 ./project
448 ./log
926 ./unix
1022 ./unix/eksploit/nt
154 ./private/kocok
1 ./java/rnd
7822 ./jpg/lith-and-lisa
6991 ./jpg/pamela

Jumlah ukuran yang ditampilkan di sebelah kiri direktori adalah
jumlah ukuran berkas-berkas yang terdapat di dalam direktori tersebut.
Walau bagaimanapun bagi direktori yang tidak mempunyai berkas apapun, ia
tetap diberi ukuran 1 Kilobyte.

Tampilkan Ukuran Berkas Sistem – df

Penggunaan perintah df dapat juga memberi kita keterangan ukuran
berkas sistem serta persentase penggunaan saat ini. Perintah ini amat
berguna kepada administrator sistem karena pembuatan direktori atau
berkas tidak dapat dilakukan jika berkas-berkas sistem berkenaan telah
penuh. Gunakan perintah ini dengan option k untuk dapatkan keterangan
lebih jelas.
% df -k
Filesystem kbytes used avail capacity Mounted on
/dev/vx/dsk/rtv 288439 135737 123862 53% /
/dev/vx/dsk/usr 481261 186980 246161 44% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
/dev/vx/dsk/var 384585 4309 341826 2% /var
/dev/vx/dsk/opt 481261 113163 319978 27% /opt
swap 1182272 164 1182108 1% /tmp
venus:/var/mail 962576 689352 176976 80% /var/mail
minora:/usr/hd1 3839968 2443160 1012816 71% /minora/hd1
mayora:/usr/opr 3839968 2443160 1012816 71% /home/opr

Tampilkan atau Batasi Penggunaan Sumber Dalam Sistem

Dengan perintah limit anda dapat melihat batas penggunaan sumber
dalam sistem anda seperti masa cpu, ukuran berkas dan sebagainya. Di
sini anda cuma perlu mebatasi ukuran berkas core yang dihasilkan apabila
terdapat error ketika suatu applikasi dijalankan. Berkas core ini
biasanya berukuran besar dan hanya akan memenuhkan berkas sistem anda
jika tidak dibuang. Anda tidak perlu membuangnya secara manual hanya
perlu batasi ukurannya dengan menambah baris berikut dalam berkas .cshrc
anda.

limit coredumpsize 0

Anda juga boleh mengetik perintah tersebut pada prompt Unix.
Gunakan perintah unlimit untuk membatalkan batas ukuran 0.

% limit coredumpsize 0
% limit
cputime unlimited
filesize unlimited
datasize 2097148 kbytes
stacksize 8192 kbytes
coredumpsize 0 kbytes
descriptors 64
memorysize unlimited

% unlimit
% limit
cputime unlimited
filesize unlimited
datasize 2097148 kbytes
stacksize 2097148 kbytes
coredumpsize unlimited
descriptors 1024
memorysize unlimited

Kecilkan dan Kembalikan Ukuran Berkas

Terdapat banyak faedah jika kita dapat mengecilkan ukuran berkas.
Misalnya untuk mengirim berkas yang berukuran besar ke lokasi lain yang
jauh, dengan mengecilkan ukuran berkas terlebih dahulu, penghantaran
dapat dilakukan dengan lebih cepat. Hal ini juga bertujuan untuk
menghemat penggunaan ukuran penyimpanan. Gunakan perintah compress atau
gzip untuk mengecilkan ukuran berkas dan perintah uncompress atau gunzip
untuk mengembalikan ukuran berkas asal.

% compress berkas
atau
% gzip berkas

Perintah compress akan menghasilkan berkas yang berakhiran .Z
manakala perintah gzip akan menghasilkan berkas yang berakhiran .gz.
Penggunaan perintah gzip adalah lebih baik daripada compress kerana
kadar pengurangan ukuran adalah lebih banyak.

% uncompress berkas.Z
atau
% gunzip berkas.gz
Untuk mengembalikan ke file semula.

Lihat Kandungan Berkas Berakhiran .Z

Bagi berkas yang mempunyai akhiran .Z dapat dilihat tanpa perlu
mengembalikan berkas tersebut kepada ukuran asal dengan perintah
uncompress. Anda tidak bisa melihat isi berkas .Z dengan menggunakan
perintah cat atau more.

% zcat berkas.Z
— kandungan berkas akan ditampilkan di sini —

Satukan Beberapa Berkas/Direktori Menjadi Satu Berkas

Anda boleh mengumpulkan beberapa berkas atau direktori kedalam satu
berkas dengan perintah tar. Ini memudahkan anda untuk menjalankan
proses pengiriman berkas ke lokasi lain. Perintah ini juga biasa
digunakan oleh Administrator Sistem untuk menyimpan berkas-berkas
pengguna ke dalam pita perekam untuk tujuan backup. Andaikan anda hendak
mengumpulkan dua berkas yaitu berkas1 dan berkas2 menjadi satu berkas
bernama berkas.tar. Kemudian anda kecilkan berkas.tar dengan perintah
compress:-

% tar cvf berkas.tar berkas1 berkas2
a file1 0K
a file2 0K
% ls -al berkas.tar
-rw-r–r– 1 lithium se 2048 Jan 4 18:34 berkas.tar
% compress berkas.tar
% ls berkas.tar.Z
-rw-r–r– 1 lithium se 186 Jan 4 18:34 berkas.tar.Z

Anda juga bisa menyatukan berkas dalam satu subdirektori menjadi
satu berkas. Andaikan subdirektori tersebut bernama unix.

% tar cvf unix.tar unix
a unix/ 0K
a unix/unix.html 47K
a unix/list.Z 763K
a unix/unix2.html 32K
a unix/index.html 1K
a unix/unixn.html 27K
a unix/unixenv 3K
a unix/unix.sh 1K
a unix/read.sh 1K
a unix/ask.sh 1K
a unix/oldunix.html 32K

Untuk mengembalikan semula berkas-berkas tersebut gunakan juga
perintah tar dengan option x.

% tar xvf unix.tar
x unix/, 0 bytes, 0 tape blocks
x unix/unix.html, 47748 bytes, 94 tape blocks
x unix/list.Z, 780788 bytes, 1525 tape blocks
x unix/unix2.html, 31846 bytes, 63 tape blocks
x unix/index.html, 148 bytes, 1 tape blocks
x unix/unixn.html, 26638 bytes, 53 tape blocks
x unix/unixenv, 2183 bytes, 5 tape blocks
x unix/unix.sh, 957 bytes, 2 tape blocks
x unix/read.sh, 711 bytes, 2 tape blocks
x unix/ask.sh, 372 bytes, 1 tape blocks
x unix/oldunix.html, 31846 bytes, 63 tape blocks

Menghapuskan Proses

Kadangkala perintah atau applikasi yang kita lakukan tidak
memberikan output apa-apa atau macet sehingga proses lain tidak
dapat dieksekusikan. Untuk mengatasi masalah ini kita perlu menghapuskan
proses bersangkutan dengan perintah kill. Kita perlu tahu id bagi
proses tersebut sebelum dapat menghapuskannya. Caranya adalah dengan
menggunakan perintah ps. Andaikan program yang hendak dihapuskan adalah
program netscape.

% ps -ef |grep netscape
lithium 2566 2505 0 18:17:10 pts/5 1:03 /apps/netscape www
root 2720 1973 0 19:32:41 pts/8 0:00 grep netscape

Setiap proses atau perintah unix mempunyai id prosesnya sendiri.
Dari output di atas id bagi proses netscape adalah 2566. Id proses
terletak di sebelah kanan login anda. Perlu diingatkan di sini bahawa
hanya pengguna itu sendiri atau root sajalah yang boleh menghapuskan
proses yang diinginkan.

% kill -9 2566

Manual on-line dalam Unix

Manual perintah-perintah dalam Unix boleh didapati secara on-line
dengan menggunakan perintah man. Manual ini berisikan keterangan
lengkap berkenaan dengan perintah tersebut dan option yang boleh
digunakan. Biasanya berkas-berkas manual ini terletak dalam direktori
/usr/man. Jika anda ingin dapatkan manual bagi perintah cp silakan ketik
perintah berikut pada prompt Unix:-

% man cp

Bagi perintah-perintah yang terdapat di dalam direktori
/usr/openwin/bin misalnya perintah xclock, berkas manualnya terletak
dalam direktori /usr/openwin/man. Oleh karena itu, untuk mendapatkan
manual on-line bagi xclock, anda perlu tambah direktori /usr/openwin/man
pada variabel MANPATH dalam berkas .cshrc. Jika tidak, maka pesan “No
manual entry for xclock” akan ditampilkan. Pesan tersebut juga
ditampilkan jika berkas manual berkenaan perintah tersebut tidak ada
dalam direktori tersebut. Untuk mereka yang ingin mengetahui perintah-
perintah apa saja yang berhubungan dengan perintah untuk menyalin,
misalnya, bisa gunakan opsion -k dari man:-
% man -k ‘copy’

Komunikasi Antara Pengguna

Pengguna bisa berinteraksi di antara satu sama lain dengan
menggunakan dua perintah berikut iaitu:-

1.write
Perintah ini digunakan untuk menghantar pesan kepada pengguna
yang berada (login) dalam host atau server yang sama. Gunakan perintah
finger untuk melihat pengguna yang sedang login dalam server tersebut:-

% finger
root 0000-Admin(0000) console Tue 09:31
chix ChiKo Torremendez pts/1 Tue 09:31
lithium Lithium Error pts/2 Tue 09:31
gnulab Dr. D-ajax pts/3 Tue 09:31
kaproy GOLKAR Admin pts/5 Tue 14:22

Kemudian gunakan perintah write untuk berkomunikasi dengan
pengguna yang menggunakan username lithium. Pengguna tersebut pula
boleh membalas pesan anda juga dengan menggunakan perintah write.

% write lithium
-ketik pesan anda di sini dan tekan kunci
-anda boleh berhenti mengirim pesan dengan menekan CTRL-D

2.talk
Perintah ini juga bisa digunakan untuk berinteraksi dengan
pengguna dalam host yang sama ataupun dengan pengguna pada host lain.
Contohnya:-

% talk lithium

atau

% talk kecoak@k-elektronik.org

k-elektronik.org adalah nama host. Silakan gunakan perintah man
write dan man talk untuk mendapatkan keterangan lanjut penggunaan
perintah-perintah tersebut.

Jaringan

Jaringan merupakan sekumpulan komputer yang bisa berkomunikasi di
antara satu sama lain. Untuk menggunakan
sumber-sumber yang terdapat dalam komputer lain kita boleh menggunakan
perintah-perintah unix tertentu.

Konektifitas Ke Sistem Lain – telnet

Ini digunakan sebagai antarmuka dengan sistem/komputer di
tempat lain. Kita perlu tahu username dan password di tempat
tersebut sebelum kita boleh memasuki sistem di tempat itu. Gunakan
perintah telnet untuk masuk ke sistem di tempat lain.

% telnet gatotkaca.bppt.go.id
Trying xxx.xxx.xxx.xxx …
Connected to gatotkaca.
Escape character is ‘^]’.

UNIX(r) System V Release 4.0 (gatotkaca)

login: lithium
Password: (silakan isi password untuk account lithium)
Last login: Sat Aug 24 10:24:21 on console
Sun Microsystems Inc. SunOS 5.3 Generic September 1993
Assalamualaikum
You have mail.
%

Kemudian anda boleh lakukan perintah-perintah lain seperti membaca
mail anda dalam sistem tersebut, membaca berkas tertentu dan sebagainya.
Untuk keluar dari sistem ini, anda cuma perlu ketik exit pada prompt.

% exit
Connection closed by foreign host.
%

Penghantaran/Pengambilan Berkas – ftp

Ftp adalah salah satu daripada utiliti yang bisa digunakan
untuk mengambil atau menghantar berkas dari satu komputer ke komputer
lain. Andaikan anda hendak mengambil berkas dari server ftp seperti
ftp.indosex.co.id, perintahnya adalah seperti berikut:-

% ftp ftp.indosex.co.id
Connected to ftp.indosex.co.id
220 ftp.indosex.co.id FTP server (Version wu-2.4(5) Fri Mar 22
9:52:18 MYT 1996) ready.
Name (ftp.indosex.co.id:lithium): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password: lithium@gatotkaca.bppt.go.id
230 Guest login ok, access restrictions apply.
ftp>

Untuk mengetahui perintah-perintah yang dapat digunakan dalam
program ftp ini, silakan ketik ? pada prompt ftp.

ftp> ?
Commands may be abbreviated. Commands are:
! cr macdef proxy send $ delete mdelete
sendport status account debug mdir put
struct append dir mget pwd sunique
ascii isconnect kdir tenex bell form
mls quote trace binary get mode
recv type bye glob mput remotehelp
user case hash nmap rename verbose
[… dll …]

ftp>

Gunakan perintah dir atau ls untuk melihat direktori atau berkas
yang ada di dalam server tersebut. Perintah cd untuk masuk ke direktori
lain, perintah get dan send untuk mengambil dan menghantar berkas.
Selesai proses menghantar atau mengambil berkas, anda bisa keluar dari
program ftp ini dengan perintah bye.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 14
drwxr-xr-x 6 root other 512 Apr 18 00:23 .
drwxr-xr-x 6 root other 512 Apr 18 00:23 ..
lrwxrwxrwx 1 root other 7 Mar 15 02:47 bin ->
usr/bin
d–x–x—x 2 root other 512 Mar 13 03:19 dev
d–x–x—x 2 root other 512 Mar 13 03:44 etc
drwxr-xr-x 31 noc other 1024 Aug 24 04:02 pub
d–x–x—x 5 root other 512 Mar 22 02:18 usr

226 Transfer complete.
431 bytes received in 0.058 seconds (7.3 Kbytes/s)
ftp> cd pub
250 CWD command successful.
ftp> get list.txt
200 PORT command successful.
150 Opening ASCII mode data connection for list.txt (3844319
bytes).
226 Transfer complete.
local: list.txt remote: list.txt
3844319 bytes received in 1.7e+02 seconds (4.4 Kbytes/s)
ftp> bye
221 Goodbye.
%

Email

Pengguna bisa mengirim pesan elektronik kepada pengguna lain dan
membaca pesan yang diterima dengan menggunakan perintah
mail, mailx atau utiliti lain seperti pine dan mailtool. Di sini akan
diterangkan cara menghantar/membaca mail dengan menggunakan perintah
pine. Perintah ini terletak dalam direktori /apps/tools atau /usr/bin.
Oleh itu pastikan bahawa nilai path dalam berkas .cshrc anda mengandung
nilai /apps/tools atau /usr/bin. Ketik perintah pine pada prompt Unix.

% pine
Creating subdirectory “/home/staff/lithium/mail” where pine will store
its mail folders.

Satu menu utama akan ditampilkan. Gunakan DOWNARROW atau UPARROW
untuk memilih menu-menu yang ada.

1.COMPOSE MESSAGE

Untuk menghantar pesan kepada pengguna lain, pilih menu ini.
Kemudian isikan keterangan seperti di bawah:-

To : root@persiankitty.com
Cc : (isi alamat email dari user lain jika perlu)
Attchmnt:
Subject : enjoyed your fantasy!
—– Message Text —–

Hai Apa khabar

Kemudian tekan CTRL-X untuk menghantar pesan kepada lisal.
Anda perlu tahu username seseorang jika ingin mengirim pesan dalam host
yang sama. Jika anda hendak menghantar pesan kepada pengguna ditempat
lain, anda perlu tahu “email address”nya. Misalnya lithium digantikan
dengan bokap@di.kantor.com. Tekan CTRL-C untuk membatalkan penghantaran
pesan.

2.FOLDER INDEX

Pilih menu ini untuk melihat daftar pesan baru atau lama.
Kemudian pilih pesan tersebut dengan menekan . Di bagian bawah
tampilan terdapat menu-menu yang boleh anda pilih seperti hapuskan pesan
(D), balas pesan (R), pergi ke pesan berikut (P), kembali ke menu utama
(M) dan sebagainya.

Tekan kunci Q untuk keluar dari pine. Kesemua perintah-perintah
yang terdapat dalam pine tidak sukar untuk dipelajari. Di sini juga akan
ditunjukkan cara menghantar pesan dengan menggunakan perintah mailx,
ditujukan untuk Administrator Sistem di local host anda.

% mailx root
subject: tanya kabar

Hai. Apa khabar
Selamat belajar Unix >;->
.