Sabtu, 02 Februari 2008

Administrasi Dasar FreeBSD


Minggu, 25 Desember 05 - oleh : ropix

Setelah selesai proses instalasi, tahap berikutnya adalah bagaimana kita
memanajemen FreeBSD tersebut. Karena sebelum menginstal kita tentunya
sudah memiliki tujuan menginstall-nya. Sebelum melakukan tujuan utama,
berikut dasar administrasi sistem FreeBSD :

SYSTEM
KOMPILASI KERNEL
Cara Baru
#cd /usr/src
#make buildkernel KERNCONF=KERNELMU && make installkernel KERNCONF=KERNELMU
#reboot
Anda bisa langsung mendefinisikan kernel anda pada
/etc/make.conf..tambahkan :
KERNCONF=KERNELMUDISINI

CATATAN : NOTE*** If you are running your system with a secure_level set,
then the install operations will be forbidden. You have to set
'kern_securelevel="-1"' in /etc/rc.conf and reboot. Once the install is
complete, you can reset it to the original level.

Cara Lama
#pwd
#/usr/local/src/sys/i386/conf/
#make config KERNELMU
#cd ../../compile/KERNELMU
#make clean <----catatan 1
#make depend
#make
#make install
#reboot

Catatan 1 = Lakukan "make clean" pada setiap kernel yang tergantung pada
Makefile. There are times when the build should be cleaned up and you can
either do a "make clean" or use the "config -r" to clean the obj space up.
Doing it every time may make your kernel build run twice as long or more
and wasn't really necessary.

Cara Membuat File LINT pada FreeBSD 5.x
#cd /usr/src/sys/i386/conf
#make LINT

INSTALL CVSUP
cd /usr/ports/net/cvsup
make && make install

UPDATE DB
/usr/local/bin/cvsup -g -L 2 ports-supfile
portsdb -Uu

INSTALASI PAKET FREEBSD
Ada 4 cara :

1. Tarball/Source (file .tar.gz)
2. pkg_add (file .tgz)
3. /stand/sysinstall
4. ports collection (/usr/ports). Dengan perintah umum "make && make
install && make clean"

Terlalu banyak ports collections akan membingunkan kita. Berikut tips
mencari paket untuk memirror suatu website:

* Mencari tool untuk memirror website (contoh) #cd /usr/ports && make
search key=mirror

hasil =
Port: w3mir-1.0.10
Info: All-purpose HTTP copying and mirroring tool
Maint: ache@freebsd.org
Index: www perl5
B-deps: p5-Digest-MD5-2.14 p5-HTML-Parser-3.25 p5-HTML-Tagset-3.03
p5-MD5-2.02 p
5-MIME-Base64-2.12 p5-Net-1.0703 p5-URI-1.15 p5-libwww-5.53 R-deps:

Port: webcopy-0.98b7
Path: /usr/ports/www/webcopy
Info: A Web Mirroring Program
Maint: ports@FreeBSD.org
Index: www
B-deps:
R-deps:


Contoh 2:
2. saya akan mencari tools kalkulator netmasking
#cd /usr/ports/ && make search key=calculator
Port: cidr-2.3
Path: /usr/ports/net/cidr
Info: RFC 1878 subnet calculator / helper
Maint: midom@dammit.lt
Index: net
B-deps:
R-deps:

Port: ipcalc-0.34
Path: /usr/ports/net/ipcalc
Info: IP Calculator
Maint: petef@databits.net
Index: net
B-deps:
R-deps:

Port: ipsc-0.4.2
Path: /usr/ports/sysutils/ipsc
Info: An IP Subnet Calculator
Maint: jeremy@external.org
Index: sysutils gnome
B-deps: prips-0.9.4
R-deps:

Memberi Warna Terminal
1. Cari warna di ports
bash$>cd /usr/ports/misc/colorls
bash$>make install

2. Hampir selesai. Untuk Versi 4.x keatas pada direktori /home rubah alias
untuk ls
#alias ls ls -G -f

Cara Kedua
- install /usr/ports/misc/gnuls
- letakan alias ls="gnuls --color=always" in ~/.profile or ~/.cshrc
- Rubah seting warna dengan man dircolors dan dircolors.....hehehehe..baca
ndiri

Kembali Ke Kernel Lama
1. Restart komputer
[home]chris# shutdown -r now

2. Pada Hitungan Mundur..(9 sampai 0) hentikan dengan menekan sembarang
tombol,kecuali tombol enter.
( Tekan tombol spasi)

3. setelah itu.. unload kernel
ok?unload

4. setelah itu load kernel yang akan di pakai, ( misal kernel.old)
ok load kernel.old

5. setelah itu boot komputer kita
ok boot

6. Kernel yang jalan adalah kernel yang lama.


DESKTOP
Untuk layanan Aplikasi Desktop yang lengkap, gunakan ports otomatis akan
menginstal software berguna:
teot#cd /usr/ports/misc/instant-workstation
teot#make

KDE secara otomatis pada saat boot, :
echo 'ttyv9 "/usr/local/bin/kdm" xterm on secure' >> /etc/ttys,
Atau gunakan KDE dengan startx:
echo exec startkde > ~/.xinitrc
Penamaan Interface di FreeBSD
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557,
82558)
device my # Myson Fast Ethernet (MTD80X, MTD89X)
device pcn # AMD Am79C97x PCI 10/100 NICs
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS
900/SiS 7016
device ste # Sundance ST201 (D-Link DFE-550TX)
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c17x ``EPIC'')
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'',
``Cyclone'')

Membuat IP Aliases di FreeBSD
ifconfig ed1 alias 192.168.0.200 netmask 255.255.255.255 up
ifconfig ed1 alias 192.168.0.201 netmask 255.255.255.255 up

QUOTA FILESYSTEM
Quota filesystem berguna untuk melindungi server dari serangan DOS(Denial
of Service Attack) yang salah satunya yaitu dengan berusaha memenuhi space
dari hardisk di server, untuk menghindari hal ini perlu diperhatikan
pembuatan partisi pada saat instalasi pertama, Contoh pembagian partisi
yang baik untuk HD 3.2 GB:

* /boot 5MB Partisi untuk kernel image.
* /usr 512MB Partisi untuk menyimpan file binary-binary dari system.
* /home 1146MB Partisi untuk user, besar partisi disesuaikan dengan
jumlah user. 1 user = 10 MB, 114 user = 1140 MB)
* /chroot 256MB Partisi untuk installasi program di chroot environment
contohnya: DNS. Chroot environment berguna agar apabila intruders
dapat memasuki system melalui service tertentu misalnya DNS, maka
intruders tidak dapat berbuat banyak bagi system keseluruhan karena
intruders hanya mendapat shell (baca: command prompt) di chroot
environment dan bukan di system sebenarnya.
* /cache 256MB Cache untuk proxy server(squid).
* /var 256MB Mengandung file-file log dari system dan service-service.
128MB Swap memory.
* /tmp 256MB Temporary file dari system.
* / 256MB root dari filesystem.


Dengan quota kita membatasi tiap user hanya dapat memakai quota sebesar 10
MB di partisi /home. quota , berguna untuk menampilan space yang digunakan
oleh user dan limit space yang boleh digunakan oleh user di partisi
hardisk di server dimana partisi tersebut telah didefinisikan mempunyai
quota (lihat quotaon di keterangan dibawah).
Contoh :
# quota
Disk quotas for user lfs (uid 2040):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda5 4060 0 50000 563 0 12000

edquota , edit quota yang dipunyai user. Perintah ini harus dijalankan
oleh user yang mempunyai root access, file quota yang diedit:
aquota.user dan aquota.group untuk versi 2
quota.user dan quota.group untuk versi 1
untuk meng-set quota dengan edquota memerlukan akses root.

Contoh :
# man su
# su - root
# edquota -u lfs
Disk quotas for user lfs (uid 2040):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 4056 0 50000 562 0 12000
/dev/hdb1 0 0 0 0 0 0
/dev/hdb2 0 0 0 0 0 0

repquota , menampilkan quota yang dipunyai seluruh user yang ada di suatu
server, dan penggunaan space yang ada baik di suatu partisi ataupun di
seluruh partisi yang didefinisikan di /etc/mtab yang mempunyai quota.
Contoh :
# repquota /dev/hdb1
*** Report for user quotas on device /dev/hdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
------
root -- 1013952 0 0 830 0 0
nobody -- 4 0 0 1 0 0

quotaon dan quotaoff, berguna untuk sistim quota bekerja dan berhenti di
suatu filesystem, yang telah didefinisikan pada /etc/fstab dengan mount
options usrquota dan grpquota.
Contoh :
# man grep
# grep home /etc/fstab
LABEL=/home /home ext3 exec,dev,rw,usrquota,grpquota 1 2
# quotaon

quotacheck , berguna untuk mengecek keadaan dari quota dari filesystem dan
menampilkan hasilnya, memperbaiki file quota yang rusak, membuat file
quota pertama kali(quota.user, quota.group -> versi 1 dan aquota.user
aquota.group -> versi 2)
Contoh :
# quotacheck -u -g -c -a ---> untuk create quota file dan membuat quota
secara default di filesystem yang telah didefinisikan mempunyai quota di
/etc/mtab.

Untuk server FreeBSD diperlukan untuk create file quota.user dan
quota.group terlebih dahulu :

# cd /home ; touch quota.user quota.group change dir ke /home, partisi
yang mau kita set quota dan membuat file quota di dir /home

# chmod 400 quota.user quota.group change permissions file(lihat
keterangan chmod)

# quotacheck -u -g /home check quota berdasar user dan group yang ada di
/etc/passwd dan /etc/group

MENJALANKAN DAEMON
Pada Server FreeBSD script untuk menjalankan daemon ada pada directory :

# cd /usr/local/etc/rc.d
# ls -la

total 34
drwxr-xr-x 2 root wheel 512 Apr 28 14:21 .
drwxr-xr-x 14 root wheel 1536 Apr 28 13:39 ..
-r-xr-xr-- 1 root pgsql 769 Apr 28 13:29 010pgsql.sh
-rwxr-x--x 1 root wheel 437 Apr 26 10:17 apache.sh....dan lain lain.

Di directory ini akan diload setiap kalo server FreeBSD reboot, untuk
menjalankan secara manual :
# /usr/local/etc/rc.d/proftpd.sh start

Server FreeBSD menggunakan /etc/rc.conf untuk pengaturan daemon-daemon
yang diexecute pada waktu server boot.
Log dari daemon biasanya terletak di /var/log, di directory /var/log/ kita
dapat menemukan banyak informasi tentang system, termasuk : dmesg, xferlog
(untuk ftp), maillog (untuk mail server), httpd/access.log (untuk web
server), message.
ADMINISTRASI USER
adduser , berguna untuk create user baru, dan update informasi bagi user
baru.
Contoh :
# adduser newuser
Untuk create user baru dengan setting default, yaitu home dir di /home,
dan group sama dengan nama user yang akan di add dan mempunyai bash shell.
# adduser newuser -g students
Untuk create user dengan group students.

userdel , berguna untuk user account dan file yang bersangkutan dengan
user tersebut.
Contoh :
# userdel newuser
Menghapus account di /etc/passwd dan /etc/shadow
# userdel -r newuser
Menghapus account di /etc/passwd dan /etc/shadow beserta semua file di
/home/newuser

usermod, berguna mengubah properties dari user yang sudah ada, berfungsi
hanya di RedHat Linux.
Contoh :
# usermod -g wheel ichtus
Untuk mengubah initial group dari user ichtus ke group wheel.
# usermod -d /usr/home ichtus
Untuk mengubah home dir dari user ichtus ke home dir yang baru.

passwd, berguna untuk mengupdate informasi password dari user.
Contoh :
# passwd newuser
Untuk mengubah password current user.
Changing password for newuser
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully
# su -
# passwd -l newuser
Lock password dari user dengan menambah char ! di /etc/shadow.
# passwd -r newuser
Kebalikan dari parameter -l, unlock password dari user.

groupadd , berguna untuk mebuat group baru. Group akan sangat berguna
dalam administrasi user berserta dengan permission yang diperbolehkan oleh
user tertentu, sehingga dengan group kita dapat mengelompokkan user untuk
permission tertentu dan quota pula.
Contoh :
# groupadd students

groupdel , berfungsi untuk menghapus group.
Contoh :
# groupdel ichtus Untuk menghapus group ichtus.

ADMINISTRASI XINETD PADA REDHAT LINUX,
inetd adalah menangani beberapa server secara bersama misalnya: wu-ftpd,
imap, pop3 telnet, dll. xinetd adalah hanya satu proses daemon, pada saat
ada request untuk service tertentu, xinetd akan menyediakan service
tersebut yang ditanganinya oleh karena itu xinetd dan inetd disebut juga
super-server.
# ls /etc/inetd.d
chargen daytime-udp echo-udp.rpmnew imap klogin pop3s rexec talk
chargen-udp daytime-udp.rpmnew eklogin imaps krb5-telnet pop3se rlogin
telnet chargen-udp.rpmnew echo finger ipop2 kshell pop3st rsh time daytime
echo-udp gssftp ipop3 ntalk proftpd rsync time-udp

Untuk mengubah setting service apa saja yang ditangani oleh xinetd,
# vi /etc/inetd.d/ntalk

### File ntalk ### #
description: The ntalk server accepts ntalk connections, for chatting \
# with users on different systems.
service ntalk
{
disable = yes
socket_type = dgram
wait = yes
user = nobody
group = tty
server = /usr/sbin/in.ntalkd }
### End of File ###

kemudian ubah entry disable menjadi disable = no, service xinetd harus
di-restart setelah perubahan setting :
# kill -s HUP inetd_pid Untuk FreeBSD ( setting inetd ada di /etc/inetd.conf)

CARA MENCARI HELP

man, berguna untuk mencari informasi akan kegunaan suatu command berserta
dengan cara penggunaanya. Contoh :
# man top

apropos , berguna untuk mencari keyword dari whatis database, seringkali
digunakan apabila kita hanya tahu keyword dari kegunaan suatu command
tetapi lupa akan nama command tersebut.
Contoh :
# apropos user mencari command-command yang mempunyai keyword user untuk
penjelasannya.

info, berguna untuk membaca info dokumen
Contoh :
# info date
/usr/share/doc/name_of_service/, di directory ini terdapat dokumentasi
dari developer dari pembuat software dari service.
http://www.tldp.org, TheLinux Dokomentasi Project


ARCHIVING FILES
tar, berguna untuk archiving tar yang sangat banyak sekali digunakan di
kalangan Linux, tujuan pertama dibuatnya tar adalah supaya file dengan
jumlah yang banyak dapat digabungkan menjadi satu untuk memudahkan backup
file. Contoh :
# tar xfv kernel-2.4.18.tar
Extract kernel-2.4.18.tar ke current directory.
# tar xfvz kernel-2.4.18.tar.gz
Extract kernel-2.4.18.tar.gz ke current directory dengan tanpa sebelumnya
extraxt dengan gunzip(lihat keterangan gunzip).
# tar cfv filename_archive.tar directory_atau_filename
Untuk membuat tar archive dari directory atau filename menjadi
filename_archive.tar

gzip, gunzip , berguna untuk compress dan uncompress file.
Contoh :
# gzip kernel-2.4.18.tar
Compress file kernel-2.4.18.tar menjadi kernel-2.4.18.tar.gz
# gunzip kernel-2.4.18.tar.gz
Uncompress file kernel-2.4.18.tar.gz menjadi kernel-2.4.18.tar

bzip2, berguna compressing dan decompressing file dengan menggunakan
alogoritma Burrows-Wheeler block sorting text compression algorithm.
Contoh :
# bzip2 -z nama_file Compressing file.
# bzip2 -d kernel-2.4.18.bzip2
Decompressing file kernel-2.4.18.bzip2

zip, unzip , Compressing utility untuk berbagai OS seperti UNIX, BSD,
Linux, VMS, OS/2, Atari, Macintosh, Amiga, dan Acorn RISC OS
Contoh :
# zip filename_archive.zip filename Compress filename.
# unzip filename_archive.zip Uncompress filename_archive.zip

ref:email dari mas chris

Tidak ada komentar: