December 11, 2014

Multiple Security Advisories

Several security advisories has been released for all -stable and -current branches back to Slackware 13.0:
  • bind is upgraded to 9.9.6_P1 for -stable and bind-9.10.1_P1 for -current 
  • openvpn is upgraded to 2.3.6 for all branches
  • pidgin is upgraded to 2.10.11 (this package does not have any security advisory, but still included in all branch.
Some packages are only applicable to -stable 14.1 and -current branch:
  • firefox is upgraded to 31.3.0esr in 14.1 (current is already upgraded to 34.0.5 few days ago)
  • openssh is rebuilt to re-add tcpwrapper support that was removed by upstream
  • wpa_supplicant is upgraded to 0.7.3 in 13.37, 1.0 in 14.0, 2.3 in 14.1 and -current
  • seamonkey and seamonkey-solibs are upgraded to 2.31 in 14.1 and -current
  • gptfdisk is upgraded to 0.8.10 in -current only

    December 04, 2014

    Setup Slackware as Basic TFTP Server

    TFTP or Trivial File Transfer Protocol is a transfer protocol notable for its simplicity. TFTP is generally used for automated transfer of configuration or boot files between machines in a local environment, such as routers and PXE (Preboot eXecution Environment) mechanism. Compared to FTP, TFTP is extremely limited, providing no authentication and is rarely used interactively by a user.

    There are many TFTP implementations, such as:

    • GNU inetutils
    • tftp-hpa
    • atftp
    • tftp-server
    • etc…

    In this article, we will discuss about how to set Slackware as a basic  TFTP server. In specific, we will use tftp-hpa which is included by default. This article is tested using Slackware64 14.0 and tftp-hpa.

    Upgrade or Not?

    Slackware has shipped a TFTP server by default which is tftp-hpa. The version is 0.49. However we can install the latest tftp-hpa with simple process. If you decided to install the latest version, follow this section. Otherwise you can skip to next section.

    Download the latest version of tftp-hpa here: www.kernel.org/pub/software/network/tftp/tftp-hpa/. The latest version is 5.2 which can be downloaded here: www.kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-5.2.tar.xz

    Now invoke following series of command to build TFTP (server and client):

    tar -Jxf tftp-hpa-5.2.tar.xz
    cd tftp-hpa-5.2
    ./configure --prefix=/usr
    make
    cd tftp && strip --strip-unneeded tftp
    cd ../tftpd && strip --strip-unneeded tftpd
    cd ..

    Now install it (make sure you are using root privileges):

    make install

    Set up

    By default, the inetd use /tftpboot directory as root directory of the TFTP server. We can however change the directory to something else. Make sure the directory exists, whichever directory you use.

    Suppose we want to use /usr/local/tftpboot as root directory:

    mkdir -p /usr/local/tftpboot

    Then we give a proper permission:

    chmod +777 /usr/local/tftpboot
    chown nobody /usr/local/tftpboot

    Next we add the following entry to the /etc/inetd.conf file as a single line. Or you can edit it and make sure it’s uncommented.

    tftp  dgram   udp     wait    root    /usr/sbin/in.tftpd  in.tftpd -s /usr/local/tftpboot -r blksize

    Then, restart the inetd using root privileges.

    /etc/rc.d/rc.inetd restart

    Testing

    Now, let’s testing our TFTP server. In our simple scenario, we will create a plain text and fill something there. Then we will download it via tftp.

    echo "Xathrya was testing the TFTP server" >> /usr/local/tftpboot/test.txt

    To download it, use:

    tftp 127.0.0.1 -c get test.txt

    And see in current directory, whether we have successfully download it:

    cat test.txt

    It should print out “Xathrya was testing the TFTP server”.

    December 03, 2014

    Two Security Updates: Firefox and Thunderbird

    There were two security updates released in December. One for Firefox, which is now upgraded to 34.0.5 (a strange version indeed) and Thunderbird which is now upgraded to 31.3.0. Thunderbird update is applied to 14.1 as well, but not for Firefox as 14.1 still use Firefox ESR 31.2.0 and there has been no update for this release.

    Meanwhile, two more packages in -current gets an upgrade: groff and grep. Still no interesting activity happening in -current, but let's hope it's worth to wait for the big update. It happened very often in previous releases, but indeed this time, it's taking more time then before. Please be patient and let Pat do his job.

    November 29, 2014

    change MAC Address to other MAC Address(hide mac address) #Slackware

    hello bloggers, i want share tutorial about mac address.
    in the world of hacking, you must learn mac address it's just learn not to be crime
    okay now you install(if you not use pentest OS), as example i use slackware for try
    okay follow this step
    if you haven't this tools, you can download tools for slackware in here
    after installed, now open your konsole(kde) terminal(gnome) adjust to your DE.
    1. disable your device, like wlan0 or eth0
    #ifconfig wlan0 down (for example)


    2. and change mac, e.g i use random for this mac if you want more setting you mac type --help on command
    #macchanger -r wlan0


    3. after change, enable your device again
    #ifconfig wlan0 up (for example)



    thank's may useful
    note: don't use for crime, i'm not responsible if used in crime it's just for learn to security networking.

    resolv proxychains configuration not in directory /etc/proxychains.conf #Slackware

    hello, i want share install proxychains on slackware.
    before to step, do you know proxychains? i mean proxychains is a tools chain of proxy to takeover for secure browser etc.
    this problem, configuration proxychains not in directory /etc/ then where this config?:D
    for solve this trouble, edit file .slackbuilds and add parameter like this:
    make
    make install DESTDIR=$PKG
    make install-config DESTDIR=$PKG

    after parameter file make, make install DESTDIR=$PKG
    copy paste this parameter to your file slackbuild, i marked in bold and rebuild on your slackware machine, may helpful
    thank's

    source: http://www.linuxquestions.org/questions/slackware-14/how-to-configure-proxychains-slackware-14-0-a-4175486903/

    November 27, 2014

    GlusterFS, cara gampang gabungin harddisk banyak server

    Ada orang galau nanya, om ane punya beberapa komputer nganggur, gimana caranya biar semua harddisknya bisa dipake rame2? Ada ga sih cara gabunginnya? Oooh jelas ada dong, istilah kerennya clustering storage, gagal paham? Gampang… Dijelasin kok disini http://bit.ly/1yn9AOM

    Dah tau kan? Kekeke… Nah sekarang gimana caranya tuh buat gabunginnya. Mo yang gampang apa yang susah? Yang gampang aja ya? Udah pagi gini, bentar lagi meleleh kena matahari pagi. Jadi jangan yang ngejelimet, banyak seh contohnya, Ada yang namanya Ceph, HDFS (Hadoop), blablabla… banyak deh, yang gampang2 aja deh… Gampang tapi lumayan powerful, GlusterFS. Kan mo gampang? kekeke…

    Kebetulan adanya iso centos 7 minimal, jadi tutorialnya pake Centos 7 aja ya.

    Misalnya kita punya 3 komputer yang mo dijadiin server sama 1 komputer buat client, topologinya kira2 kek gini, susah bikin gambarnya, ga jago ascii art, jadi ketikan aja ya ^^

    Client
    192.168.1.10
    
    Server
    stg01 - 192.168.1.1
    stg02 - 192.168.1.2
    stg02 - 192.168.1.3
    

    Pastiin Centosnya udah keinstall sama udah konek keinternet, di komputer stg01,stg02 sama stg03 jalanin command kek dibawah ini:

    wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo -P /etc/yum.repos.d
    yum -y install glusterfs-server
    systemctl start glusterd 
    systemctl enable glusterd
    

    Udah? Gitu doang? Hmmm… ya ga segitu amat juga kli, biar gampang bikin alias aja buat ip servernya, masukin di /ets/hosts

    192.168.1.1    stg01
    192.168.1.2    stg02
    192.168.1.3    stg03
    

    Selanjutnya bikin mount-point, Atau direktori tempat gabungin harddisknya.

    mkdir /stg

    Dah separo jalan, sekarang tinggal kita gabungin deh harddisk2 di ketiga server tadi jadi satu, biar ga banyak tempat, kita pake aja server yang kita kasih nama stg01 tadi buat jalanin command dibawah.

    gluster peer probe stg02
    gluster peer probe stg03
    

    Kok ga mau? Ya iya lah, masa ya iya dong, Centos 7 defaultnya firewallnya idup (pake iso minimal seh, ga merhatiin klo yg full), karena ini cuman buat iseng ngoprek doang, jadi cukup dimatiin aja. Klo buat production jangan coba2 ^^

    service firewalld stop

    Cobain lagi, klo sukses ntar bakalan muncul keterangan: peer probe: success. Nah buat mastiin, cek statusnya dengan menjalankan

    gluster peer status
    Number of Peers: 2
    
    Hostname: stg02
    Uuid: a9c35a9e-1d92-470b-8631-86cdcfa13a08
    State: Peer in Cluster (Connected)
    
    Hostname: stg03
    Uuid: d431ae76-dd62-4f0d-ae72-cc31dbaeff32
    State: Peer in Cluster (Connected)
    

    Udah deh, klo dah nyambung gitu mah, tandanya clusternya dah jadi. Sekarang tinggal bikin volume yang bakal kita share.

    gluster volume create nama_storage transport tcp stg01:/stg stg02:/stg stg03:/stg
    volume create: nama_storage: success: please start the volume to access data
    
    gluster volume start nama_storage
    volume start: vol_nama_storage: success
    
    gluster volume status
    Status of volume: nama_storage
    Gluster process			Port	Online	Pid
    ----------------------------------------------------
    Brick stg01:/stg		49152	Y	2432
    Brick stg02:/stg		49152	Y	2358
    Brick stg03:/stg		49152	Y	2379
    NFS Server on localhost		2049	Y	2444
    NFS Server on stg02		2049	Y	2370
    NFS Server on stg03		2049	Y	2391
    

    Nah, beres deh. Tinggal di mounting dari Client deh. Pake NFS aja deh biar gampang. Halah dari tadi nyari gampangnya mulu. Suka-suka dong, namanya juga nyari gampang =))

    Client

    Klo di komputer Client, karena kita pengennya nyari gampang ya udah pake NFS, jangan lupa firewallnya matiin dulu kek diatas tadi.

    Install paket NFS

    yum install nfs-utils nfs-utils-lib

    Jalanin servicenya, klo ga butuh autostart bagian enable bisa dilewat.

    systemctl start rpcbind
    systemctl start nfs-server
    systemctl start nfs-lock
    systemctl start nfs-idmap
    systemctl enable rpcbind
    systemctl enable nfs-server
    systemctl enable nfs-lock
    systemctl enable nfs-idmap
    

    Bikin directory buat mounting cluster storage yang udah kita bikin tadi

    mkdir /data

    Mounting storage yang kita buat tadi di Client di direktori /data

    mount -t nfs 192.168.1.1:/stg /data

    Beres kan? Gampang kan? Enak Tah? Mantap Tah? Tak Gendong tah?
    Ga punya komputer buat praktek? Ga usah ambil pusing, tinggal sewa di www.cloudkilat.com, harga cingcay lah… Beres kan? ***kabur ***promo mode: on :P

    November 17, 2014

    Instalasi Mysql di Slackware

    Ini adalah catatan saya apabila lupa settingan konfigurasi dan sekaligus share ke teman - teman yang pakai linux khusus nya Slackware dengan cara install mysql di Slackware :-D

    Ok langsung saja saya bahas tentang install MySql di Slackware, kebetulan saya pakai Slackware 13.37.
    • Saya beri hak akses dahulu pada /etc/rc.d/rc.mysqld dengan perintah :
              # chmod 755 /etc/rc.d/rc.mysqld
    • Setelah saya buat hak akses nya maka saya teruskna dengan install mysql_db nya dengan perintah :
              # mysql_install_db
    • Nah setelah perintah yang diatas dijalankan maka akan seperti ini :



    Installing MySQL system tables...
    OK
    Filling help tables...
    OK
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    PLEASE REMEMBER TO SET A PASSWORD
    To do so, start the server, then issue the following commands:
    /usr/bin/mysqladmin -u root password 'new-password'
    /usr/bin/mysqladmin -u root password -h fhuw password 'new-password'
    Alternatively you can run :
    /usr/bin/mysql_secure_installation
    which will also give you the option of removing the test
    databases and anonymous user created by default. This is
    strongly recommended for production servers.
    See the manual for more instructions.
    You can start the MySQL daemon with:
    cd /usr ; /usr/bin/mysqld_safe &
    You can test the MySQL daemon with mysql-test-run.pl
    cd /usr/mysql-test ; perl mysql-test-run.pl
    please report any problems with the /usr/bin/mysqlbug script!
    • Langkah selanjutnya adalah mengubah owner pada /var/lib/mysql dengan perintah :
              # chown -R mysql:mysql /var/lib/mysql
    • Setelah perintah yang diatas dilaksanakan , maka perintah selanjut nya :
              # cp /usr/share/mysql/mysql.server /etc/rc.d/rc.mysql
    • Sekarang kita bikin rc.mysql bisa di eksekusi dengan hak akses rwx-rx-rx, dengan perintah :
              # chmod 755 /etc/rc.d/rc.mysql
    • Setelah diberikan hak akses nya, maka kita akan coba menjalankan nya dengan perintah :
              # /etc/rc.d/rc.mysql start
    • Setelah berhasil running, kita akan membuat password untuk user root, caranya yaitu :
              #  mysqladmin -u root password 'isi dengan password anda'
    • Dan kita coba login ke MySQL nya :
              # mysql -u root -p
    • Apabila ada yg menanyakan password sewaktu perintah di atas dijalankan maka jawaban nya adalah password yang di buat waktu kita bikin password di MySQL, kalau sukses masuk nya akan seperti seperti picture di bawah ini :

    ALSAMIXER ERROR

    Assalammualaikum Wr. wb
        Akhirnya hari ini bisa selesai permasalahan dari  alsamixer dan amixer yang error dari waktu kemarin upgrade dari  kernel versi 3.2.6 dulu dan sekarang saya sudah pakai kernel versi 3.2.9.
        Spesifikasi motherboard yang saya pakai adalah:
        # Mainboard GIGABYTE M68MT S2
        Ok langsung saja saya keluarkan jurus saya. hahahahahahh ..
        Mari kita mulai :
    • Error pesan yang muncul dari yang saya alami adalah seperti ini :
              # alsamixer
                 cannot load mixer controls: invalid argument
              # amixer
                 amixer: Mixer default load error: invalid argument



    • Saya sempat bingung karena tidak bisa mengubah settingan sound dari mixer nya, lalu saya coba untuk mencari permasalahan tersebut. Yang pertama saya selidiki adalah versi driver sound yang saya pakai dengan cara
              # cat /proc/asound/version
                 Advanced Linux Sound Architecture Driver Version 1.0.24.
    • Lalu saya cek ALSA sound-card driver yang di pakai di driver saya dengan perintah di console :
              # aplay -l
                **** List of PLAYBACK Hardware Devices ****
                card 0: NVidia [HDA NVidia], device 0: HDA Generic [HDA Generic]
                Subdevices: 0/1
                Subdevice #0: subdevice #0
    • Nah saya cek lagi ini versi realtek nya, dengan perintah :
              # head -n 1 /proc/asound/card0/codec*
                  Codec: Realtek ID 887
    • Saya coba test sound nya dengan cara:
               # aplay /usr/share/sounds/alsa/Front_Center.wav
                  Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
    • Ternyata bisa, dan saya coba cek lagi di lsmod nya buat mencari module yang berada di kernel khususnya audio codec yg di pakai, dengan cara :
              # lsmod | grep snd
                 snd_seq_dummy           1119    0
                 snd_seq_oss                   25220  0
                 snd_seq_midi_event      4600    1 snd_seq_oss
                 snd_seq                          41216  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
                 snd_seq_device              4276    3 snd_seq_dummy,snd_seq_oss,snd_seq
                 snd_pcm_oss                  33600  0
                 snd_mixer_oss               12672  1 snd_pcm_oss
                 snd_hda_intel                19739  4
                 snd_hda_codec              70281  1 snd_hda_intel
                 snd_hwdep                     4806    1 snd_hda_codec
                 snd_pcm                         58949  4 snd_pcm_oss,snd_hda_intel,snd_hda_codec
                 snd_timer                       15143  3 snd_seq,snd_pcm
                 snd                                  43573  16  snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer                        soundcore                       4602  1 snd
                 snd_page_alloc              5765  2 snd_hda_intel,snd_pcm
    • Nah saya mau coba pakai snd_hda_intel karena modul yang dipakai buat sound nya itu, saya akan menambahkan "options snd-hda-intel model=generic" pada configurasi /etc/modprobe.d/sound.conf kebetulan configurasinya di linux yang saya pakai, kalau di ubuntu di /etc/modprobe.d/alsa-base.conf
              # Vim /etc/modprobe.d/sound.conf ( enter)
               maka isinya seperti yang ada di bawah ini:

    # --- BEGIN: Generated by ALSACONF, do not edit. ---
    # --- ALSACONF version 1.0.25 ---
    alias char-major-116 snd
    alias char-major-14 soundcore
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    alias snd-card-0 snd-opl3sa2
    alias sound-slot-0 snd-opl3sa2
    options snd-opl3sa2 fm_port=-1 midi_port=-1 port=0x370 wss_port=0x530 isapnp=0 dma1=1 dma2=0 irq=3
    # --- END: Generated by ALSACONF, do not edit. ---

              Nah sekarang saya add "options snd-hda-intel model=generic" di file tersebut dengan tanpa tanda kutip ya dengan menekan i (insert dan enter) dan hasil nya seperti ini

    # --- BEGIN: Generated by ALSACONF, do not edit. ---
    # --- ALSACONF version 1.0.25 ---
    alias char-major-116 snd
    alias char-major-14 soundcore
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    alias snd-card-0 snd-opl3sa2
    alias sound-slot-0 snd-opl3sa2
    options snd-opl3sa2 fm_port=-1 midi_port=-1 port=0x370 wss_port=0x530 isapnp=0 dma1=1 dma2=0 irq=3
    options snd-hda-intel model=generic
    # --- END: Generated by ALSACONF, do not edit. ---

              Setelah semua di add maka cara save dan quit di vi/vim adalah dengan tekan esc lalu ketik :wq!
              Ok udah clear semua nya tinggal kita reboot system Linux kita. Kalau sukses akan menampakkan gambar seperti ini dari perintah alsamixer nya dan amixer nya :

    Cara Reset Password ROOT di linux


    Tutorial cara mereset password root di Linux untuk yang lupa password root nya dan gak bikin akses sudo ....
    1. Booting pke LiveCD atau DVD linux kebetulan saya pke Slackware CD1 dan pke CLI (command Line interface)
    2. cek dulu partisi root nya dengan ketik
    # fdisk -l
    misalnya partisi root saya berada di /dev/sda5 maka itu partisi root punya saya yang mau di reset disana...
    3. saya lalu mounting partisi root nya ke directory /mnt dengan cara ...
    # mount /dev/sda5 /mnt 
    4 terus setelah di mount saya pindah ke directory /mnt dengan cara
    # cd /mnt


    5. nah setelah itu saya edit menggunakan vim untuk ubah password root nya di file /etc/shadow dengan perintah ...
    # vim /etc/shadow ketik i (insert) untuk edit file nya
    root:(dikosongkan saja).:15386:0::::: 
    yang tanda kurung itu encrypsi dari password nya maka di hilangkan saja, jdi kayak ini
    root::15386:0::::: 
    6. setelah di edit tekan esc lalu ketik :wq! untuk save dari editor vim nya ...
    7. lalu restart dan login sebagai root terus enter ...
    8. isi password baru nya dengan syntax
    # passwd
    untuk yg punya akses sudo gak usah ribet kayak gini tinggal pke
    $ sudo su
    # passwd 
    ok semoga bermanfaat ... ^_^

    Perintah Dasar UNIX


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


    UNIX untuk Pemula. 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 <Enter> untuk memaparkan baris
    demi baris atau <SpaceBar> 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 <ltenter>
    -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 <Enter>. 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 <tekan kunci ENTER>
    subject: tanya kabar <tekan kunci ENTER>

    <ketik sembarang pesan anda di sini>

    Hai. Apa khabar <tekan kunci ENTER>
    Selamat belajar Unix >;-> <tekan kunci ENTER>
    . <setelah habis menulis pesan pergi ke baris baru >
    <dan tekan . (dot) untuk mengirim pesan >


    Tutorial iptables


    1. Persiapan

    Sebelum mulai, diharapkan pembaca sudah memiliki pengetahuan dasar mengenai TCP/IP karena hal ini merupakan dasar dari penggunaan IPTables. Ada (sangat) banyak resource yang mendokumentasikan konsep dasar tentang TCP/IP, baik itu secara online maupun cetak. Silahkan googling untuk mendapatkannya.
    Hal berikutnya yang harus anda persiapkan adalah sebuah komputer yang terinstall Linux. Akan lebih baik jika komputer anda memiliki 2 buah network interface card, sebab bisa menjalankan fungsi packet forwarding. Disarankan anda menggunakan linux dengan kernel 2.4 ke atas, karena (setahu saya) linux dengan kernel 2.4 ke atas sudah memiliki dukungan IPTables secara default, sehingga anda tidak perlu mengkompilasi ulang kernel anda. Bagi anda yang menggunakan kernel 2.2 atau sebelumnya, anda harus melakukan kompilasi kernel untuk memasukkan dukungan IPTables.

    2. Pendahuluan

    IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.
    Pada diagram tersebut, lingkaran menggambarkan ketiga rantai atau chain. Pada saat sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.
    Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan default ACCEPT.
    Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:
    Perjalanan paket yang diforward ke host yang lain
    1. Paket berada pada jaringan fisik, contoh internet.
    2. Paket masuk ke interface jaringan, contoh eth0.
    3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi untuk me-mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-lain.
    4. Paket masuk ke chain PREROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan DNAT (Destination Network Address Translation).
    5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.
    6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.
    7. Paket masuk ke chain POSTROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan SNAT (Source Network Address Translation).
    8. Paket keluar menuju interface jaringan, contoh eth1.
    9. Paket kembali berada pada jaringan fisik, contoh LAN.
    Perjalanan paket yang ditujukan bagi host lokal
    1. Paket berada dalam jaringan fisik, contoh internet.
    2. Paket masuk ke interface jaringan, contoh eth0.
    3. Paket masuk ke chain PREROUTING pada tabel mangle.
    4. Paket masuk ke chain PREROUTING pada tabel nat.
    5. Paket mengalami keputusan routing.
    6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.
    7. Paket akan diterima oleh aplikasi lokal.
    Perjalanan paket yang berasal dari host lokal
    1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
    2. Paket memasuki chain OUTPUT pada tabel mangle.
    3. Paket memasuki chain OUTPUT pada tabel nat.
    4. Paket memasuki chain OUTPUT pada tabel filter.
    5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.
    6. Paket masuk ke chain POSTROUTING pada tabel NAT.
    7. Paket masuk ke interface jaringan, contoh eth0.
    8. Paket berada pada jaringan fisik, contoh internet.


    3. Sintaks IPTables

    iptables [-t table] command [match] [target/jump]

    1. Table
    IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut :
    1. NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.
    2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
    3. FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT
    2. Command
    Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain.
    Command
    Keterangan
    -A 
    --append
    Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain yang bersangkutan, sehingga akan dieksekusi terakhir
    -D          
    --delete
    Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus.
    -R          
    --replace
    Penggunaannya sama seperti --delete, tetapi command ini menggantinya dengan entry yang baru.
    -I          
    --insert
    Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah. Demikian pula baris-baris selanjutnya.
    -L          
    --list
    Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric) dan –x (exact).
    -F          
    --flush
    Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.
    -N          
    --new-chain
    Perintah tersebut akan membuat chain baru.
    -X          
    --delete-chain
    Perintah ini akan menghapus chain yang disebutkan. Agar perintah di atas berhasil, tidak boleh ada aturan lain yang mengacu kepada chain tersebut.
    -P          
    --policy
    Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan default ini.
    -E          
    --rename-chain
    Perintah ini akan merubah nama suatu chain.
    3. Option
    Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah.
    Option
    Command          Pemakai
    Keterangan
    -v          
    --verbose
    --list          
    --append
    --insert
    --delete
    --replace
    Memberikan output yang lebih detail, utamanya digunakan dengan --list. Jika digunakan dengan --list, akan menampilkam K (x1.000),
    M (1.000.000) dan G (1.000.000.000).
    -x          
    --exact
    --list
    Memberikan output yang lebih tepat.
    -n          
    --numeric
    --list
    Memberikan output yang berbentuk angka. Alamat IP dan nomor port akan ditampilkan dalam bentuk angka dan bukan hostname ataupun nama aplikasi/servis.
    --line-number
    --list
    Akan menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita untuk melakukan modifikasi aturan, jika kita mau meyisipkan atau menghapus aturan dengan nomor tertentu.
    --modprobe
    All
    Memerintahkan IPTables untuk memanggil modul tertentu. Bisa digunakan bersamaan dengan semua command.
    4. Generic Matches
    Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.
    Match
    Keterangan
    -p          
    --protocol

    Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.

    Tanda inversi juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan --protokol ! icmp yang berarti semua kecuali icmp.
    -s          
    --src
    --source

    Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal. Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau suatu alamat network menggunakan netmask misal 192.168.1.0/255.255.255.0, atau bisa juga ditulis 192.168.1.0/24 yang artinya semua alamat 192.168.1.x. Kita juga bisa menggunakan inversi.

    -d          
    --dst
    --destination

    Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src

    -i          
    --in-interface

    Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan PREROUTING

    -o          
    --out-interface

    Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar. Penggunannya sama dengan --in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING

    5. Implicit Matches
    Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.
    a. TCP matches
    Match
    Keterangan
    --sport          
    --source-port
    Match ini berguna untuk mecocokkan paket berdasarkan port asal. Dalam hal ini kia bisa mendefinisikan nomor port atau nama service-nya. Daftar nama service dan nomor port yang bersesuaian dapat dilihat di /etc/services.
    --sport juga bisa dituliskan untuk range port tertentu. Misalkan kita ingin mendefinisikan range antara port 22 sampai dengan 80, maka kita bisa menuliskan --sport 22:80.
    Jika bagian salah satu bagian pada range tersebut kita hilangkan maka hal itu bisa kita artikan dari port 0, jika bagian kiri yang kita hilangkan, atau 65535 jika bagian kanan yang kita hilangkan. Contohnya --sport :80 artinya paket dengan port asal nol sampai dengan 80, atau --sport 1024: artinya paket dengan port asal 1024 sampai dengan 65535.Match ini juga mengenal inversi.
    --dport          
    --destination-port
    Penggunaan match ini sama dengan match --source-port.
    --tcp-flags
    Digunakan untuk mencocokkan paket berdasarkan TCP flags yang ada pada paket tersebut. Pertama, pengecekan akan mengambil daftar flag yang akan diperbandingkan, dan kedua, akan memeriksa paket yang di-set 1, atau on.
    Pada kedua list, masing-masing entry-nya harus dipisahkan oleh koma dan tidak boleh ada spasi antar entry, kecuali spasi antar kedua list. Match ini  mengenali SYN,ACK,FIN,RST,URG, PSH. Selain itu kita juga menuliskan ALL dan NONE. Match ini juga bisa menggunakan inversi.
    --syn
    Match ini akan memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set. Perintah ini sama artinya jika kita menggunakan match --tcp-flags SYN,ACK,FIN SYN
    Paket dengan match di atas digunakan untuk melakukan request koneksi TCP yang baru terhadap server
    b. UDP Matches
    Karena bahwa protokol UDP bersifat connectionless, maka tidak ada flags yang mendeskripsikan status paket untuk untuk membuka atau menutup koneksi. Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match untuk protokol UDP lebih sedikit daripada TCP.
    Ada dua macam match untuk UDP:
    --sport atau --source-port
    --dport atau --destination-port
    c. ICMP Matches
    Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-kondisi jaringan yang lain. Hanya ada satu implicit match untuk tipe protokol ICMP, yaitu :
    --icmp-type
    6. Explicit Matches
    a. MAC Address
    Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang menggunakan teknologi ethernet.
    iptables –A INPUT –m mac –mac-source 00:00:00:00:00:01
    b. Multiport Matches
    Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita tidak bisa menggunakan port matching standard dan multiport matching dalam waktu yang bersamaan.
    iptables –A INPUT –p tcp –m multiport --source-port 22,53,80,110
    c. Owner Matches
    Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak memiliki owner (??).
    iptables –A OUTPUT –m owner --uid-owner 500
    Kita juga bisa memfilter berdasarkan group ID dengan sintaks --gid-owner. Salah satu penggunannya adalah bisa mencegah user selain yang dikehendaki untuk mengakses internet misalnya.
    d. State Matches
    Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah tersambung dan paket-paketnya merupakan bagian dari koneki tersebut. RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari koneksi yang ada.
    iptables –A INPUT –m state --state RELATED,ESTABLISHED
    7. Target/Jump
    Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain input.
    iptables –A INPUT –p tcp –j tcp_packets
    Target
    Keterangan
    -j ACCEPT 
    --jump ACCEPT
    Ketika paket cocok dengan daftar match dan target ini diberlakukan, maka paket tidak akan melalui baris-baris aturan yang lain dalam chain tersebut atau chain yang lain yang mereferensi chain tersebut. Akan tetapi paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.
    -j DROP 
    --jump DROP
    Target ini men-drop paket dan menolak untuk memproses lebih jauh. Dalam beberapa kasus mungkin hal ini kurang baik, karena akan meninggalkan dead socket antara client dan server.
    Paket yang menerima target DROP benar-benar mati dan target tidak akan mengirim informasi tambahan dalam bentuk apapun kepada client atau server.
    -j RETURN 
    --jump RETURN
    Target ini akan membuat paket berhenti melintasi aturan-aturan pada chain dimana paket tersebut menemui target RETURN. Jika chain merupakan subchain dari chain yang lain, maka paket akan kembali ke superset chain di atasnya dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chain tersebut.
    -j MIRROR
    Apabila kompuuter A menjalankan target seperti contoh di atas, kemudian komputer B melakukan koneksi http ke komputer A, maka yang akan muncul pada browser adalah website komputer B itu sendiri. Karena fungsi utama target ini adalah membalik source address dan destination address.
    Target ini bekerja pada chain INPUT, FORWARD dan PREROUTING atau chain buatan yang dipanggil melalui chain tersebut.
    Beberapa target yang lain biasanya memerlukan parameter tambahan:
    a. LOG Target
    Ada beberapa option yang bisa digunakan bersamaan dengan target ini. Yang pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err, crit, alert dan emerg.Yang kedua adalah -j LOG --log-prefix yang digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.
    iptables –A FORWARD –p tcp –j LOG --log-level debug
    iptables –A INPUT –p tcp –j LOG --log-prefix “INPUT Packets”
    b. REJECT Target
    Secara umum, REJECT bekerja seperti DROP, yaitu memblok paket dan menolak untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan mengirimkan error message ke host pengirim paket tersebut. REJECT bekerja pada chain INPUT, OUTPUT dan FORWARD atau pada chain tambahan yang dipanggil dari ketiga chain tersebut.
    iptables –A FORWARD –p tcp –dport 22 –j REJECT --reject-with icmp-host-unreachable
    Ada beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unrachable, icmp-net-prohibited dan icmp-host-prohibited.

    c. SNAT Target
    Target ini berguna untuk melakukan perubahan alamat asal dari paket (Source Network Address Translation). Target ini berlaku untuk tabel nat pada chain POSTROUTING, dan hanya di sinilah SNAT bisa dilakukan. Jika paket pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang sama.
    iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000
    d. DNAT Target
    Berkebalikan dengan SNAT, DNAT digunakan untuk melakukan translasi field alamat tujuan (Destination Network Address Translation) pada header dari paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau chain buatan yang dipanggil oleh kedua chain tersebut.
    iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 --dport 80 –j DNAT --to-destination 192.168.0.2
    e. MASQUERADE Target
    Secara umum, target MASQUERADE bekerja dengan cara yang hampir sama seperti target SNAT, tetapi target ini tidak memerlukan option --to-source. MASQUERADE memang didesain untuk bekerja pada komputer dengan koneksi yang tidak tetap seperti dial-up atau DHCP yang akan memberi pada kita nomor IP yang berubah-ubah.
    Seperti halnya pada SNAT, target ini hanya bekerja untuk tabel nat pada chain POSTROUTING.
    iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
    f. REDIRECT Target
    Target REDIRECT digunakan untuk mengalihkan jurusan (redirect) paket ke mesin itu sendiri. Target ini umumnya digunakan untuk mengarahkan paket yang menuju suatu port tertentu untuk memasuki suatu aplikasi proxy, lebih jauh lagi hal ini sangat berguna untuk membangun sebuah sistem jaringan yang menggunakan transparent proxy. Contohnya kita ingin mengalihkan semua koneksi yang menuju port http untuk memasuki aplikasi http proxy misalnya squid. Target ini hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau pada chain buatan yang dipanggil dari kedua chain tersebut.
    iptables –t nat –A PREROUTING –i eth1 –p tcp --dport 80 –j REDIRECT --to-port 3128
    Tutuorial Squid bisa dilihat di Instalasi Squid, Banner Filter, Porn Filter, Limit Bandwith, Transparan Proxy bikinan mas Hanny.

    4. Penutup

    Demikian dasar-dasar dari IPTables beserta komponen-komponennya. Mungkin anda masih agak bingung tentang implementasi dari apa yang telah dijelaskan di atas. Insya Allah dalam tulisan yang akan datang, saya akan memberikan beberapa contoh kasus jaringan yang menggunakan IPTables. Yea.. may I have enough power to do it :)

    cara Rooting Android samsung galaxy Young

    Padahal udah lama saya tau ini threat tapi baru sekarang saya buka ini threat...
    ok, langsung saja...
    "Why Rooting Android ?"
    pertanyaan yang bagus, karena ada beberapa aplikasi yang membutuhkan akses root untuk bisa berjalan secara lancar, dan akses root berarti kita menjadi admin system sendiri, sama halnya dengan Linux yang lain.
    ngomong-ngomong Android juga pakai Kernel linux loh, yang berarti android merupakan linux  version mobile ^_^, dengan proses root kita bisa mengoptimalkakn kinerja Android kita,
    negatifnya kalau kita oprek berlebihan sampai ujung-ujung nya error karena oprek kernel nya misal, maka kalau kita masih di akses root dan masih ada garansi resmi dari samsung maka akan hilang kejam yea, beda sekali kalau pake akses root di linux khususnya compi  gak harus mikirkan garansi hardware karena oprek OS ^_^

    Peralatan Perang yang harus disiapkan
    1. update-root
    2. unroot
    3. Nyali Nekad gila,,,, wkwkwkkkwk



    Are you ready ????
    let's try Do it now, hahahhaha ini tombol handal nya

    1. Download file update-root nya, itu aplikasi buat rootingnya
      2. save di SD card ( kalau bisa sih taruh di folder aja)
        3. turn off your Gyoung ^_^
        4. tekan 3 tombol handal (volume up + home + power) secara bersamaan, sampai muncul gambar seperti ini
        5. nanti akan muncul tampilan recovery mode seperti SS ini (kira-kira 10 detik)

        6. Dengan menekan tombol :
            - Volume up/down = naik/turun
            - Home = enter
        7. Pilih "apply update from sdcard"
        8. Pilih update.zip yang sudah kita download tadi berada di sdcard
        9. Kalau sudah selesai pilih "reboot system now"
        10. Tunggu beberapa saat hingga HP SGY anda menyala, kemudian masuk ke menu utama nya, coba cek ada aplikasi "Superuser" atau belum

        11. Screenshot nya
        12. kalau sudah ada berarti anda selamat telah masuk daerah ROBO-PIRATES ^_^
        kalau belum silakan coba lagi ^_^
          Untuk unroot sama saja teknik nya
            Satu hal yea ngeroot itu tidak akan menghilangkan data-data yang ada, tapi sebaiknya prepare untuk membackupnya. Selamat beroprek ria dan semoga berhasil yea ^_^

            UPDATE!!! INGAT!!! RESIKO KERUSAKKAN SEWAKTU ROOTING TANGGUNG JAWAB ANDA SENDIRI 

            thank's to remo-xp atas picture nya, tapi sebagian picture asli saya ^_^

            By: Mardin Wijaya a.k.a Penguin-Metal a.k.a Robo-Pirates

            Download Paket Android dari Google Play to PC

            Assalamualaikum warrahmatullah wabbaraktu,,,

            Udah lama saya tidak posting-posting diblog saya ini, sekarang kita akan belajar oprek hp android, kebetulan saya agak ribet jika mau download paket Android di hp, soalnya saya males internetan di android cuman untuk download paket saja, jadi saya kepikiran buat download paket android di Google play secara resmi disana tapi disimpen ke PC bukan ke handset, maklum buat jualan juga. =))

            Saya kurang percaya paket-paket android yang bukan resmi dari Google Play dikarenakan tempat-tempat yang menyediakan paket android tersebut belum tentu cocok dengan handset yang kita pakai dan jika kita install paket tersebut apakah akan aman dari hal malware ataupun dari kerusakkan handset kita, maka dari itu saya sarankan untuk download paket itu secara resmi agar menjaga handset kita dari kerusakkan dan keamanan nya.

            Ok, kita langsung saja. Saya dapat info dari forum.xda-developers.com tentang cara yg dipakai untuk download paket android ke Desktop Pc kita, persiapan yang kita pakai cuman install java aplication nya untuk bisa running software nya. Tanpa JRE or JDK itu software gak bakal bisa running. Nama softwarenya yaitu Real APK Leecher, silakan jika anda belum Download saya kasih link nya di Oracle Site.



            Instruksi:
            Sebelum kita mulai download and install Real APK leecher  terlebih dahulu kita harus punya handset Android nya. Email dan Password gmail yang kita pakai untuk account Android diperlukan disini. Karena account Android kita pakai akan mencocokkan dengan handset yang dipakai.

            Device id berfungsi untuk mengetahui id handset yang kita pakai. Sekarang coba tekan di pad nya *#*#8255#*#* , maka akan terbuka "Gtalk Service monitor", setelah itu coba carilah baris JID dan Device ID nya. JID adalah Account ID kita, sedangkan device id yang anda pakai itu berupa string itu bisa dilihat dari android-prefix yang muncul dari info tersebut. Contoh yang punya saya ini ada tanda merah, itu device id yang saya miliki.

            Setelah dapat Device ID yang kita miliki, sekarang kita download Real APK Leecher nya disini. Terus coba Real APK Leecher nya, Don't Forget untuk install Java sebelum running Real APK karena Real APK Leecher cuman bisa berjalan jika ada Java. Untuk yang menjalankan di Linux anda bisa mengetik di terminal :
            $ java -jar APKDownloader.jar

            atau anda bisa bikin shorcut sendiri juga, saya juga ini pakai linux. :-p

            Sekarang kita isi bagian general info dari Real APK Leecher, ini agar handset kita dapat dikenali oleh Google Play. Anda tinggal isi saja Email, Password dan Device Id nya. Ini contoh screenshot dari settingan punya saya.


            Untuk referensi paket nya tinggal buka browser nya saja dan pilih paket Android sesuai dengan handset yang anda pakai, Real APK Leecher hanya untuk fasilitasi download dari Google Play ke Desktop kita.

            Sedangkan untuk download nya anda cukup masuk kebagian pencarian ketik sesuai paket yg diinginkan, disitu ada pilihan pencarian dari Vendor name, Package Name, dan Custom. Dan anda tinggal klik kiri pilih paket nya terus klik kanan "Download this app" Silakan download sepuasnya, ^_^

            Sekian Tutorial yang saya kasih semoga bermanfaat,

            by: Penguin-Metal a.k.a Natsu_Dragon a.k.a Mardin Wijaya

            Install Apache

            Assalamualaikum Warrahmatullah Wabbarakatuu.....

            Kali ini saya akan buat tutorial tentang cara install Apache di Linux khususnya Distro Tua yaitu Slackware. Kenapa saya pakai slackware ? Karena di slackware sudah ada tinggal pakai dan cuman modal configurasi sedikit, heheheh. Saya buat tutorial ini sebagai catatan saya sebenernya dan buat rekan-rekan yang suka baca-baca di blog.

            Ok kita langsung saja ambil senjata kita yaitu konsole a.k.a terminal a.k.a Sheel,

            Langkah yg akan kita tempuh pertama adalah supaya running script apache dengan perintah :
            $ sudo chmod 755 /etc/rc.d/rc.httpd

            Setelah script itu menjadi eksekusi sekarang kita coba running Apachenya, dengan perintah :
            $ sudo /usr/sbin/apachetl -k start
            Perintah diatas akan menjalankan apache saat itu juga, jangan kaget ada laporan seperti ini,
            httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
            Tidak apalah dapat peringatan seperti itu, kan kita belum konfigurasi filenya, heheheh
            Sekarang buka browser yang kita ketik link ini http://localhost nanti ada ucapan salam dari Apache kita :)



            Untuk perintah dasar dari Apache yaitu:
            $ sudo /usr/sbin/apachetl -k start untuk menjalankan Apache
            $ sudo /usr/sbin/apachetl -k restart untuk merestart  Apache
            $ sudo /usr/sbin/apachetl -k stop untuk menghentikan Apache
            $ sudo /usr/sbin/apachetl configtest untuk mengetest configurasi yang kita buat di apache

            Selanjutnya adalah konfigurasi httpd.conf
            File konfigurasi di Slackware 13.37 berada di /etc/httpd/httpd.conf sekarang buka editor kesukaan kalian kita akan mulai bikin konfigurasinya, yang paling dasar untuk dicermati disini yaitu :

            Server Admin
                        ServerAdmin you@example.com
                        email baris diatas silakan isi dengan email anda
                 contoh:
                        ServerAdmin mardin@ganteng-mania.com

            Server Name
                         ServerName www.example.com
                         silakan isi ganti dengan situs Anda untuk online
                 contoh:
                         ServerName www.ganteng-mania.com
            (Tapi jika ingin berjalan di localhost, maka biarkan tanda # tetap ada)

            Document Root
                        DocumentRoot "/var/www/htdocs"
                        silakan ganti dengan folder pilihan anda
                   contoh :
                        DocumentRoot "/home/mardin/public_html"

            Directory Root
                       (Ganti dengan directory anda)
                    contoh :
                            <Directory "/home/mardin/public_html">
                                  Options Indexes FollowSymlinks
                                  AllowOverride None
                                  Order allow,deny
                                  Allow from all
                                 </Directory>

            Index
                       DirectoryIndex index.html
                       (Tambahkan directory index yang anda inginkan. Misal agar Apache dapat menjalankan .php)
                       DirectoryIndex index.html index.php

            Include mod_php
                  Agar halaman php bisa jalan, silakan cari bagian baris # Include /etc/httpd/mod_php.conf.
            Hilangkan tanda # untuk bisa jalan.

            Nah sampai sini kita dapat test dengan ketik apachetl configtest, setelah itu kita restart apachenya.
            selesai deh beberapa konfigurasi dasar dari Apache, selebihnya explorer yea pengetahuannya,, ;-)

            Modem Huawei 156 cdma dengan provider Flexi

            ini merupakan tutorial usb modem huawei 156 cdma dengan provider flexi, emang agak susah juga obok2 ini cdma,, ok sekarang silakan praktekkan cara saya ini,,, ;-)

            1. edit bagian /etc/ppp/ppp.conf

            flexi:
             #
             # edit the next three lines and replace the items in caps with
             # the values which have been assigned by your ISP.
             #
             set log Phase Chat LCP IPCP CCP tun command
             disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
             deny pred1 deflate deflate24 protocomp acfcomp shortseq vj



             set device /dev/cuaU0.3
             set ctsrts on
             set login
             set dial
             set speed 115200
             set timeout 0
             set phone "#777"
             set authname userdial
             set authkey passdial
             set dial "ABORT BUSY ABORT NO\\sCARRIER \
             TIMEOUT 5 \
             \"\" ATE1 \
             OK-AT-OK ATQ0V1X4 \
             OK \\dATDT\\T \
             TIMEOUT 40 \  CONNECT"

             nat enable yes
             resolv writable
             set dns 180.131.145.145 10.177.2.123 #dns default flexi
             set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0
             enable dns
             add! default HISADDR            # Add a (sticky) default route

            2. buat lah ppp.linkup di /etc/ppp/ppp.linkup :

            flexi:
             shell route add default -interface INTERFACE  delete ALL

            3. sekarang buat file ppp.linkdown di /etc/ppp/ppp.linkdown

            flexi:  shell route delete default

            4. agar modem kita terdetek cuaU0.X kita harus meload u3g nya, dengan cara # kldload u3gkalau di cek di ls -l /dev ada cuaU, jika gak ada maka add perintah u3g_load="YES" dan save di /boot/loader.conf, jika bisa berarti tinggal dial saja lewat pppdengan mengetikkan :
            # ppp
            Working in interactive mode
            Using interface: tun1
            ppp ON devil> dial flexi (ini untuk cara dialnya)
            ppp ON devil>
            PPP ON devil> (nah berubah kan huruf P nya, yg berarti itu sudah terkoneksi)
            jangan lupa setup dns nya juga di /etc/resolv.conf
            sekarang coba ping google.com untuk memastikan terhubung kita kedunia internet :)

            Inkscape Error di Slackware Current

            Assalamualaikum Warrahmatullah Wabbarakatu,,,

            saya punya masalah dengan Inksacape saya di Slackware Current dan menemukan solusinya, mungkin teman-teman yang sering berkunjung di blog saya akan menemukan kesalahan yang sama sewaktu mau running inkscape nya di current,

            kok Slackware Current ? karena Slackware current merupakan Slackware versi Rolling Release yang semua aplikasinya uptodate dan unstable wajar kalau banyak error sana sini,

            Kebetulan yang punya saya terdapat error di inkscape, yaitu beberapa library gak mau ngerun, kita coba satu-satu yea,,
            disini saya lewat Terminal, coba ketik inkscape apa yg terjadi :

            $ inkscape
            inkscape: error while loading shared libraries: libMagick++.so.4: cannot open shared object file: No such file or directory



            Wah ternyata libMagick++ nya perasaan itu sudah ada untuk ngerun aplikasi gambar dan lancar, yea sudah kita cari dulu dimana mereka berada, kita ketik saja :
            $ locate libMagick
            /usr/lib/libMagickWand.so.5
            /usr/lib/libMagickCore.so.5.0.0
            /usr/lib/libMagickCore.so
            /usr/lib/libMagickWand.so.5.0.0
            /usr/lib/libMagick++.so.5
            /usr/lib/libMagickCore.so.5
            /usr/lib/libMagick++.so.5.0.0
            /usr/lib/libMagickWand.so
            /usr/lib/libMagick++.so


            Nah ketemu kan,, ternyata berbeda penamaan saja, kita coba untuk ngelink dari induknya langsung apa yang akan terjadi ??? ^_^
            $ sudo ln -s /usr/lib/libMagick++.so /usr/lib/libMagick++.so.4

            Ok, kita coba lagi untuk ngerun inkscape, seperti biasa lewat terminal:
             $ inkscape
            inkscape: error while loading shared libraries: libMagickCore.so.4: cannot open shared object file: No such file or directory

            waduh masih error ternyata, kita buat link lagi yea, kebetulan itu semua ada, :D
             $ sudo ln -s /usr/lib/libMagickCore.so /usr/lib/libMagickCore.so.4

            kita coba lagi untuk menjalankan aplikasi inkscape:
             $ inkscape
            inkscape: error while loading shared libraries: libpoppler.so.13: cannot open shared object file: No such file or directory

            wah ada lagi ternyata, kita coba cari file nya ada dimana lewat perintah whereis di terminal:
             $ whereis libpoppler
            libpoppler: /usr/lib/libpoppler.so /usr/lib/libpoppler.la

            owh disitu ternyata, ok kita lanjut buat link library kesana,
            $ sudo ln -s /usr/lib/libpoppler.so /usr/lib/libpoppler.so.13

            mari kita jalankan lagi inkscape:
            $ inkscape
            inkscape: error while loading shared libraries: libpoppler-glib.so.6: cannot open shared object file: No such file or directory

            OMG, masih ada yang error, sabar yea ini semua proses belajar ^_^
            kita buat link library lagi aja, kita pakai fungsi tab untuk mengetahui libpoppler-glib,
            $ sudo ln -s /usr/lib/libpoppler (disini langsung tab)
            libpoppler-cpp.la         libpoppler-glib.so.8      libpoppler.la
            libpoppler-cpp.so         libpoppler-glib.so.8.4.0  libpoppler.so
            libpoppler-cpp.so.0       libpoppler-qt4.la         libpoppler.so.13
            libpoppler-cpp.so.0.2.0   libpoppler-qt4.so         libpoppler.so.26
            libpoppler-glib.la        libpoppler-qt4.so.4       libpoppler.so.26.0.0
            libpoppler-glib.so        libpoppler-qt4.so.4.0.0  

            wew, kok wew ? yea dibanding bilang wow. =))
            kita sudah ketemu, sekarang buat link library untuk itu,
            $ sudo ln -s /usr/lib/libpoppler-glib.so /usr/lib/libpoppler-glib.so.6

            sekarang coba running inskcapenya dan trejeng cumi-cumi hitam jalan kembali "WELCOME TO THE PLANET ALIEN"

            Jadi apa pelajaran yang kita dapat kali ini ?
            1. Kita beradaptasi lewat mode preman terminal dengan beberapa perintah, santai aja bukan terminal angkutan umum ini,=))
            2. Kita berjuang untuk mencari tahu letak kesalahan program, tidak untuk di reinstall kecuali itu pilihan terakhir :v ,  dan
            3. Walaupun banyak yang error kita tetap sabar,

            Permission File di Unix/Linux

            Hari ini saya akan sharing ilmu tentang hak akses pada UNIX/Linux. Ini saya buat sebagai pengetahuan dasar kepada user baru di UNIX/Linux. Di dalam UNIX/Linux, hak akses file ini lebih sederhana dibanding Windows, karena disini mengenal dengan namanya tiga jenis hak akses file, yaitu :
            1. Read (r) = Akun yg memiliki akses read ini bisa melihat isi suatu file. misalnya dengan perintah cat
            2. Write (w) = Akun ini memilik akses write, dengan kata lain bisa menulis ulang kembali suatu file ataupun menghapus file itu sendiri. Jadi jangan heran kalau file yang kita buat dengan membuat write kepada tiap group maupun other yg diberikan akses write akan terhapus. Maka berhati-hatilah memberikan hak akses ini.
            3. x(Execute) = Akun ini memiliki akses untuk execute suatu file (File yang dimaksudkan disini adalah program atau script)
            Ok saya sudah mengenalkan tiga jenis hak akses itu seperti apa. Waktunya saya kasih contoh, kebetulan saya punya file dan ingin memperlihatkan hak aksesnya,

            ┌─[mardin@pycode]─[~]
            └──╼ ls -l iseng
            ┌─[mardin@pycode]─[~]
            └──╼ -rwxr--r--   1     mardin            users 70446 Oct 31 09:44 iseng
                        |    |   |                 |                    |
                        |    | Other          |                    |
                        |    |             Users Own      Groups Own
                        |    |__________________________|
                        |                        
                        |________________|



            Saya akan jelaskan tentang file iseng :
            • User Own = Dari file ini adalah kepemilikannya user mardin, sebagai user owner, user mardin mempunyai hak aksesnya tersendiri. Dalam contoh yang saya berikan pada file iseng adalah rwx (read, write dan execute)
            • Group Owner = Dari file iseng ini mardin termasuk group users. Group Owner ini ditentukan sistem secara otomatis berdasarkan primary group dari akun yang membuat file tersebut yang tergabung dengan group user. Sebagai group users, maka jika ada akun yg ikut tergabung dengan group ini maka juga bisa melihat file ini dengan hak akses file r-- (read).
            • Other = Selain dari hak akses User dan Group, pada contoh yang saya berikan ada yang namanya hak akses "Others". Others disini itu adalah semua user yang berada di sistem, kecuali owner, group, dan user root. Dan dalam contoh ini pun sama memiliki hak akses yaitu akses read.
            Bagaimana cara mengubah kepemilikan file ?
            Adakalanya kita membutuhkan untuk mengubah kepemilikan file, jika sang user sudah tidak lagi menggunakan alias menghilang ke muka bumi atau didepak dari group, hehehe.... :p

            Beberapa syntax yang saya gunakan untuk mengubah itu seperti ini contohnya :
            ┌─[root@pycode]─[/home/mardin/iseng/]
            └──╼ ls -l
            ┌─[root@pycode]─[/home/mardin/iseng/]
            └──╼ -rw------- 1 mardin users 70446 Oct 31 09:44 iseng
            ┌─[root@pycode]─[/home/mardin/iseng/]
            └──╼ chown root iseng
            ┌─[root@pycode]─[/home/mardin/iseng/]
            └──╼ chgrp root iseng

            Penjelasan:
            • chown (Change Owner) = ini adalah untuk mengubah hak akses owner, saya ubah tadi itu menjadi root, sehingga user mardin tidak bisa melihatnya,
            • chgrp (Change Group) = ini sama seperti chown hanya saja mengubah group bukan user saja.
            Anda juga bisa mengubah user owner dan group owner secara sekaligus melalui chown, seperti ini contohnya:
            ┌─[root@pycode]─[/home/mardin/iseng/]
            └──╼ chown userownerbaru:groupownerbaru file_atau_direktori

            Dan anda juga bisa mengubah hak akses secara keseluruhan isi dan hirarki directorinya menggunakan parameter -R (recursive) pada chown.

            Mengubah Hak Akses File

            Berikut ini adalah simbol singkatan yang dapat anda pakai untuk mengisi parameter permission yang akan digunakan :
            u = user
            g = group
            o = other
            a = all (user, group, others)
            r = read
            w = write
            x = execute
            - = hilangkan/kurangi
            + = set menjadi/tambahkan

            pada contoh saya akan menghapus hak execute dari user, group dan other. Saya menggunakan parameter "a" untuk all. Lalu menambahkan kembali execute pada other, dan akan kita lihat apa efeknya jika dijalankan perintah iseng.

            ┌─[mardin@pycode]─[~]
            └──╼ ls -l
            -rwxr-xr-x 1 mardin users 70446 Oct 31 09:44 iseng

            ┌─[mardin@pycode]─[~]
            └──╼  chmod a-x iseng

            ┌─[mardin@pycode]─[~]
            └──╼ ./iseng
             bash: ./iseng: Permission denied

            ┌─[mardin@pycode]─[~]
            └──╼ chmod o+x iseng

            ┌─[mardin@pycode]─[~]
            └──╼ ls -l
            -rw-r-xr-- 1 mardin users 70446 Oct 31 09:44 iseng

            ┌─[mardin@pycode]─[~]
            └──╼ su udin
            password:

            ┌─[udin@pycode]─[~]
            └──╼ ./iseng
            Selamat Datang Hacker Jonessss!!! :D
            (Please Enter Untuk Masuk menu Shell exploit)

            Perhatikan parameter yang saya buat yaitu yang pertama "a-x" dan yang kedua "g+x", yang pertama saya buat agar tidak bisa eksekusi program dan alhasil ada laporan denied dengan parameter tanda (-) untuk menghilangkan akses dan "a" untuk all akses. Lalu yang kedua saya menambahkan hak akses untuk others dengan parameter tanda (+) sehingga user udin bisa menjalankan script tersebut.

            adapun menggunakan angka untuk mengatur hak akses dari suatu file, misalnya nih anda menginginkan akses read, write, dan execute(rwx) ke user owner, akses read dan write (rw) untuk group, lalu read (r--) untuk ke akun lain. Sebelum melangkah kesana saya akan memberikan pengertian tentang biner, ada yang tahu tentang bilang biner ? kalau belum tahu saya kasih tahu dah... hehe

            Sistem bilangan biner adalah sistem penulisan angka dengan menggunakan dua simbol yaitu 0 dan 1. Dari sistem biner ini bisa dikonversikan ke bilangan Oktal atau hexadesimal. Dalam penggunaan angka ini, masing-masing komponen rwx menggunakan angka biner: bit 1 untuk menandakan aktif/on dan bit 0 menandakan tidak aktif/off.
            Kebetulan pada rwx ini menggunakan bilangan oktal maka harus dikonversikan dari biner ke oktal. rwx itu ada 3 bit jadi harus konversikan 3 bit itu ke oktal. Ambil tiga digit terbelakang dahulu. seperti ini 010(2) = 2(8).
            Pasti ada pertanyaan kenapa bisa hasil 2 ? karena biner itu berbasis 2. ini contohnya:
            010=(0 x 22) + (1 x 21) + (0 x 2) => 2

            ok langsung kebagian representasi hak akses dalam biner
            rwx     Biner    Oktal
            ---  => 000 => 0
            --x  => 001 => 1
            -w-  => 010 => 2
            -wx  => 011 => 3
            r--  => 100 => 4
            r-x  => 101 => 5
            rw-  =>  110 => 6
            rwx  => 111 => 7

            Seperti yang saya bilang saya akan membuat hak akses untuk owner seperti ini rwx, lalu group rw- , dan terakhir other yaitu r--
            User owner   = rwx =7
            Group owner = rw- = 6
            Other           = r--   = 4

            Ini berarti saya harus membuat seperti rwxrw-r-- adalah dengan menulis bilangan oktal 764 pada perintah chmod, seperti ini:
            ┌─[mardin@pycode]─[~]
            └──╼ ls -l
            -rwxr-xr-x 1 mardin users 70446 Oct 31 09:44 iseng
            ┌─[mardin@pycode]─[~]
            └──╼ chmod 764 iseng
            ┌─[mardin@pycode]─[~]
            └──╼ ls -l
            -rwxrw-r-- 1 mardin users 70446 Oct 31 09:44 iseng

            Nah cukup sekian share ilmu dari saya tentang Permission file pada Unix/Linux, sebenernya saya ingin tulis lagi karena masih panjang bahasannya. hehehe... ^_^


            Mardin

            3 Novermber 2013

            New Kernel Playground

            The default kernel stock has been raised once again in -current branch. The latest stable LTS kernel release (3.14.24) is now being used while config for latest stable kernel (3.17.3) has been included as well for those brave enough or need newer kernel to test new features or need support for newer hardware.

            Firefox 33.1.1 is also included in this batch of update, so if you have issues regarding graphic drivers in Firefox, then perhaps this version can fix your problem.

            November 16, 2014

            Bad News for DigiKam Users

            I may have a bad news for DigiKam users that are using Slackware-Current. DigiKam 4.5.0 has been released and i have pushed the updates to SlackBuilds project. This package works well under Slackware 14.1 stable, but unfortunately this may not work if you are using -current under a certain configuration.

            If you have upgraded to the latest KDE 4.14.3 and KDE framework 5 along with Plasma 5 provided by Eric Hameleers, then you may not be able to use digiKam properly. I have tried many combinations, but still it ended with a segfault or build failure.

            The possible solution is basically to upgrade exiv2 to 0.24 and have libkexiv2 in KDE 4.14.3 recompiled against exiv2 and then you can have a working digiKam.I have discussed it with digiKam maintainer and we believe this is the reason why it failed on my machine.

            If you can build and run it properly without having to upgrade exiv2 and recompile KDE 4.14.3, then i will gladly hear your input on this issue.

            November 15, 2014

            Fix regressions

            There are two regressions found on previous security updates: mariadb and pidgin. MariaDB developers made some changes in one of their headers, my_config.h that caused some problems with other packages that are linked against it.

            I first spotted this problem when trying to compile gdal on SlackBuilds repository. I reported this to the maintainer and soon after, we both found that it's not just gdal that were broken, but many others, namely php, apr-utils, mysql-workbench, etc. I googled a bit and found a patch in other project, so i tried to apply it on my own computer and it worked, so i proposed the patch to Patrick and got accepted.

            Second regression was on pidgin. Upstream developers broke Gadu-Gadu protocol when providing security update. Mancha found a patch to fix the problem and got accepted as well.

            In -current, firefox has been upgraded to 33.1 as well.

            Planet Slackware-ID

            Planet Slackware-ID adalah aggregator dari situs blog para Slacker* Indonesia.
            (*Pengguna Distro Slackware)

            Silakan kirimkan e-mail ke willysr@slackware-id.org apabila blog Anda ingin disertakan pada planet ini.

            Terakhir diupdate: December 21, 2014 09:01 AM GMT.

            Google Groups
            Subscribe to id-slackware
            Email:
            Visit this group

            Subscribe