Catatan Kuliah: Manajemen User, Group, dan Kepemilikan File (Chown)

Catatan Kuliah: Manajemen User, Group, dan Kepemilikan File (Chown)

Di Linux, keamanan sistem sangat bergantung pada bagaimana kita mengelola pengguna (user) dan kelompoknya (group). Sebagai administrator sistem, Anda wajib tahu cara menambah user baru, memasukkannya ke dalam tim (group) yang tepat, serta mengatur kepemilikan file agar data sensitif tidak bocor. Yuk, kita bedah materinya!

1. Mengenal Tempat Penyimpanan Data User & Group

Sebelum kita mengetikkan perintah di terminal, kita perlu tahu di mana Linux menyimpan semua informasi pengguna. Ada tiga file konfigurasi utama di dalam direktori /etc:

  • /etc/passwd: Menyimpan data dasar seluruh user (nama, UID, home direktori, dll).
  • /etc/shadow: Menyimpan password yang sudah di-hash (terenkripsi) beserta informasi keamanan password.
  • /etc/group: Menyimpan data seluruh kelompok (group) yang ada di sistem.

Membedah Isi File /etc/passwd

Jika Anda membuka file ini (misalnya dengan perintah cat /etc/passwd), Anda akan melihat baris teks yang dipisahkan oleh tanda titik dua (:). Berikut adalah contoh struktur data untuk user root:

root:x:0:0:root:/root:/bin/bash

Mari kita bedah artinya dari kiri ke kanan:

  1. root (Username): Nama pengguna untuk akun superuser yang memiliki hak istimewa penuh.
  2. x (Password): Tanda bahwa password asli disimpan dengan aman di file /etc/shadow dalam bentuk hash.
  3. 0 (User ID / UID): ID unik pengguna. Angka 0 selalu berarti root. User biasa umumnya memiliki UID bernilai 1000 atau lebih.
  4. 0 (Group ID / GID): ID grup utama yang menentukan hak akses default user.
  5. root (GECOS / Comment): Informasi tambahan seperti nama lengkap atau deskripsi akun.
  6. /root (Home Directory): Folder pribadi user. Untuk user biasa, lokasinya biasanya ada di /home/nama_user.
  7. /bin/bash (Shell): Aplikasi terminal default yang berjalan saat login.

2. Cheat Sheet: Perintah Manajemen User & Group

Berikut adalah kumpulan perintah terminal yang bisa langsung Anda gunakan untuk mengelola user dan group di Ubuntu VPS Anda:

  1. Manajemen User
    1. Menambah User Baru: sudo adduser nama_user (Catatan: Perintah ini otomatis membuatkan group baru dan home directory untuk user tersebut).
    2. Menghapus User: sudo userdel nama_user (Jika ingin menghapus user sekaligus dengan folder rumahnya (home directory), gunakan: sudo userdel -r nama_user)
    3. Modifikasi User (Ganti Shell & Pindah Folder):
      sudo usermod -s /bin/zsh nama_user (Mengubah shell default menjadi zsh)
      sudo usermod -d /home/folder_baru -m folder_lama (Mengubah home directory dan memindahkan isinya (-m)
  2. Manajemen Group
    1. Membuat Group Baru: sudo groupadd nama_group
    2. Menghapus Group: sudo delgroup nama_group
    3. Memasukkan User ke Group: sudo usermod -aG nama_group nama_user ATAU sudo gpasswd -a nama_user nama_group
      Opsi `-aG` (Append) sangat penting agar user masuk ke group baru tanpa menghapus keanggotaannya di group lain.
    4. Mengeluarkan User dari Group: sudo gpasswd -d nama_user nama_group
    5. Melihat daftar semua user yang ada di dalam group: getent group nama_group
    6. Melihat group apa saja yang diikuti oleh user tertentu: groups nama_user
    7. Menampilkan informasi lengkap user: id nama_user
  3. Mengubah Kepemilikan File dengan chown
    1. Selain mengubah permission (lewat chmod), kadang kita perlu memindahkan kepemilikan suatu file atau folder ke user atau group lain. Untuk kebutuhan ini, kita menggunakan perintah chown (Change Owner).
    2. Format perintah: sudo chown <user>:<group><nama_file_atau_direktori>

Contoh Kasus: Jika Anda punya file bernama laporan.txt dan ingin mengubah pemiliknya menjadi user budi dan group it_dev, perintahnya adalah: sudo chown budi:it_dev laporan.txt

4. Alternatif Mengubah Permission: Mode Simbolik

Di artikel sebelumnya kita sudah belajar mengubah permission menggunakan angka (Mode Numeric, contoh: chmod 755). Di Linux, Anda juga bisa mengubah hak akses menggunakan huruf (Mode Simbolik) yang sering kali terasa lebih intuitif.

  • Simbol User: u (user/owner), g (group), o (others).
  • Simbol Operasi: + (menambah izin), - (mencabut izin).
  • Simbol Hak Akses: r (read), w (write), x (execute).

Contoh Penggunaan: chmod u+rwx,g+rx,o-rwx file.txt

Kesimpulan

Manajemen user dan group memberikan fleksibilitas tinggi bagi kita untuk mengamankan sistem operasi Linux. Dengan mengombinasikan perintah adduser, usermod, chown, dan chmod, Anda sekarang bisa mengatur skenario server multi-user dengan aman dan profesional.