Pengguna dan Izin Linux

· 4 min read
Pengguna dan Izin Linux
Photo by Jefferson Santos / Unsplash

Di Linux , izin file sangat penting untuk keamanan dan menentukan siapa yang dapat mengakses, mengubah, atau mengeksekusi file dan direktori. Linux mengikuti sistem izin yang kuat yang memberikan kontrol menyeluruh terhadap pengguna, grup, dan entitas lainnya.

Berikut ini penjelasan singkat tentang pengguna dan izin Linux

  • Pengguna: Linux memungkinkan banyak pengguna untuk mengakses sistem secara bersamaan. Setiap pengguna memiliki nama pengguna dan ID pengguna (UID) yang unik. Pengguna pertama yang dibuat selama instalasi sistem biasanya adalah pengguna administratif, juga dikenal sebagai pengguna "root", dengan UID 0. Pengguna biasa memiliki UID yang bukan nol.
  • Grup: Pengguna dapat diatur ke dalam grup, yang membantu menyederhanakan manajemen izin. Setiap grup memiliki nama grup dan ID grup (GID) yang unik. Pengguna dapat tergabung dalam beberapa grup, namun setiap pengguna memiliki grup utama yang terkait dengannya.
  • Izin File: Izin file Linux dibagi menjadi pengguna (pemilik), grup, dan kategori lainnya. Untuk setiap kategori, tersedia tiga jenis izin: baca (r), tulis (w), dan eksekusi (x). Jenis izin dapat ditetapkan atau ditolak secara individual untuk setiap kategori.
  • Representasi Izin: Linux menggunakan notasi simbolik dan numerik untuk mewakili izin. Notasi simbolik mencakup karakter seperti ”r" untuk membaca, ”w" untuk menulis, dan ”x" untuk mengeksekusi, sedangkan notasi numerik menggunakan tiga digit untuk mewakili kombinasi izin.
  • Mengubah Izin: Anda dapat mengubah izin menggunakan perintah chmod . Perintah chmod dapat digunakan dengan notasi simbolik atau numerik untuk menambah atau menghapus izin pengguna, grup, atau lainnya. Misalnya, chmod u+w myfile memungkinkan pemilik untuk memodifikasi file.
  • Kepemilikan: Setiap file dan direktori di Linux memiliki pemilik dan grup yang terkait dengannya. Pemilik biasanya mengontrol file, dan izin grup berlaku untuk semua anggota grup. Perintah chown digunakan untuk mengubah kepemilikan, dan perintah chgrp digunakan untuk mengubah grup.
  • Pengguna Super (root): Pengguna root memiliki akses tidak terbatas ke sistem dan dapat memodifikasi file apa pun atau menjalankan perintah apa pun. Sangat penting untuk berhati-hati saat menggunakan akun root untuk mencegah kerusakan yang tidak disengaja pada sistem.

Pengidentifikasi Pengguna dan Grup

Di Linux, setiap pengguna dan grup diberi pengidentifikasi unik (ID) yang masing-masing dikenal sebagai ID Pengguna (UID) dan ID Grup (GID). Sistem operasi menggunakan ID ini secara internal untuk mengidentifikasi dan mengelola izin dan kepemilikan pengguna dan grup.

Berikut adalah beberapa poin penting tentang pengidentifikasi pengguna dan grup di Linux:

  1. ID Pengguna (UID): Setiap akun pengguna di Linux diberi UID. Pengguna root memiliki UID 0, diperuntukkan bagi pengguna super. Akun pengguna reguler biasanya memiliki UID mulai dari 1000 dan bertambah secara berurutan. UID 1 dicadangkan untuk akun daemon, dan UID lain mungkin ditetapkan ke akun atau layanan sistem.
  2. ID Grup (GID): Mirip dengan pengguna, grup di Linux diberi GID. Grup root biasanya memiliki GID 0. Grup reguler biasanya memiliki GID mulai dari 1000 dan bertambah secara berurutan. GID dapat dikaitkan dengan banyak pengguna, memungkinkan pengguna untuk berbagi izin dan akses yang sama.
  3. /etc/passwd dan /etc/group: Informasi pengguna dan grup, termasuk ID mereka, disimpan dalam file sistem "/etc/passwd" dan "/etc/group". File-file ini menyediakan pemetaan antara nama pengguna/grup dan ID masing-masing, serta informasi terkait akun lainnya.
  4. Mengubah ID Pengguna dan Grup: Mengubah ID pengguna atau grup harus dilakukan dengan hati-hati, karena dapat memengaruhi kepemilikan dan izin file. Perintah usermod digunakan untuk mengubah properti akun pengguna, termasuk UID. Perintah groupmod digunakan untuk mengubah properti grup, termasuk GID.
  5. Kepemilikan File: Setiap file dan direktori di Linux memiliki pemilik (pengguna) dan grup yang terkait dengannya. Izin file diterapkan berdasarkan atribut kepemilikan ini. Pemilik file dapat mengubah izinnya, dan izin grup berlaku untuk semua anggota grup.
  6. Konflik UID dan GID: Konflik UID atau GID dapat menyebabkan masalah kepemilikan file atau masalah akses.

Bagaimana menemukan UID dan GID

sudo cat /etc/passwd
gambar

Kolomnya adalah sebagai berikut:

  • Kolom 1 – Nama
  • Kolom 2 – Kata Sandi – Jika pengguna telah menetapkan kata sandi pada kolom ini, maka ditandai dengan huruf (x).
  • Kolom 3 – UID (ID Pengguna)
  • Kolom 4 – GID (ID Grup)
  • Kolom 5 – Gecos – Berisi informasi umum tentang pengguna dan boleh kosong.
  • Kolom 6 – Direktori beranda
  • Kolom 7 – Shell – Jalur ke shell default untuk pengguna.

Izin

Izin dibagi menjadi 4 kategori pengguna:

  • Pemilik
  • Kelompok
  • Yang lain
  • Semua

Bisa berupa kombinasi baca (r), tulis (w), dan eksekusi (x). Mereka dapat ditetapkan dengan mudah dengan tanda plus dan minus untuk menambah atau menghapus izin tertentu. Modifikasi ini dilakukan dengan menggunakan perintah chmod .

Referensi biner

Kita juga dapat menggunakan angka untuk mengatur izin suatu file. Berikut adalah tabel sederhana untuk menunjukkan hal ini.

  • baca: 4
  • tulis: 2
  • Jalankan: 1
  • Tidak ada izin: 0

Misalnya, kita perlu memastikan bahwa hanya saya yang dapat melihat atau mengubah direktori kunci SSH saya. Kita dapat melakukan ini dengan menjalankan perintah berikut:

chmod 0600 ~/.ssh

Ini akan menghilangkan hak semua orang lain untuk melihat isinya. Saya sebaliknya akan dapat membaca (4) dan menulis (2).

Kepemilikan

Perintah chown digunakan untuk mengatur kepemilikan suatu file.

chown kinaro:kinaro text.txt

Ini menetapkan kepemilikan file menjadi pengguna 'kinaro' dan mengelompokkan 'kinaro' sebagai'.

Atribut Lainnya

  • 'd' - Direktori
  • '_' - Tidak ada izin khusus
  • 'l' - Tautan simbolis
  • 's' - Setuid/setgid sedikit. Diwakili sebagai 's' di bagian baca dari izin pemilik atau grup.

Pentingnya izin

Membatasi akses hanya pada pengguna yang diizinkan. Contoh yang bagus adalah direktori home pengguna. Kami tidak ingin pengguna lain melihat file mereka dan melakukan perubahan. Contoh lainnya adalah file konfigurasi. Kami tidak ingin setiap pengguna dapat mengubah bootloader, firewall, dan file sistem.