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
Identitas pengguna yang berisi:
- Username - Nama pengguna
- UID - User ID (numerik)
- GID - Group ID utama
- Home Directory - Direktori home
- Shell Default - Shell yang digunakan
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
-m
-s /bin/bash
-g group
-G groups
-c "comment"
-u UID
sudo useradd -m -s /bin/bash -c "User Praktikum" siswa1
2. usermod - Memodifikasi Akun Pengguna
sudo usermod [options] username
-l new_username
-g new_group
-aG groups
-L
-U
sudo usermod -l mahasiswa1 siswa1
sudo usermod -aG sudo mahasiswa1
3. userdel - Menghapus Akun Pengguna
sudo userdel [options] username
-r
-f
sudo userdel -r mahasiswa1
4. passwd - Mengatur Password
sudo passwd [options] username
-l
-u
-d
-e
sudo passwd siswa1
Perintah Manajemen Grup
1. groupadd - Membuat Grup Baru
sudo groupadd [options] groupname
-g GID
-r
sudo groupadd operator
sudo groupadd -g 1500 developers
2. groupmod - Memodifikasi Grup
sudo groupmod [options] groupname
-n new_name
-g new_GID
sudo groupmod -n sysops operator
3. groupdel - Menghapus Grup
sudo groupdel groupname
sudo groupdel operator
4. gpasswd - Mengelola Keanggotaan Grup
sudo gpasswd [options] groupname
-a user
-d user
-M users
sudo gpasswd -a siswa1 operator
sudo gpasswd -d siswa1 operator
Langkah-langkah Praktikum
A. Persiapan Environment
sudo -i
whoami
B. Membuat Pengguna Baru
-
Buat pengguna 'siswa1'
sudo useradd -m -s /bin/bash siswa1
-
Set password untuk siswa1
sudo passwd siswa1
-
Verifikasi pengguna baru
id siswa1
cat /etc/passwd | grep siswa1
ls /home
C. Memodifikasi Akun Pengguna
-
Ubah username dari siswa1 menjadi mahasiswa1
sudo usermod -l mahasiswa1 siswa1
-
Tambahkan user ke grup 'sudo'
sudo usermod -aG sudo mahasiswa1
-
Verifikasi perubahan
id mahasiswa1
groups mahasiswa1
D. Membuat dan Mengelola Grup
-
Buat grup baru 'operator'
sudo groupadd operator
-
Tambahkan mahasiswa1 ke grup operator
sudo usermod -aG operator mahasiswa1
-
Verifikasi keanggotaan grup
getent group operator
groups mahasiswa1
E. Menghapus Akun dan Grup
-
Hapus user mahasiswa1
sudo userdel -r mahasiswa1
-
Hapus grup operator
sudo groupdel operator
-
Verifikasi penghapusan
id mahasiswa1
getent group operator
Manajemen Pengguna Lanjutan
1. Password Policy Configuration
sudo nano /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_WARN_AGE 7
PASS_MIN_LEN 8
2. Account Expiration
sudo chage -E 2024-12-31 siswa1
sudo chage -l siswa1
sudo passwd -e siswa1
3. User Account Locking
sudo usermod -L siswa1
sudo passwd -l siswa1
sudo usermod -U siswa1
sudo passwd -u siswa1
4. Bulk User Management
#!/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
- Jelaskan perbedaan antara perintah
useradd dan adduser!
- Apa fungsi dari file
/etc/shadow dan mengapa permissionnya restricted?
- Bagaimana cara melihat daftar grup yang ada dalam sistem?
- Apa yang terjadi jika menghapus user tanpa opsi
-r?
- Buat skenario: Anda perlu membuat user 'asisten' dengan home directory di
/opt/asisten dan shell /bin/sh. Tulis perintah lengkapnya!
Security Best Practices
- 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
- 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 |