SAMBA: Dengan Quota

From OnnoWiki
Jump to navigation Jump to search

Sumber: http://malvin-komputer.blogspot.com/2011/02/linux-samba-dengan-quota.html


seperti yang telah saya buat sebelumnya samba pada linux belum dilengkapi dengan quota. oleh karena itu, saya mencoba menjelaskan kembali samba dilengkapi dengan quota.

Pendahuluan

Di sebuah komputer yang digunakan oleh banyak user dan belum diterapkan pemberian Disk Quota, seringkali masing-masing user menyimpan datanya tanpa memperhatikan kapasitas harddisk komputer tersebut. Tentu saja hal ini akan menimbulkan masalah-masalah yang membuat pusing seorang administrator. Untuk mengatasi agar masing-masing user tidak dapat menyimpan data melebihi kapasitas yang diizinkan, maka seorang administrator perlu menerapkan pemberian disk quota pada masing-masing user tersebut. Akan tetapi mungkin saja ada beberapa user yang ingin diberikan disk quota yang lebih besar atau bahkan mungkin diberikan disk quota yang tidak terbatas. Karena itu dengan penerapan disk quota ini dapat diatur pembagian quota masing-masing user sesuai dengan yang dikehendaki.

Banyak pilihan yang dapat digunakan dalam menentukan cara untuk memberikan batas quota yag mungkin dialokasikan untuk seorang user atau group yaitu apakah dengan menentukan ruang disk atau dengan menentukan banyak file yang boleh mereka buat. Anda boleh saja membatasi alokasi ruang disk (block quota) atau berdasarkan jumlah file (inode quota) atau mungkin kombinasi keduanya. Masing-masing pembatasan ini kemudian akan dibagi atas dua kategori, yaitu kategori hard limit dan soft limits.

Hard limit tidak boleh dilewati, namun Setelah seorang user mencapai hard limitnya, dia tidak akan mendapatkan tambahan alokasi baru pada file sistem tersebut. Sebagai contoh jika user tersebut mempunyai hard limit 500 blok dalam sebuah file sistem saat dia telah mengggunakan 490 blok, maka user tersebut hanya tinggal memiliki alokasi 10 blok. Jika dia mencoba untuk mengalokasikan tambahan 11 blok, maka usaha ini akan gagal karena sudah melewati hard limitnya.

Sebaliknya soft limit dapat dilewati tapi hanya selama waktu yang telah ditetapkan. Periode ini dikenal dengan sebutan grace period, yang harga defaultnya adalah seminggu atau tujuh hari. Jika seorang user tetap mempertahankan kelebihan quota di batas soft limit lebih lama dari grace period yang dimilikinya, maka soft limit ini akan berubah menjadi hard limit. Kemudian karena sifat hard limit, dia tidak akan memperoleh tambahan alokasi lagi. Saat user tersebut mengembalikan lagi pemakaian ruang disk di bawah batas quota yang dimilikinya, grace period akan diset ulang.

Kernel merupakan inti dari sistem operasi Linux. Program-program lainnya seperti kompiler, editor, window manager dsb adalah paket distribusi yang disertakan melengkapi sistem Linux. Kernel berisi program yang dimuat saat boot dan berfungsi sebagai interface antara software dan hardware. Kernel juga bertugas menangani permintaan membaca atau menulis peralatan disk, melakukan tugas-tugas network, proses input/output, manajemen memori, dsb. Kita harus mengkonfigurasikan kernel dan mengkompilenya agar benar-benar efisien dan sesuai dengan sistem Linux kita. Pada dasarnya linux adalah kernel. Program-program lainnya seperti kompiler, editor, window manager dsb yang disertakan adalah paket distribusi yang melengkapi kernel menjadi sebuah sistem yang operasi yang lengkap. Informasi mengenai perkembangan kernel khususnya yang terbaru bisa dilihat di homepage http://www.kernel.org atau http://www.linuxtoday.org.

Konfigurasi Quota

Sebelum mencoba untuk menggunakan disk quota perlu diingat bahwa quota harus sudah dikonfigurasi di kernel anda dan sistem anda sudah terinstall paket quota. Pada Linux Suse 10.3 paket quota bisa diinstall dengan rpm jika saat instalasi sistem, paket quota tidak dipilih. Setelah itu konfigurasi ulang kernel anda dan pada bagian quota support ketikkan y :

Quota support (CONFIG_QUOTA) [n] y

Pada Linux Suse 10.3, jika quota sudah diinstall maka secara otomatis saat booting sistem akan mengaktifkan quota. Untuk mengecek apakah quota sudah aktif lakukan perintah berikut :

# /etc/init.d/quota reload

Kemudian hidupkan quota :

# /etc/init.d/quota start

Setelah itu anda harus menyunting file /etc/fstab untuk mengaktifkan disk quota per baris file sistem, dimana anda dapat mengaktifkan quota untuk masing-masing user atau group atau keduanya untuk semua file sistem yang ada di Linux. Sebelum quota diaktifkan tampilan file /etc/fstab adalah sbb:

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /home ext2 defaults 1 1

Untuk mengaktifkan quota user, tambahkan “usrquota” pada kolom keempat setelah “defaults” menjadi :

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /home ext2 defaults,usrquota 1 1

Cara untuk mengaktifkan quota group hampir sama, yaitu hanya dengan mengganti options usrquota menjadi grpquota. Sedangkan untuk mengaktifkan keduanya, dapat dilakukan dengan mengubah options seperti berikut :

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /home ext2 defaults,usrquota,grpquota 1 1

editing the /etc/fstab file isn’t enough, Linux needs to reread the file to get its instructions for /home. You can do this using the mount command with the -o remount qualifier.

# mount -o remount /home

Kemudian perlu dibuat juga file yang berfungsi menyimpan record quota yaitu quota.user dan quota.group. Keduanya harus diset owner sebagai root, dan hanya boleh di read-write oleh root saja. File ini biasa diletakkan di partisi /home.

# cd /home
# touch quota.user
# touch quota.group
# chmod 600 quota.user
# chmod 600 quota.group

Untuk keterangan lebih lanjut tentang fstab, baca manualnya :

# man fstab

Selanjutnya reboot sistem agar quota dapat berjalan. Jika operasi sudah berjalan normal anda tidak perlu lagi menjalankan perintah quotacheck dan quotaon. Anda hanya perlu memastikan bahwa quota benar-benar sudah diaktifkan. Cara yang mudah untuk melakukan ini ialah dengan menjalankan perintah quota -v. Dari keluaran perintah ini dapat anda lihat satu baris informasi tentang pemakaian disk dan batas quota saat itu untuk masing-masing file sistem yang telah diaktifkan quotanya.

Untuk mengalokasikan batas quota digunakan perintah edquota. Perintah dapat digunakan baik untuk mengatur quota seorang user maupun quota sebuah group. Apabila perintah edquota digunakan untuk mengatur quota seorang user maka setelah perintah edquota bisa diikuti dengan flag -u atau bisa juga tidak, baru kemudian diikuti namauser yang akan diatur quotanya. Jika peintah edquota tidak diikuti flag, maka secara default perintah edquota tersebut dianggap akan mengatur quota seorang user alias menggunakan flag -u. Karena itu, jika perintah edquota ini akan digunakan untuk mengatur quota sebuah group, maka setelah perintah ini harus diikuti flag -g baru kemudian diikuti nama group yang akan diatur quotanya. Selain itu perintha edquota ini juga dapat digunakan untuk mengatur quota dua atau lebih user atau group sekaligus. Sintaksnya :

# edquota …dst

ex :

#edquota -u qadar

dan untuk mengatur dua atau lebih group digunakan :

# edquota -g …dst

Ketika perintah edquota diminta, secara otomatis sistem akan menggunakan fasilitas teks editor vi untuk menyunting batas-batas quota yang dikehendaki. Penggunaan perintah edquota dapat dilihat pada contoh berikut :

Untuk edit quota user

# edquota –u qadar
Quotas for user qadar:
/dev/hda2: blocks in use: 2594, limits (soft = 5000, hard = 6500)
inodes in use: 356, limits (soft = 1000, hard = 1500)
  • Blocks: The amount of space in 1K blocks the user is currently using.
  • Inodes: The number of files the user is currently using.
  • Soft Limit: The maximum blocks/inodes a quota user may have on a partition. The role of a soft limit changes if grace periods are used. When this occurs, the user is only warned that their soft limit has been exceeded. When the grace period expires, the user is barred from using additional disk space or files. When set to zero, limits are disabled.
  • Hard Limit: The maximum blocks/inodes a quota user may have on a partition when a grace period is set. Users may exceed a soft limit, but they can never exceed their hard limit.

“blocks in use” adalah jumlah total blok (dalam kilobyte) yang telah dipakai oleh user. “inodes in use” adalah jumlah total file yang dimiliki user dalam partisi tersebut.

Untuk edit quota group

# edquota –g asisten
Quotas for group asisten:
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
inodes in use: 1454, limits (soft = 3000, hard = 4000)

Seringkali seorang administrator ingin supaya ia dapat mengatur batas quota pada suatu rentang uid atau user ID, sehingga dia tidak perlu memberikan batas quota masing-masing user satu demi satu yang tentu saja akan memakan waktu dan tenaga. Hal ini dapat dilakukan dengan menggunakan flag -p pada perintah edquota. Hal pertama yang harus dilakukan dalam penduplikasian batas quota untuk sejumlah user ini adalah menentukan batas quota yang akan dijadikan contoh atau prototype pada seorang user saja. Setelah itu proses duplikasi dapat dilakukan. Jika diasumsikan shell anda adalah csh dan user ID dimulai pada nomor 500 maka digunakan perintah :

# edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

Jika anda ingin mengeset sendiri grace periode, dapat dilakukan perintah edquota -t. Maka akan ditampilkan :

# edquota -t
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0 days

Jika anda ingin mengeset grace periode menjadi 5 hari maka anda cukup mengubah angka 0 days menjadi 5 days, disesuaikan dengan block dan filenya.

Keterangan selengkapnya baca di manual :

# man edquota

Setelah disk quota aktif pada system, tentu saja administrator ingin memeriksa batas quota dan kapasitas disk quota yang telah digunakan. Untuk melakukan hal itu, selain dapat menggunakan perintah quota, juga dapat digunakan perintah repquota. Perintah quota hanya dapat digunakan oleh seorang user untuk memeriksa quota user dan group, dan pemakaian kapasitas disk yang dimilikinya. Perintah ini tidak bisa digunakan untuk melihat informasi quota yang dimiliki user lain atau group lain, jika hanya menggunakan account user biasa. Hanya superuser atau yang memiliki account root yang dapat melihat informasi quota y ang dimiliki user lain beserta pemakaiannya. Perintah repquota dapat digunakan untuk mendapatkan ringkasan dari semua informasi quota dan pemakaian disk untuk file system yang telah diaktifkan quotanya. Berbeda dengan perintah edquota, pada perintah repquota ini jika anda tidak menambahkan flag apapun, secara otomatis yang akan ditampilkan adalah quota untuk masing-masing user dan quota untuk masing-masing group (jika keduanya ada). Jadi misalkan ingin melihat alokasi quota tiap user di file system /home digunakan perintah :

# repquota –u /home

misalnya tipe user di file sistem /home ini telah diatur, akan muncul tampilan :

Block limits File limits
User used soft hard grace used soft hard grace
root -- 175419 0 0 14679 0 0
bin -- 18000 0 0 735 0 0
uucp -- 729 0 0 23 0 0
man -- 57 0 0 10 0 0
qadar -- 13046 15360 19200 806 1500 2250
jaw -- 2838 5120 6400 377 1000 1500

Penggunaan perintah quota -v oleh seorang user dapat dilakukan untuk melihat batas quota yang dimilkinya di file system tertentu. Sebagai contoh di bawah ini user qadar akan melihat batas quota yang dimilikinya :

# quota –v
Disk quotas for user adjie (uid 501) :
Filesystem blocks quota limit grace files quota limit grace
/home 525* 500 550 5days 17 0 0
/usr 0 500 550 0 0 0

Pada file system /home dari contoh di atas dapat dilihat bahwa user tersebut telah lewat 25 blok dari batas quota yang diizinkan dan mempunyai sisa perpanjangan waktu 5 hari lagi. Tanda asterisk (*) menunjukkan bahwa user tersebut saat ini telah melewati batas quota yang dimilikinya. File system yang tidak digunakan sama sekali oleh user biasanya tidak akan ditampilkan dalam keluaran peintah quota, meskipun user tersebut mempunyai jatah quota pada file system tersebut. Jadi pada contoh di atas (user qadar selain punya quota di /home juga ada di /usr). Jika perintah quota digunakan tanpa flag apapun, maka quota user qadar di /usr tidak akan ditampilkan karena dia sama sekali belum menggunakan jatah quotanya di file system tersebut. Tapi karena perintah edquota menggunakan flag –v maka semua informasi tentang quota yang dimilikinya akan ditampilkan.


Referensi

Pranala Menarik