Senin, 28 September 2015

Daemon

haloo teman teman pada kesempatan kali ini saya akan berbagi sedikit tentang daemon

Daemon adalah sebuah proses yang bekerja pada background karena proses ini tidak memiliki terminal pengontrol. Daemon adalah sebuah proses yang didesain supaya proses tersebut tidak mendapatkan intervensi dari user. Daemon biasanya bekerja dalam jangka waktu yang sangat lama dan bertugas menerima request dan menjalankan responsnya. daemon berjalan dalam previlege super user.
berikut ini adalah langkah langkah untuk membuat daemon dengan bahasa c.

1. memasukkan library library berikut


#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <syslog.h>
#include <string.h>


library2 itu diperlukan untuk membuat sebuah daemon.

2. membuat sebuah proses menjadi proses induk dan anak kemudian kita membunuh proses induknya.

pid_t pid,sid;
pid=fork();
if(pid < 0)
{
exit(EXIT_FAILURE);
}
if(pid > 0)
{
exit(EXIT_SUCCESS);


Dari langkah tersebut kita akan mendaptkan sebuah proses anak yang melanjutkan program setelah induknya mati, sehingga kita mendapatkan sebuah proses yang hampir bekerja pada backround.

3. membuat proses tersebut bekerja secara independen

sid = setsid();
if(sid < 0)
{
exit(EXIT_FAILURE);

}

Langkah ini dilakukan dengan memanggil fungsi setsid(), sehingga proses akan mendapatkan sebuah session ID yang baru.

4. Menutup standar I/O deskriptor yang diwarisi

close(STDIN_FILENO);
close(STDOUT_FILENO);

close(STDERR_FILENO);

Untuk mencegah terjadinya intervensi dari user serta untuk pengamanan, maka standar I/O descriptor dan descriptor yang diwarisi dari proses induk harus ditutup. Ada 3 jenis standar I/O descriptor : STDIN (standar input), STDOUT (standar output), STDERR (standar error).

5. melakukan masking pada file creation
umask(0);
Daemon biasanya memproteksi setiap file yang dibuat, dengan alasan keamanan. Fungsi umask() akan mencegah file-file previleges yang tidak aman dalam setiap pembuatan file.

6. mengganti direktori
if((chdir"\")<0)
{
exit(EXIT_FAILURE);

}  

Program daemon tentunya harus memiliki sebuah direktori aktif dan selalu ada sehingga dapat bekerja. Fungsi chdir() digunakan di mana ketika return -1 berarti gagal.

7. membuat inti daemon
while(1)
{
//suatu kode untuk dieksekusi

}  

Di dalam while tersebut akan berisi kode-kode untuk dieksekusi. Bisa dikatakan bahwa program utama daemon terletak setelah while tersebut. 
berikut adalah contoh dari sebuah daemon yg telah saya buat


Daemon tersebut akan mengeluarkan kata halo tiap 2 detik apabila dijalankan. 

sekarang kalian sudah paham tentang membuat daemon pasti bingung "apa sih gunanya daemon itu?"
seperti yg sudah dijelaskan di atas daemon adalah sebuah program yg dibuat dengan membunuh parent proses dan hanya meninggalkan child prosess agar proses tersebut sulit untuk dilacak. seperti virus.

Jumat, 25 September 2015

BASH SCRIPT

halo temen temen jumpa lagi dengan saya Faiq Firdausy. pada kesempatan saya kali ini saya akan berbagi pengalaman tentang bash scripting.

1. apa itu bash script?
Bash adalah singkatan dari Bourne Again SHell, versi baru dari Bourne Shell yang dikembangkan oleh Steve Bourne. Bash ini adalah shell yang paling umum digunakan pengguna Linux. Shell adalah program yang menjadi jembatan antara perintah yang dimasukkan user melalui input dari keyboard dengan sistem operasi untuk melakukan perintah yang dimasukkan user tersebut. Sekarang ini, program seperti shell ini sudah tergantikan oleh user interface yang lebih mudah digunakan.
Pemrograman bash shell itu sendiri adalah pemrograman kumpulan perintah menggunakan script yang ditulis ke dalam bash shell, sehingga nantinya dapat dieksekusi oleh sistem operasi. Selain bash shell, ada banyak shell lainnya yang bisa digunakan untuk programming, namun penggunaan bash lebih fleksibel karena script yang ditulis lebih kompatibel untuk dibaca dari mesin yang berbeda, distro linux yang berbeda , atau bahkan sistem operasi yang berbeda. Pemrograman menggunakan shell terutama bash shell berkembang terus sampai sekarang karena penggunaannya di kalangan system administrator sangat dibutuhkan.

2. bagaimana cara menggunakannya?
pertama tama sebelum mempelajari pemrograman Bash shell di linux sebaiknya temen temen sudah tahu tentang file system hyrarki dari bash dan perintah - perintah dasar shell  seperti cd, pwd, rm,mv dan sebagainya. dibawah ini adalah contoh perintah dasar bash shel linux
1   ls List information about file(s)
2   pwd Print Working Directory
3   mkdir Create new folder(s)
4   chmod Change the access permissions of files and directories
5   chown Change the user and group ownership of files6 chroot Change root directory
7   sudo Substitute user identity
8   grep Search file(s) for lines that match a given pattern
9   ps Process status
10 halt Stop and restart the operating system
11 cd Change Directory - change the current working Folder.
12 rm Remove files
13 mv Move or rename files or directories
14 date Display or change the date & time
15 free Display memory usage
16 whoami Print the current user id and name
17 which Locate a program file in the user's path


kemudian dibawah ini adalah  file sistem hirarki standard dari linux
1 /bin
All the executable binary programs (file) required during booting,
repairing, files required to run into single-user-mode, and other
important, basic commands viz., cat, du, df, tar, rpm, wc, history,
etc.

2 /boot 
Holds important files during boot-up process, including Linux
Kernel.
3 /dev 

Contains device files for all the hardware devices on the machine
e.g., cdrom, cpu, etc.
4 /etc 

Contains Application’s configuration files, startup, shutdown, start,
stop script for every individual program.
5 /lib

The Lib directory contains kernel modules and shared library images
required to boot the system and run commands in root file system.
6 /lost+found 

This Directory is installed during installation of Linux, useful for
recovering files which may be broken due to unexpected
shutdown.

7 /media 
Temporary mount directory is created for removable devices viz.,
media/cdrom.
8 /mnt 

Temporary mount directory for mounting file system.
9 /opt 

Optional is abbreviated as opt. Contains third party application
software. Viz., Java, etc.
10 /proc 

A virtual and pseudo file-system which contains information about
running process with a particular Process-id aka pid.
11 /root 

This is the home directory of root user and should never be
confused with ‘/‘.
12 /home

Home directory of the users. Every time a new user is created, a
directory in the name of user is created within home directory
which contains other directories like Desktop, Downloads,
Documents, etc.

13  /run
This directory is the only clean solution for early-runtime-dir
problem.


dan masih banyak lagi bisa kalian cari sendiri di google haha.
sekarang yuk kita ngoding bash script 
Sama halnya dengan pemrograman lainnya, Bash Shell programming juga dapat melakukan fungsi-fungsi seperti baca input, tulis output, looping, condition statement, dan sebagainya. Berikut adalah langkah-langkah untuk membuat script bash programming

1. Masuk ke terminal

2. Buat script dengan format (text editor) "namafile" .sh contoh

pada gambar diatas saya menggunakan nano text editor dengan nama file "belajar".sh
3. dan sekarang saya telah masuk ke dalam nano text editor

4. Seperti bahasa pemrograman lainnya gak afdol kalo kita belum bikin program hello world hahaha

5.untuk belajar sintax looping dan branch if silahkan temen temen pelajari sendiri dari kodingan bilangan prima saya ini


cukup sekian temen temen yg bisa saya bagikan minggu ini tunggu kelanjutannya minggu depan