RDP Monster

Cara Mengganti Pengguna di Ubuntu: su, sudo & Eskalasi Hak Akses

Cara Mengganti Pengguna di Ubuntu: su, sudo & Eskalasi Hak Akses

Pendahuluan

Mengelola banyak akun user dan berpindah-pindah di antara mereka adalah bagian mendasar dari administrasi Linux. Ubuntu, distribusi Linux paling populer di dunia, menyediakan beberapa cara untuk mengganti user aktif, masing-masing dengan use case dan implikasi keamanan tersendiri. Memahami mekanisme ini memungkinkan workflow multiuser yang efisien, operasi administrasi yang aman, dan manajemen hak akses yang baik.

Panduan komprehensif ini membahas setiap metode untuk berpindah user di Ubuntu, mulai dari command line dasar hingga teknik privilege escalation lanjutan. Baik mengelola sistem bersama, tugas administrasi, maupun lingkungan multi-tenant, menguasai pergantian user penting untuk kemahiran Ubuntu.

 

Memahami manajemen user di Ubuntu

Jenis Akun Pengguna

Pengguna Reguler: Akun standar dengan hak istimewa terbatas, akses berkas terbatas, dan ketidakmampuan memodifikasi konfigurasi sistem.

Pengguna Root: Superuser dengan akses tanpa batas ke semua sumber daya sistem, mampu melakukan operasi apa pun termasuk yang berbahaya.

Pengguna Sistem: Akun khusus untuk layanan sistem (www-data untuk server web, mysql untuk database).

Pengguna Sudo: Akun reguler dengan hak istimewa superuser yang didelegasikan melalui konfigurasi sudo.

Eskalasi Hak Akses

Why Escalate?: Most administrative tasks require elevated privileges. Rather than logging in as root (dangerous), Ubuntu uses privilege escalation to grant specific elevated permissions temporarily.

Prinsip: Jalankan operasi dengan hak istimewa minimum yang diperlukan; minimalkan waktu dengan akses tinggi; audit semua operasi yang diberi hak istimewa.

 

Perintah su (Switch User)

Sintaks Dasar

su [OPTIONS] [USERNAME]
Switching to Another User
su john
Prompts for the target user’s password, then switches to that account. The environment remains the user’s original environment (not recommended).

Beralih Pengguna dengan Lingkungan Baru

su - john


The hyphen (-) loads the complete environment of the target user, including:

  • Variabel HOME yang menunjuk ke direktori home pengguna

  • Variabel PATH dengan path perintah pengguna

  • File konfigurasi shell (.bashrc, .profile)

  • Direktori kerja diubah ke home pengguna

Best Practice: Always use su - to ensure proper environment configuration.


Berpindah ke user root

su -


Beralih ke pengguna root dengan lingkungan root lengkap. Meminta kata sandi root.

Opsi Perintah su

-c (Command): Execute single command as another user without full session

su - john -c "ls -la /home/john"

-l (Login): Identical to using hyphen; creates login shell

su --login john

 

-s (Shell): Tentukan shell untuk sesi

su - john -s /bin/zsh

 

-m (Preserve environment): Keep current environment while switching

su -m john

Perintah sudo (Superuser Do)

Sintaks Dasar
sudo [OPTIONS] COMMAND


Menjalankan Perintah dengan Hak Akses Tinggi

sudo apt-get update # Update package lists (requires root)
sudo systemctl restart ssh # Restart SSH service
sudo reboot # Reboot system


Menjalankan Shell Root Interaktif

sudo -i

Memulai shell root interaktif tanpa login sebagai root.

Menjalankan Perintah sebagai Pengguna Lain

sudo -u username command

Menjalankan perintah dengan hak akses pengguna yang ditentukan (tidak hanya root).


Opsi Perintah sudo

-l (List): Display allowed commands

sudo -l

-k (Invalidate): Clear sudo credentials (requires password on next use)

sudo -k

 

-p (Prompt): Custom password prompt

sudo -p "Enter admin password: " apt-get update
-v (Validate): Extend sudo timeout
sudo -v

 

-H (Home): Set HOME to target user’s home

sudo -H -u username command

su – vs su: perbedaan utama

Fitur su su –
Lingkungan Mempertahankan lingkungan shell induk Memuat lingkungan pengguna target
Variabel HOME Tetap di home pengguna asli Beralih ke home pengguna target
Variabel PATH Mungkin menyertakan path pengguna asli Berisi path standar pengguna target
Konfigurasi Shell Tidak memuat .bashrc atau .profile Memuat ~/.bashrc, ~/.profile
Direktori Kerja Tetap di direktori saat ini Beralih ke home pengguna
Direkomendasikan Jarang; berpotensi membingungkan Selalu untuk pergantian pengguna
Tingkat Risiko Lebih tinggi (lingkungan campuran) Lebih rendah (lingkungan bersih)

 

Contoh Perbedaan

# Menggunakan su (BAD)
$ su john
Password:
$ echo $HOME
/root # Still shows original home!
$ pwd
/path/to/original # Still in original directory
# Menggunakan su - (GOOD)
$ su - john
Password:
$ echo $HOME
/home/john # Correct home directory
$ pwd
/home/john # Correct directory

Berpindah ke user root

Menggunakan su

su - Password: (enter root password)
root@hostname:~#

Menggunakan sudo

sudo -i
[sudo] password for john: (enter john's password)
root@hostname:~#

Perbedaan antara su – dan sudo -i

Aspek su – sudo -i
Kata Sandi Diperlukan Kata sandi root Kata sandi pengguna saat ini
Pencatatan Tidak dicatat Dicatat oleh sudo
Jejak Audit Minimal Jejak audit lengkap
Keamanan Lebih rendah (memerlukan berbagi kata sandi root) Lebih tinggi (akuntabilitas individu)
Pengaturan Perusahaan Tipikal Tidak dianjurkan Recommended

Security Note: Modern Ubuntu systems typically don’t require root password; instead, sudoers are granted authority through sudo configuration.

 

Menjalankan perintah sebagai user lain

Eksekusi Perintah Tunggal

sudo -u apache /usr/bin/apache2ctl restart
su - testuser -c "python /home/testuser/script.py"

Menjalankan Beberapa Perintah

sudo bash -c "echo 'Line 1' > /tmp/file; cat /tmp/file"

Menjalankan Perintah Mempertahankan Direktori Saat Ini

sudo -u john pwd # Prints john's home (working directory changed)
sudo -u john -C pwd # Prints current directory (with -C flag)

Mengubah password user

Ubah Kata Sandi Sendiri

passwd

Meminta kata sandi saat ini, lalu kata sandi baru (dua kali untuk konfirmasi).

Ubah Kata Sandi Pengguna Lain (Memerlukan Root)

sudo passwd john

Tidak memerlukan kata sandi saat ini; meminta kata sandi baru (otoritas root).

Atur Kebijakan Kedaluwarsa

sudo chage -l john # View password aging info
sudo chage -M 90 john # Force password change every 90 days
sudo chage -d 0 john # Force password change on next login

Izin dan grup user

Lihat Grup Pengguna

groups john # Show groups current user belongs to
groups # Show own groups
id john # Detailed UID, GID, groups

Tambahkan Pengguna ke Grup

sudo usermod -aG groupname username

 

Example: Add user to sudo group

sudo usermod -aG sudo john

Hapus Pengguna dari Grup

sudo deluser username groupname

Buat Pengguna Baru

sudo useradd -m -s /bin/bash newuser
sudo passwd newuser

Options:

  • -m: Create home directory

  • -s: Specify shell

  • -G: Tetapkan ke grup

 

Contoh praktis

Example 1: Administrative Task with Eskalasi Hak Akses

#!/bin/bash
# Install software update as regular user with privilege escalation
sudo apt-get update
sudo apt-get upgrade -y
echo "System update complete"

Contoh 2: Menjalankan Tugas Server Web

# Stop web server as specific service user
sudo -u www-data /opt/webapp/stop.sh
# Check web server permissions as www-data
sudo -u www-data ls -la /var/www/html

Contoh 3: Menjalankan Pemeliharaan Database

# Backup database as specific user
sudo -u mysql mysqldump -u root -p database_name > backup.sql
# Run database optimization
sudo -u mysql mysql -u root -p -e "OPTIMIZE TABLE table_name;"

Contoh 4: Manajemen Pengguna Massal

#!/bin/bash
# Create multiple users
for user in user1 user2 user3; do
sudo useradd -m -s /bin/bash "$user"
echo "Please set password for $user:"
sudo passwd "$user"
done
# Add all to sudo group
for user in user1 user2 user3; do
sudo usermod -aG sudo "$user"
done

Pertimbangan keamanan

Keamanan Kata Sandi

Kata Sandi Root: Jaga keamanannya; jangan pernah membagikannya dengan orang yang tidak tepercaya

Konfigurasi Sudo: Delegasikan hak istimewa tertentu daripada akses root penuh

Penuaan Kata Sandi: Terapkan perubahan kata sandi berkala

# Configure password aging
sudo chage -M 90 -m 1 -W 7 username
# Forces change every 90 days, minimum 1 day between changes, 7-day warning

Audit dan Pencatatan

All sudo commands are logged:

sudo grep COMMAND /var/log/auth.log

 

View detailed sudo history:

sudo journalctl _COMM=sudo

Restricting Eskalasi Hak Akses

Configure sudoers file safely:

sudo visudo # Always use visudo for editing sudoers

 

Contoh konfigurasi sudoers (limiting what john can run):

john ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
john ALL=(ALL) /usr/bin/apt-get

Batas Waktu Sesi

# Set sudo timeout
sudo -v # Extend timeout
sudo -k # Invalidate sudo credentials

Mengapa infrastruktur remote memakai switch user

Infrastruktur RDP dan SSH sering memerlukan:

  • Beberapa pengguna administratif dengan tingkat hak istimewa berbeda

  • Akun layanan untuk proses otomatis

  • Jejak audit untuk kepatuhan (pencatatan sudo)

  • Eskalasi hak istimewa untuk tugas administratif

Manajemen Infrastruktur Melalui RDP.Monster

Managing Ubuntu systems remotely requires robust, secure access:

Akses SSH untuk Eksekusi Perintah

  • Eksekusi perintah pergantian pengguna dari jarak jauh

  • Administrasi otomatis melalui skrip

  • Kontrol penuh atas manajemen pengguna

Dukungan Banyak Akun Pengguna

  • Buat pengguna administratif

  • Delegasi hak istimewa dengan tepat

  • Pertahankan jejak audit

Administrasi Jarak Jauh yang Aman

  • Enkripsi SSH untuk semua operasi pergantian pengguna

  • Autentikasi berbasis kunci untuk akses pemrograman

  • Pencatatan dan pemantauan komprehensif

Terapkan infrastruktur Ubuntu VPS dengan kemampuan manajemen pengguna yang aman melalui RDP.Monster

 

Kesimpulan

Pergantian pengguna dan eskalasi hak istimewa adalah keterampilan dasar administrasi Ubuntu. Memahami perbedaan antara su, sudo, dan manajemen kata sandi memungkinkan administrasi sistem multi-pengguna yang efektif sambil menjaga keamanan melalui delegasi hak istimewa yang tepat dan jejak audit.

Praktik terbaik Ubuntu modern sangat mendukung sudo daripada su untuk eskalasi hak istimewa, memungkinkan akuntabilitas dan pencatatan komprehensif sambil meminimalkan berbagi kata sandi root. Konfigurasi sudoers yang tepat dengan mendelegasikan hak istimewa tertentu memberikan keseimbangan keamanan yang sangat baik antara kegunaan dan akses control.

Managing complex Ubuntu infrastructure requiring sophisticated user management and secure administrative access? RDP.Monster provides SSH-based Ubuntu VPS solutions enabling seamless user management and privilege escalation across your infrastructure. Deploy professionally-managed Ubuntu systems today.

Hosting VPS Ubuntu yang andal

Nikmati kontrol penuh dan performa kilat dengan VPS Linux kami. Sempurna untuk hosting aplikasi, mengelola server, dan mengoptimalkan workflow.

Dedicated Servers

Dedicated Server berkinerja tinggi

Butuh kontrol dan tenaga maksimal? Dedicated Server kami menawarkan performa tak tertandingi untuk tugas berat.

Pertanyaan yang sering ditanyakan

Sebaiknya pakai su atau sudo?

Di sistem modern, sudo lebih disukai.

Ini memberi akuntabilitas, butuh password masing-masing, dan menyediakan audit trail lengkap.

Kenapa perintah su saya tidak jalan?

Bisa jadi Anda tidak tahu password user target.

Try sudo -u username instead if you have sudo privileges.

Bisakah berpindah user tanpa password?

Bisa, dengan sudo: konfigurasi sudoers dengan NOPASSWD.

Untuk su, Anda selalu butuh password user target.

Apa beda su - dengan su --login?

Sama persis; keduanya membuat login shell dengan environment penuh.

Berapa lama hak sudo berlaku?

Default 15 menit. Bisa diatur di konfigurasi sudoers.

Bisakah menjalankan beberapa perintah sekaligus sebagai user lain?

Bisa: sudo bash -c "perintah1 && perintah2 && perintah3"

Bagaimana cara melihat hak sudo saya?

Jalankan sudo -l untuk melihat perintah yang diizinkan.

Kenapa PATH saya berubah saat ganti user?

Pakai su - agar seluruh environment user target, termasuk PATH yang benar, ikut termuat.

Register to our reseller program

Your informations

If you have any question, contact us by clicking here !
Name(Required)
Enter your email address, you must have an account on manager.rdp.monster !

Your company

Enter your website address if you have one
Quickly explain how you're going to sell services to your customers. For example, talk to people on forums.

Kami menggunakan cookie !

Kami menggunakan cookie untuk meningkatkan pengalaman penjelajahan Anda, menampilkan iklan atau konten yang dipersonalisasi, dan menganalisis lalu lintas kami. Dengan mengklik «Terima», Anda menyetujui penggunaan cookie oleh kami.