Matematika dan Komputer : Selamat datang di Blog Pendidikan Matematika dan Komputer

02 November 2010

Linux File Permissions

Beberapa waktu yang lalu sekolah tempat saya bekerja mendapat bantuan Server Konten Pembelajaran. Sudah terinstal semua konten pembelajaran dari materi SD sampai SMA. Saya berkeinginan untuk menghapus konten untuk SD dan SMP sehingga tinggal materi SMA saja yang ada dalam server kemudian menambahkan beberapa konten yang sudah dimiliki oleh sekolah kami sendiri. Tapi karena OS nya menggunakan Linux, harus mengubah file permissionsnya. Akhirnya saya langsung bertanya sama "mbahe". Dari beberapa jawaban yang diberikan "mbahe", saya pilih salah satu yang mudah saya pahami. Jawaban itu dari http://www.edison.web.id, seperti dibawah ini

Pada sistem operasi Linux, setiap user akan memiliki User ID (UID) dan Group ID (GID). UID dan GID ini akan digunakan untuk mengetahui hak apa saja yang dimiliki oleh satu user terhadap File tertentu. Pada sistem operasi Linux, File juga memiliki UID dan GUI sendiri. Secara default, UID dan GUID sebuah File akan sama dengan UID dan GID user yang membuat File tersebut. Selanjutnya, UID dan GID itu akan dapat diganti sesuai keinginan. Berdasar UID dan GID maka hak akses (permissions) sebuah File dapat dibagi menjadi 3 kategori, yaitu: Owner Permissions, Group Permissions dan World Permissions.

Owner Permissions,
User yang memiliki UID yang sama dengan UID File akan memiliki hak atas File tersebut. Permisi seperti ini biasa disebut dengan Owner Permissions atau user permissions.

Group Permissions,
User yang memiliki GID yang sama dengan GID File akan memiliki hak atas File tersebut.

World Permissions,
User yang walaupun tidak memiliki UID atau GID yang sama dengan File, akan tetapi memiliki hak akan File tersebut yaitu World Permissions atau sering juga Other Permissions.

Kemungkinan hak yang dimiliki oleh Owner, Group dan World permissions adalah Read Permissions, Write Permissions dan Execute Permissions.
Read Permission: Isi sebuah File bisa dibaca
Write Permission: Isi sebuah File bisa dibaca atau diubah
Execute Permission: Program yang ada pada File dapat dijalankan (Eksekusi).

Untuk melihat owenership dan permission sebuah File dapat digunakan perintah ls -l. Misal untuk melihat ownership dan permissions File pada Folder /samba/publicdata/java, kita dapat tuliskan di jendela terminal

#ls -l /samba/publicdata/java
total 11684
drwxrwxrwx 2 edison edison 4096 2008-03-13 14:26 flashPlayer
drwxrwxrwx 6 edison edison 4096 2008-03-13 14:16 foo2zjs
-rw-r–r– 1 root root 142 2008-03-14 15:05 nfs.txt
-rw-rw-rw- 1 edison edison 19191 2008-03-11 14:37 nis.odt

Output perintah diatas, dapat dijelaskan sebagai berikut:
Kolom paling kiri output diatas sebanyak 10 karakter adalah permissions File yang ada di dalam Folder java. Karakter pertama (karakter paling kiri) akan menunjukkan apakah isi Folder java sebuah directory (d), sebuah link (l) atau sebuah file (-). Pada output diatas, output baris pertama dan baris kedua adalah sebuah directory (d), sedang output ketiga dan keempat adalah file(-).

Sembilan karakter berikutnya terbagi atas tiga kelompok dengan masing - masing 3 karakter. Perhatikan file permission untuk File nfs.txt atau output baris ketiga perintah diatas (permission untuk file nfs.txt) adalah seperti berikut: -rw-r–r–. Karakter pertama (-) menunjukkan bahwa nfs.txt adalah sebuah File. 3 Karakter kelompok pertama (rw-) adalah permission untuk owner, 3 karakter kelompok kedua (r–) adalah permission yang dimiliki oleh Group dan 3 karakter kelompok ketiga (r–) adalah permission untuk World. Jadi dari output diatas dapat dijelaskan sebagai berikut: nfs.txt adalah sebuah file dimana owner file tersebut dapat melakukan read/write, sedang group dan user yang lain hanya dapat melakukan read.

Permissions adalah kombinasi 3 angka biner, read (r) memiliki angka biner 100(4), write (w) memiliki angka biner 010 (2) dan execute(x) memiliki angka biner 001(1). Pada File nfs.txt diatas, Owner memiliki permission rw- atau sama dengan 6 (4+2) sedang Group dan User lainnya memiliki permission r– atau sama dengan 4, jadi secara keseluruhan, permisson pada file nfs.txt adalah 644.

Mengganti File Permission

Dengan mengetahui kombinasi angka permission seperti yang dijelaskan diatas, kita akan mudah untuk mengatur permission untuk sebuah file yaitu dengan menggunakan perintah chmod (Change Mode). Pada contoh berikut ini, kita akan mengganti permission untuk File nfs.txt, tetapi sebelumnya akan melihat permission saat ini yang dimiliki oleh File nfs.txt, pada jendela terminal tuliskan perintah berikut ini:

#ls -l /samba/publicdata/java/nfs.txt
-rw-r–r– 1 root root 142 2008-03-14 15:05

Dari output perintah diatas, kita dapat tahu bahwa permission untuk File nfs.txt adalah 644(rw-r–r–). Sekarang, jika kita akan memberikan permission rw untuk group dan user lainnya kita harus mengganti permission File nfs.txt menjadi 666 (rw-rw-rw-). Untuk itu, pada jendela terminal tuliskan perintah berikut:

# chmod 666 /samba/publicdata/nfs.txt

Dengan perintah chmod 666 diatas, maka owner, group dan user lainnya akan memiliki read/write permission terhadap File nfs.txt. Sekarang ulangi perintah berikut:

#ls -l /samba/publicdata/java/nfs.txt
-rw-rw-rw- 1 root root 142 2008-03-14 15:05

Seperti dijelaskan sebelumnya, maka File nfs.txt permission sudah menjadi rw-rw-rw-.

Mengganti Group
Pada penjelasan diatas disebutkan bahwa secara default File akan memiliki UID dan GID sesuai UID dan GID user yang membuat File tersebut. Pada File nfs.txt diatas, kita juga dapat mengetahui bahwa owner File adalah root dan Group yang memiliki hak atas tersebut adalah root juga. Sekarang, kita akan coba mengganti Group yang memiliki hak untuk File nfs.txt dari root menjadi itstaffs. Untuk memastikan bahwa group itstaffs sudah ada, gunakan perintah berikut:

# cat /etc/group

Bila ternyata belum ada gunakan perintah berikut untuk membuat Group itstaffs

# groupadd itstaffs

Sekarang ganti group yang memiliki hak dari root menjadi itstaffs dengan perintah:

# chgrp itstaffs /samba/publicdata/java/nfs.txt

Sekarang periksa apakah group yang memiliki hak terhadap File nfs.txt sudah berganti dari root menjadi itstaffs dengan perintah:

# ls -l /samba/publicdata/java/nfs.txt
-rw-rw-rw- 1 root itstaffs 142 2008-03-14 15:05

Artikel Terkait



0 komentar:

Posting Komentar