Pertemuan 2

Manajemen Pengguna dan Grup di Sistem Operasi Linux

Mengelola akun pengguna, grup, dan implementasi kebijakan keamanan dasar

Tujuan Pembelajaran

Setelah menyelesaikan praktikum ini, mahasiswa mampu:

  • Memahami konsep manajemen pengguna dan grup dalam sistem Linux
  • Membuat, memodifikasi, dan menghapus akun pengguna menggunakan command line
  • Mengelola keanggotaan pengguna dalam grup
  • Mengimplementasikan kebijakan keamanan dasar melalui manajemen akun

Teori Pendukung

Konsep Dasar Pengguna dan Grup
User Account

Identitas pengguna yang berisi:

  • Username - Nama pengguna
  • UID - User ID (numerik)
  • GID - Group ID utama
  • Home Directory - Direktori home
  • Shell Default - Shell yang digunakan
Group

Kumpulan pengguna yang berbagai hak akses yang sama:

  • Group Name - Nama grup
  • GID - Group ID
  • Members - Anggota grup
File Konfigurasi Sistem
File Fungsi Format
/etc/passwd Informasi akun pengguna username:x:UID:GID:description:home:shell
/etc/shadow Password terenkripsi username:encrypted_password:last_change:min:max:warn:inactive:expire
/etc/group Informasi grup group_name:x:GID:members
/etc/gshadow Password grup group_name:encrypted_password:admins:members
UID dan GID System
Rentang ID Sistem:
  • 0 - Root user
  • 1-999 - System accounts
  • 1000-60000 - Regular user accounts

Perintah Manajemen Pengguna

1. useradd - Menambah Pengguna Baru
sudo useradd [options] username

# Opsi penting:
-m # Buat home directory
-s /bin/bash # Tentukan shell default
-g group # Group utama
-G groups # Group tambahan
-c "comment" # Deskripsi pengguna
-u UID # Tentukan UID spesifik

# Contoh:
sudo useradd -m -s /bin/bash -c "User Praktikum" siswa1
2. usermod - Memodifikasi Akun Pengguna
sudo usermod [options] username

# Opsi penting:
-l new_username # Ubah username
-g new_group # Ubah group utama
-aG groups # Tambah ke group (append)
-L # Lock account
-U # Unlock account

# Contoh:
sudo usermod -l mahasiswa1 siswa1
sudo usermod -aG sudo mahasiswa1
3. userdel - Menghapus Akun Pengguna
sudo userdel [options] username

# Opsi:
-r # Hapus home directory dan mailbox
-f # Force deletion

# Contoh:
sudo userdel -r mahasiswa1
4. passwd - Mengatur Password
sudo passwd [options] username

# Opsi:
-l # Lock password
-u # Unlock password
-d # Delete password
-e # Expire password

# Contoh:
sudo passwd siswa1

Perintah Manajemen Grup

1. groupadd - Membuat Grup Baru
sudo groupadd [options] groupname

# Opsi:
-g GID # Tentukan GID spesifik
-r # Buat system group

# Contoh:
sudo groupadd operator
sudo groupadd -g 1500 developers
2. groupmod - Memodifikasi Grup
sudo groupmod [options] groupname

# Opsi:
-n new_name # Ubah nama grup
-g new_GID # Ubah GID

# Contoh:
sudo groupmod -n sysops operator
3. groupdel - Menghapus Grup
sudo groupdel groupname

# Contoh:
sudo groupdel operator
4. gpasswd - Mengelola Keanggotaan Grup
sudo gpasswd [options] groupname

# Opsi:
-a user # Tambah user ke grup
-d user # Hapus user dari grup
-M users # Set multiple members

# Contoh:
sudo gpasswd -a siswa1 operator
sudo gpasswd -d siswa1 operator

Langkah-langkah Praktikum

A. Persiapan Environment
# Login sebagai user dengan hak sudo
sudo -i
whoami # Verifikasi sebagai root
B. Membuat Pengguna Baru
  1. Buat pengguna 'siswa1'
    sudo useradd -m -s /bin/bash siswa1
    # -m: Buat home directory
    # -s: Tentukan shell default
  2. Set password untuk siswa1
    sudo passwd siswa1
    # Masukkan password yang kuat
  3. Verifikasi pengguna baru
    id siswa1
    cat /etc/passwd | grep siswa1
    ls /home # Cek home directory
C. Memodifikasi Akun Pengguna
  1. Ubah username dari siswa1 menjadi mahasiswa1
    sudo usermod -l mahasiswa1 siswa1
  2. Tambahkan user ke grup 'sudo'
    sudo usermod -aG sudo mahasiswa1
    # -aG: Append to group (tidak replace existing groups)
  3. Verifikasi perubahan
    id mahasiswa1
    groups mahasiswa1
D. Membuat dan Mengelola Grup
  1. Buat grup baru 'operator'
    sudo groupadd operator
  2. Tambahkan mahasiswa1 ke grup operator
    sudo usermod -aG operator mahasiswa1
  3. Verifikasi keanggotaan grup
    getent group operator
    groups mahasiswa1
E. Menghapus Akun dan Grup
  1. Hapus user mahasiswa1
    sudo userdel -r mahasiswa1
    # -r: Hapus home directory dan mailbox
  2. Hapus grup operator
    sudo groupdel operator
  3. Verifikasi penghapusan
    id mahasiswa1 # Should show error
    getent group operator # Should show nothing

Manajemen Pengguna Lanjutan

1. Password Policy Configuration
# Edit file password policy
sudo nano /etc/login.defs

# Parameter penting:
PASS_MAX_DAYS 90 # Max password age
PASS_MIN_DAYS 1 # Min password age
PASS_WARN_AGE 7 # Warning before expiry
PASS_MIN_LEN 8 # Min password length
2. Account Expiration
# Set account expiration date
sudo chage -E 2024-12-31 siswa1

# Display account aging information
sudo chage -l siswa1

# Set password to expire
sudo passwd -e siswa1
3. User Account Locking
# Lock user account
sudo usermod -L siswa1
sudo passwd -l siswa1

# Unlock user account
sudo usermod -U siswa1
sudo passwd -u siswa1
4. Bulk User Management
# Script untuk membuat multiple users
#!/bin/bash
for i in {1..5}; do
  sudo useradd -m -s /bin/bash user$i
  echo "user$i:Password123" | sudo chpasswd
done

Tugas dan Evaluasi

  1. Jelaskan perbedaan antara perintah useradd dan adduser!
  2. Apa fungsi dari file /etc/shadow dan mengapa permissionnya restricted?
  3. Bagaimana cara melihat daftar grup yang ada dalam sistem?
  4. Apa yang terjadi jika menghapus user tanpa opsi -r?
  5. Buat skenario: Anda perlu membuat user 'asisten' dengan home directory di /opt/asisten dan shell /bin/sh. Tulis perintah lengkapnya!

Security Best Practices

Yang Harus Dilakukan
  • Gunakan password yang kuat dan kompleks
  • Implementasi password expiration policy
  • Gunakan principle of least privilege
  • Regular audit user accounts
  • Hapus account yang tidak digunakan
  • Gunakan SSH keys daripada password
Yang Harus Dihindari
  • Jangan gunakan password yang mudah ditebak
  • Jangan berikan sudo access tanpa perlu
  • Jangan biarkan account tanpa password
  • Jangan gunakan UID 0 untuk user biasa
  • Jangan simpan password di plain text
  • Jangan gunakan default shell untuk system accounts

Troubleshooting Common Issues

Masalah Penyebab Solusi
User cannot login Account locked, wrong shell, expired password sudo usermod -U username
sudo chsh -s /bin/bash username
Permission denied User not in correct group sudo usermod -aG groupname username
Home directory not created Forgot -m option in useradd sudo mkdir /home/username
sudo chown username:username /home/username
User cannot use sudo User not in sudo group sudo usermod -aG sudo username