Nama : Tsani Agustin Aghnia Toibin.S Nim : 14111085
Prodi : Teknik informatika Kelas : 21
Jelaskan tentang kepemilikan file/Directory dalam sistem Linux/unix?
Pada Sistem Operasi Linux semua file memiliki hak aksesnya masing-masing. Hak akses tersebut terdiri atas tiga bagian:
1. r untuk read (membaca) 2. w untuk write (menulis) 3. x untuk execute (menjalankan)
Untuk melakukan check terhadap hak akses suatu file bisa dilakukan dengan menjalankan perintah ls -la pada sebuah shell atau konsol. Berikut salah satu contoh pada saat saya menjalankan perintah ini di dalam folder /home/
#ls-l
drwxrwxrwx 3 root users 4096 1996-02-02 10:59 allusers drwxr-xr-x 14 gagoyiku gagoyiku 4096 1996-02-02 08:36 gagoyiku drwxrwxr-x 2 root users 4096 1996-02-02 08:37 windowshare
Berikut adalah penjelasan kolom-kolom yang saya anggap paling penting untuk diketahui artinya.
1. Kolom pertama pada hasil diatas adalah yang menggambarkan perijinannya, terdiri atas 10 karakter.
Karakter pertama akan menunjukkan apakah objek tersebut adalah sebuah direktori (d), file (-), atau sebuah link ( l ) yang merujuk kepada direktory atau file lainnya
3 karakter selanjutnya akan memperlihatkan ijin untuk membaca, menulis dan menjalankan objek dimaksud, bagi si pemilik objek
3 karakter selanjutnya akan memperlihatkan ijin untuk group pengguna yang mengatur objek
3 karakter selanjutnya akan memperlihatkan ijin untuk pengguna yang lain 2. Kolom ke tiga akan menunjukkan pemilik objek
3. Kolom ke empat akan menunjukkan group pengguna pemilik objek tersebut
4. Kolom terakhir menunjukkan nama dari objek di system
Dari hasil jalannya perintah sebelumnya, bisa kita baca bahwa pemilik dari direktori windowshare adalah root dan group pengguna yang memiliki direktori tersebut adalah group users yang memiliki hak untuk baca, menulis dan menjalankan berbagai macam operasi di folder tersebut; sedangkan pengguna lainnya yang tidak termasuk root dan anggota group users hanya bisa membaca dan menjalankan file (read only).
Namun yang harus kita ingat bahwa user root memiliki kemampuan untuk melakukan apa saja terhadap hak akses tersebut.
Sebagai sebuah persetujuan awal, apabila saya mempergunakan kata file, maka ini bisa merujuk pada file data atau folder.
H a k A k s e s S u a t u F i l e
1 . P E R I N T A H C H M O D “ N U M E R I C M O D E ”
Perintah ini akan merubah perijinan suatu file/direktori menggunakan kode akses berupa 3 digit nomor tertentu, yang merupakan perwujudan dari hak akses suatu file di Linux. Masing-masing kode tersebut adalah 4 untuk membaca (read), 2 untuk menulis, dan yang terakhir adalah 1 untuk menjalankan sebuah file.
Sebagai contoh, kita ingin sebuah file hanya bisa untuk di baca (4) dan di tulis (2) tapi tidak untuk di jalankan, maka kita bisa mempergunakan perintah 4+2 = 6.
Menggunakan cara yang sama apabila kita ingin memberikan hak akses hanya untuk membaca (4), dan memberikan semua hak akses yang ada (7 = 1+2+4).
Lalu kode akses tersebut di kombinasikan berdasarkan urutan ~ hak akses untuk pemilik, group pemilik dan pengguna lain ~ hak kepemilikan sebuah file, dengan sintak perintahnyaadalah:
chmod <3 digit nomor> <objek yang ingin di set>
Sebagai contoh berdasarkan perintah ls -l sebelumnya, kita akan melakukan setting agar folder windowshare bisa di pergunakan oleh semua pengguna agar bisa menulis, membaca, dan menjalankan file di folder tersebut, maka kita mempergunakan perintah:
# chmod 777 /home/windowshare
Sehingga bila kita perlihatkan lagi hak akses menggunakan perintah ls -l, akan kita dapatkan hasil seperti berikut:
# ls -l
<< any results >>
drwxrwxrwx 2 root users 4096 1996-02-02 08:37 windowshare
<< any results >>
Perhatikan sekarang kode akses yang menjadi drwxrwxrwx, dari yang semulanya drwxrwxr-x.Namun apabila kita menginginkan hanya si pemilik file saja yang memiliki hak akses dan yang lainnya (bahkan group pemiliknya) hanya memiliki akses membaca saja (read only), kita bisa menggunakan perintah:
# chmod 744 /home/windowshare
# ls -l
<< any results >>
drwxr-xr-x 2 root users 4096 1996-02-02 08:37 windowshare
<< any results >>
Atau kalau si pemilik saja yang memiliki hak akses, maka kita bisa menjalankan perintah:
# chmod 700 /home/windowshare
# ls -l
<< any results >>
drwx--- 2 root users 4096 1996-02-02 08:37 windowshare
<< any results >>
Apabila kita ingin mengubah hak akses di folder beserta semua isinya, maka dibutuhkan tambahan perintah berupa tanda -R (recursive). Sehingga bila kita ingin mengubah hak akses di folder /home/windowshare beserta isinya, kita tinggal menjalankan perintah:
# chmod -R 700 /home/windowshare
2 . P E R I N T A H C H M O D “ S Y M B O L I C M O D E ”
Kalau pada Numeric Mode menggunakan angka-angka, maka pada symbolic mode mempergunakan huruf yang bisa dikombinasikan. Alhasil perintahnya lebih mudah untuk dimengerti. Berikut sintak penulisannya:
chmod [flags] [u/g/o/a] [+/-/=] [r/w/x]
Kombinasi [u/g/o/a] digunakan untuk mengatur hak akses pengguna, yaitu u (pengguna yang memilikinya), g (group yang memilikinya), o (other/pengguna lain yang bukan termasuk dalam group pemiliknya), atau a (all – semua pengguna). Operator untuk + (melakukan setting/menambah), – (mengurangi hak akses) dan = (set hak akses) harus dikombinasikan dengan perintah pilihan selanjutnya yaitu r (read – membaca), w (write – menulis) dan x (execute – menjalankan) sebuah file.
Sebagai contoh kita dasarkan pada contoh sebelumnya. Misalkan kita ingin agar folder windowshare hanya bisa dipergunakan oleh pemiliknya saja:
#chmod u+rwx,og-rwx /home/windowshare
Atau kita ingin agar semua orang hanya memiliki hak akses untuk membaca saja (read only)
#chmod a+rx-w /home/windowshare
Kita juga bisa memberikan setting hak akses sekaligus untuk isi folder tersebut (recursive)
#chmod -R a+rx-w /home/windowshare
Mengubah Kepemilikan File
Untuk mengubah kepemilikan sebuah file kita bisa mempergunakan perintah chown yang memiliki format yang sama dengan perintah chmod. Bedanya yang kita ubah adalah kepemilikan sebuah file. Sintak yang digunakan adalah:
#chown <users> <objek yang ingin diubah>
Misalnya kita ingin mengubah kepemilikan folder windowshare diatas, dari root kepada user dengan login linuz, maka kita tinggal melakukan perintah:
# chown linuz /home/windowshare
Jelaskan tentang pengkodeaan hak dan akses dan bagaimana cara konversi dari pengkodeaan hak akses ke kode angka, misal : drwxrwx--- kodenya apa?
Perintah Chmod atau change mode adalah suatu 'permission rule' atau saya artikan sebagai aturan batasan hak akses file atau folder berdasarkan siapa usernya.
Perintah tersebut biasa kita temukan dalam penggunaan bahasa pemrograman C di sistem UNIX dan semacamnya ( contoh awam: sistem operasi LINUX). Lalu apa hubungannya dengan website?
Banyak server hosting website memakai sistem operasi LINUX. Maka dari itu, kali ini saya akan bahas detil mengenai chmod dan pengaruhnya dalam file di website kita.
Perintah Chmod mempunyai 3 rule utama : R(read)- Write(W)-Execute(X) yang disediakan untuk 3 macam user: Owner(O)-Group(G)-Public(P).
Owner adalah pemilik suatu file atau directory. Group mewakili sekelompok User.
Other adalah selain dari User atau Group. Read mengatur akses suatu file / direktori itu dibaca / ditampilkan isinya. Write mengatur akses suatu file / direktori diisi suatu data / informasi tertentu (ditulisi). Akses Execute mengatur suatu file untuk dijalankan( biasanya bentuk file binary atau aplikasi program) ataupun bagi suatu direktori untuk dapat diakses ke dalam / dimasuki.
Setiap user memiliki kode rule yang biasa ditulis seperti ini:
READ WRITE EXECUTE
Kode Binary 1 1 1
Kode Simbol r w x
Kode Bilangan(pangkat) 4=2^2 2=2^1 1=2^0
Contoh penulisan suatu file yang memiliki chmod :
a) 777 berarti : User O G P R 4 4 4 W 2 2 2 X 1 1 1
Atribut file : -rwx-rwx-rwx
Atribut folder : drwxdrwxdrwx (d untuk menunjukkan direktori)
Baik Owner, Group dan Public mempunyai hak akses penuh (baca, tulis,
eksekusi). BERBAHAYA jika untuk waktu lama, file atau direktori anda berada dalam posisi ini, karena rawan di-hacker.
b) 644 berarti :
User O G P R 4 4 4 W 2 - - X - - -
Atribut file : -rw--r---r--
Atribut folder : drw-dr--dr-- (d untuk menunjukkan direktori)
Baik Owner hanya mempunyai hak akses baca dan tulis, sedangkan yang lainnya hanya bisa membaca saja. Gunakan akses ini untuk file configuration, file setting, ataupun file-file yang anda rasa penting berkaitan dengan akses sistem website anda.
c) 755 berarti : User O G P R 4 4 4 W 2 - - X 1 1 1
Atribut file : -rwx-r-x-r-x
Atribut folder : drwxdr-xdr-x (d untuk menunjukkan direktori)
Baik Owner mempunyai hak akses penuh, sedangkan yang lainnya hanya bisa membaca dan menjalankan saja. Biasa digunakan untuk akses folder atau direktori.
d) 444 berarti : User O G P R 4 4 4 W - - - X - - -
Atribut file : -r---r---r--
Atribut folder : dr--dr--dr-- (d untuk menunjukkan direktori)
Kalau ingin mengkonversi dari pengkodeaan hak akses ke kode angka caranya sama saja seperti diatas.
Berikan contoh penggunaannya?
Jika ingin mengubah hak akses dari suatu data atau direkori, dari hak akses 644 menjadi 755 (agar dapat dibaca) berikut caranya :
chmod 755 [nama file]
Contoh :
chmod 755 index.php (untuk file)
chmod 755 /web/images (untuk folder/direktori)
Kalau ingin mengubah hak akses suatu folder yang di dalamnya ada banyak folder dan file, bisa menggunakan perintah berikut :
find [direktori] -type f -exec chmod 777 {} \; (untuk file)
find [direktori] -type d -exec chmod 777 {} \; (untuk folder / direktori)
Contoh :
find /home/tuxsharing/htdocs-linux -type f -exec chmod 777 {}
\; (untuk file)
find /home/tuxsharing/htdocs-linux -type d -exec chmod 777 {}
\; (untuk folder / direktori)
Dan jika ingin menyembunyikan suatu data atau direktori dapat menggunakan perintah berikut :
chmod 700 [nama file atau folder]
Contoh :
chmod 700 index.php (untuk file)
chmod 700 /web/images (untuk folder/direktori)