Cara mengganti permission dan ownership di Linux menggunakan chmod + chown
Bagi Anda yang menggunakan Linux, penting untuk mengelola permission dan ownership file dengan benar, apalagi di server yang dikelola oleh beberapa administrator.
Selain demi keamanan, hal ini akan memastikan server bisa berjalan dengan baik.
Jangan khawatir kalau Anda belum tahu cara mengganti permission di Linux. Kami akan membantu Anda melalui artikel ini, sekaligus menjelaskan cara mengelola ownership di Linux. Langsung saja simak di bawah ini yuk!
Memahami cara mengganti permission Linux
Anda bisa menggunakan perintah yang sama untuk mengganti permission (izin) file dan folder di Linux. Berikut adalah beberapa yang paling populer:
- chmod +rwx item – menambahkan izin read (baca), write (tulis), dan execute (eksekusi).
- chmod -rwx item – menghapus semua hak akses dari sebuah item.
- chmod +r item – memberikan izin baca pada sebuah item.
- chmod -x item – mencegah semua pengguna mengeksekusi item.
Selanjutnya, Anda bisa mengonfigurasi pengaturan izin yang berbeda untuk masing-masing pengguna. Kami akan menjelaskannya lebih lanjut di bawah ini.
Penting! Apabila Anda menjumpai error tentang hak istimewa saat mengubah permission atau ownership, coba tambahkan sudo di awal perintah yang digunakan.
Model permission Linux
Pengguna dan grup
Sistem operasi Linux memiliki tiga kelas yang bisa Anda beri permission dan ownership:
- owner – pengguna yang memiliki file atau folder.
- group – beberapa pengguna yang termasuk dalam kategori yang sama.
- others – semua pengguna yang bukan pemilik maupun anggota grup.
Jenis izin
Di Linux, file dan folder memiliki tiga jenis permission, masing-masing dengan inisial. Berikut penjelasannya:
- read (r) – mengizinkan pengguna untuk melihat konten file atau direktori.
- write (w) – memberikan izin kepada pengguna untuk mengedit isi file. Untuk folder, pengguna bisa membuat, menghapus, dan memindahkan file di dalamnya.
- execute (x) – memungkinkan pengguna menjalankan file. Apabila ditetapkan pada folder, berarti pengguna bisa membukanya dan mendapatkan akses ke semua data di dalamnya.
Melihat izin saat ini
Untuk mengelola permission di Linux, Anda perlu menjalankan perintah. Caranya, buka command-line interface sistem Anda, seperti Terminal untuk komputer lokal atau SSH untuk sistem remote seperti VPS.
Atau, kalau Anda menggunakan VPS dari Hostinger, akses CLI sistem dengan mudah menggunakan Terminal browser. Cukup buka menu pengelolaan VPS Anda di hPanel, lalu klik tombolnya di bagian kanan atas.
Untuk melihat permission file dan folder yang sedang Anda buka, jalankan perintah berikut:
ls -l
Apabila Anda hanya ingin mengecek item tertentu, gunakan perintah di bawah ini:
ls -l itemname
Anda akan melihat output seperti berikut:
drwxrwxrwx 2 user1 admins 4096 Sep 12 04:33 config
Output ini berisi berbagai informasi. Namun, karena kita ingin memeriksa permission dan ownership, mari fokus pada user1, admins, config, dan drwxrw-r-.
Placeholder user1 menentukan pemilik item, sementara admins adalah grup Linux tempat pengguna berada. Nama item terletak di bagian akhir, yaitu config.
String drwxrw-r- memberi tahu Anda tentang pengaturan izin item. Penjelasannya adalah sebagai berikut:
- d – karakter pertama string menunjukkan jenis item, yang bisa berupa direktori (d), file biasa (–), atau symbolic link (l).
- rwx – bagian kedua menentukan hak akses pemilik. Pada contoh di atas, kita punya rwx, yang berarti user1 bisa membaca, menulis, dan mengeksekusi direktori.
- rw- – bagian ketiga menentukan izin grup bagi item tersebut. Tanda hubung (–) berarti tidak ada izin grup sehingga anggota grup admins hanya memiliki hak akses baca dan tulis pada direktori tersebut.
- r- – bagian keempat menjelaskan hak akses pengguna lain. Karena hanya ada r dan dua tanda hubung dalam string di atas, orang lain hanya bisa membaca direktori tersebut.
Penting! Struktur dan urutan penamaan izin akan selalu sama.
Mengubah izin dengan chmod
Untuk mengganti permission item, gunakan perintah Linux chmod. Berikut syntax perintah tersebut:
chmod [option] [mode] [file_folder_name]
Option adalah flag tambahan yang memodifikasi perilaku perintah chmod. Anda bisa melihat daftar lengkapnya di halaman panduan chmod.
Mode adalah izin baru untuk file atau folder yang dimaksud, yang bisa Anda tulis dalam notasi symbolic atau numeric. Keduanya bekerja dalam cara yang sama, tapi memiliki fungsi khusus yang akan kami jelaskan di bagian berikut.
Mode symbolic
Metode symbolic dalam chmod menggunakan satu karakter yang mewakili kelas pengguna, izin, dan operasi. Berikut daftarnya:
Simbol | Definisi |
u | Pemilik |
g | Grup |
o | Lainnya |
a | Semua kelas pengguna (pemilik, grup, dan lainnya) |
+ | Menambahkan izin |
– | Menghapus izin |
= | Mengatur izin ke nilai yang ditentukan |
r, w, x | Izin |
Mode symbolic lebih fleksibel dan deskriptif. Mode ini memungkinkan Anda mengganti izin secara lebih bebas, karena Anda bisa mengedit hak istimewa tertentu pada kelas pengguna.
Perhatikan contoh berikut ini:
chmod u+wx,g-x,o=r script.sh
Kami akan menguraikan simbol-simbolnya untuk memahami cara kerjanya:
- u+wx – menambahkan (+) permission bagi pemilik item (u) untuk menulis (w) dan mengeksekusi (x) item.
- g-x – menghapus (–) permission dari grup (g) untuk mengeksekusi (x) file (g).
- o=r – menetapkan (=) izin bagi pengguna lain (o) atas item tersebut, menjadi baca (r) saja.
Misalnya, kalau izin awal file adalah -r-rwxrwx, maka izinnya akan menjadi -rwxrw-r-.
Mode numeric (octal)
Mode numeric menggunakan tiga digit angka untuk menentukan izin baru. Angka pertama menunjukkan izin pemilik, angka kedua untuk grup pemilik, dan angka ketiga untuk pengguna lain.
Berikut adalah angka-angka dan definisinya:
Nomor | Definisi |
4 | Izin membaca |
2 | Izin menulis |
1 | Jalankan izin |
0 | Tidak ada izin |
Untuk mengatur beberapa izin, cukup tambahkan angka-angkanya.
Sebagai contoh, 3 (1+2) mengatur item agar bisa dieksekusi dan ditulis, sedangkan 7 (1+2+4) akan memberikan hak akses penuh pada item tersebut.
Sebagai contoh, perintah ini akan mengatur izin file script.sh menjadi -rwxrw-r-:
chmod 764 script.sh
Notasi numeric lebih mudah daripada symbolic. Namun, notasi ini kurang fleksibel karena Anda tidak bisa menambah atau menghapus izin tertentu. Oleh karena itu, notasi ini lebih cocok untuk menerapkan pengaturan tertentu dengan cepat.
Sebagai contoh, seorang pemilik bisa membaca dan menulis sebuah item, tapi Anda ingin mengaturnya agar bisa dieksekusi.
Dengan notasi symbolic, Anda bisa menambahkan izin menggunakan u+x. Dengan numeric, Anda harus menambahkan hak istimewa yang sudah ada menggunakan 7, bukan hanya 1.
Perubahan permission rekursif
Opsi -R pada chmod mengaktifkan mode rekursif yang memungkinkan Anda mengatur izin baru pada folder dan semua kontennya menggunakan satu perintah.
Sebagai contoh, misalnya kita memiliki folder skrip yang berisi subdirektori subscript1 dan subscript2, serta beberapa file .sh. Strukturnya adalah seperti berikut:
script/ │ ├── subscript/ │ └── script1.sh │ ├──subscript2/ │ ├── script2.sh │ └── script3.sh
Dengan menggunakan chmod rekursif, kita bisa mengganti izin semua item di atas hanya dengan memodifikasi folder script seperti ini:
chmod -R 777 script
Mengganti ownership dengan chown dan chgrp
Saat Anda membuat item di Linux, Anda akan menjadi pemiliknya secara default. Apabila Anda menjadi anggota grup, semua anggota lain akan mendapatkan permission yang sama.
Anda bisa mengganti ownership dengan menggunakan perintah chown atau chgrp.
Namun, chown lebih umum digunakan, yang berguna untuk mengganti ownership bagi pengguna dan grup. Berikut syntax perintahnya:
chown [options] [user:group] [item]
Sebagai contoh, kalau Anda ingin mengganti ownership file script.sh menjadi milik johndoe, yang merupakan bagian dari grup admin, gunakan perintah berikut:
chown johndoe:admins script.sh
Untuk memberikan ownership kepada pengguna baru dan tetap mempertahankan grup saat ini, cukup hilangkan nama grup seperti ini:
chown johndoe script.sh
Demikian juga, hilangkan pengguna kalau Anda ingin mengganti ownership item ke grup lain. Namun, pastikan untuk memulai nama grup dengan tanda titik dua (:) seperti ini:
chown :admins script.sh
Perintah chown juga bisa digunakan dengan opsi -R untuk mengganti ownership item secara rekursif:
chmod -R johndoe:admins scriptfolder
Tidak seperti chown, chgrp hanya memungkinkan Anda mengganti ownership item ke grup lain. Berikut adalah contoh perintahnya:
chgrp admins script.sh
Permission bit khusus
Selain read, write, dan execute, Linux memiliki permission tambahan untuk mengelola item-item di sistem Anda secara lebih menyeluruh. Mari simak apa saja izin tersebut dan cara mengaturnya.
Setuid dan setgid
Permission Set user ID (setuid) memungkinkan Anda mengeksekusi file sebagai pemilik, bukan sebagai pengguna saat ini. Anda bisa menambahkannya dengan menggunakan karakter s pada notasi symbolic seperti ini:
chmod u+s script.sh
Sebagai contoh, kalau root adalah pemilik file script.sh, eksekusinya akan dijalankan sebagai root meskipun Anda login sebagai pengguna lain. Pengaturan ini memudahkan Anda untuk membuka program sebagai pengguna tertentu, terutama dalam automasi.
Penting! Pengguna saat ini yang akan menjalankan program harus memiliki izin eksekusi atas file tersebut. Anda bisa memberikannya dengan mengubah grup atau kelas pengguna lainnya.
Setelah menambahkan permission s, hak akses pemilik file akan menjadi rws. Pada dasarnya, hak ini sama dengan rwx, namun menunjukkan bahwa setuid aktif.
Izin setuid yang benar akan terlihat seperti ini:
-rwsr-xr-x
Set group ID (setgid) mirip dengan setuid, berfungsi untuk menjalankan file menggunakan izin grup terkait. Untuk memberikannya, gunakan perintah berikut:
chmod g+s script.sh
Seperti setuid, akun yang menjalankan file harus memiliki izin eksekusi sebagai pemilik atau pengguna lain. Berikut contoh permission setgid:
-rwxr-sr-x
Ketika Anda membuat file baru di dalam sebuah folder menggunakan setgid, grup yang terkait akan memiliki permission ownership atas file tersebut. Biasanya, grup Anda akan menjadi pemilik file baru tersebut.
Sticky bit
Secara default, semua pengguna yang memiliki izin tulis pada sebuah folder bisa mengganti nama dan menghapus file di dalamnya. Perilaku ini berisiko karena mereka bisa secara tidak sengaja menghapus item penting.
Nah, sticky bit membantu mencegah hal ini terjadi, dengan melarang pengguna untuk menghapus atau mengganti nama file kecuali mereka adalah pemiliknya. Permission write juga tidak dicabut ketika menggunakan sticky bit, jadi pengguna tetap bisa mengedit isi file.
Untuk mengaktifkan sticky bit pada folder, tambahkan izin t menggunakan mode symbolic chmod seperti ini:
chmod +t folder
Permission t akan menggantikan hak eksekusi pengguna lain. Berikut adalah contoh izin folder dengan sticky bit yang diaktifkan:
drwxrwxrwt
Anda juga bisa menambahkan sticky bit secara rekursif ke semua subfolder dan file di dalamnya dengan menambahkan opsi -R seperti ini:
chmod -R +t folder
Kesimpulan
Mengatur permission dan ownership item yang tepat sangat penting untuk menjaga keamanan dan fungsionalitas server. Di Linux, Anda bisa memberikan permission baca, tulis, dan eksekusi pada tiga kelas pengguna: owner, group, dan others.
Untuk mengganti permission di Linux, gunakan chmod diikuti dengan pengaturan dan item yang ingin Anda ubah. Untuk pengaturannya, gunakan notasi symbolic kalau Anda menginginkan proses yang lebih fleksibel, atau numeric kalau Anda membutuhkan perintah yang lebih praktis.
Sementara itu, gunakan chown untuk mengganti ownership item ke pengguna atau grup lain. Untuk mengganti ownership grup, Anda juga bisa menggunakan perintah chgrp.
Selain itu, Linux juga memiliki permission khusus. Contohnya, setuid dan setgid memungkinkan Anda menjalankan file sebagai pemilik atau grup terkait. Anda juga bisa menambahkannya dengan menggunakan perintah chmod.
Tanya jawab (FAQ) cara mengubah permission Linux
Apa perintah untuk mengganti permission Linux?
Untuk mengganti permission file atau folder di Linux, gunakan perintah chmod. Syntaxnya adalah chmod [option] [mode] [item]. Option memodifikasi perilaku perintah Anda, mode menentukan permission baru, sementara item merujuk pada file atau folder yang ingin Anda ubah.
Bagaimana cara melihat permission file di Linux?
Untuk melihat permission file saat ini, jalankan ls -l filename, dengan filename adalah nama file yang ingin Anda cek. Anda juga bisa menjalankan ls -l untuk melihat permission semua file dan folder di direktori saat ini.
Apa kepanjangan chmod di Linux?
Di Linux, perintah chmod adalah singkatan dari change mode. Perintah ini memungkinkan Anda memodifikasi izin file atau folder, sehingga memungkinkan pengguna yang berbeda untuk membaca, menulis, atau mengeksekusinya.
Komentar
November 20 2021
Bagus artikelnya
February 21 2022
penjelasan dasar yang sangat jelas dan mudah dipahami. diperbanyak penjelasan dasar tentang linux min. anda bakat jadi penulis. god job,,,
February 21 2022
Terima kasih Kak, semoga artikel kami bisa membantu. Silakan mampir ke artikel kami lainnya jika berkenan ?