15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
02.01.2026
4 +2

Cara Mengubah Pengguna di Linux: Panduan Lengkap

Linux adalah sistem operasi multi-pengguna menurut desain, dan mengelola identitas pengguna adalah salah satu keterampilan paling fundamental yang perlu dikuasai oleh administrator sistem. Baik Anda mengelola lingkungan VPS Hosting, mengonfigurasi server web, atau memecahkan masalah izin file setelah deployment, memahami cara mengubah pengguna di Linux sangat penting.

Frasa “ubah pengguna” di Linux sebenarnya mencakup beberapa operasi yang berbeda, masing-masing dengan alat, risiko, dan praktik terbaik sendiri:

  • Beralih ke akun lain di shell (misalnya, dari john ke root) untuk sesi interaktif
  • Menjalankan perintah tunggal sebagai pengguna berbeda tanpa sepenuhnya beralih sesi
  • Mengubah pengguna mana yang menjalankan layanan atau proses — penting untuk pengerasan keamanan
  • Mengubah kepemilikan file dan direktori — penting setelah migrasi, pemulihan, atau deployment
  • Memodifikasi atribut akun pengguna — mengganti nama pengguna, mengubah UID, atau menyesuaikan keanggotaan grup

Panduan ini mencakup semua skenario ini secara mendalam, menjelaskan kapan menggunakan setiap pendekatan, cara melakukannya dengan aman, dan kesalahan mana yang harus dihindari — sehingga Anda dapat mengelola pengguna Linux dengan percaya diri tanpa merusak izin, layanan, atau akses.

Daftar Isi

  1. Beralih ke Pengguna Lain (Shell Interaktif)
  2. Jalankan Perintah Tunggal sebagai Pengguna Lain
  3. Ubah Pengguna yang Menjalankan Layanan (systemd)
  4. Ubah Kepemilikan File dengan chown
  5. Konfirmasi Identitas Anda Saat Ini
  6. Modifikasi Atribut Akun Pengguna
  7. Lembar Referensi Cepat

Beralih ke Pengguna Lain (Shell Interaktif)

Ketika Anda membutuhkan sesi terminal interaktif penuh sebagai pengguna lain — untuk administrasi sistem, menguji perilaku aplikasi di bawah akun berbeda, atau mengakses akun layanan — Linux menyediakan dua alat utama: su dan sudo.

Menggunakan su (Beralih Pengguna)

Perintah su menggantikan identitas pengguna Anda saat ini dengan pengguna lain:

su - username

Bendera - (juga ditulis sebagai -l atau --login) penting: ini memuat lingkungan login lengkap pengguna target, termasuk direktori home mereka, PATH, profil shell, dan variabel lingkungan. Tanpa bendera -, Anda mewarisi banyak lingkungan saat ini, yang dapat menyebabkan perilaku halus dan membingungkan — terutama saat menjalankan skrip atau layanan.

Untuk beralih langsung ke root:

su -

> Catatan keamanan: Pada banyak distribusi Linux modern, akun root dinonaktifkan secara default (terutama pada sistem berbasis Ubuntu). Dalam kasus ini, su ke root akan gagal, dan sudo adalah pendekatan yang benar.

Menggunakan sudo -i (Disukai untuk Shell Root/Admin)

sudo -i

Ini memberikan Anda shell login root yang setara dengan su -, tetapi mengautentikasi menggunakan hak istimewa sudo Anda sendiri daripada memerlukan kata sandi root. Ini adalah pendekatan yang direkomendasikan pada sebagian besar distribusi modern karena:

  • Ini menghindari kebutuhan untuk berbagi atau mengetahui kata sandi root
  • Semua tindakan dicatat melalui jejak audit sudo
  • Ini menghormati konfigurasi dan pembatasan sudoers Anda

Beralih ke Pengguna Lain dengan Shell Login melalui sudo

sudo -iu username

Ini menggabungkan -i (shell login) dan -u (pengguna target), memberikan Anda lingkungan login yang bersih sebagai pengguna yang ditentukan — tanpa memerlukan kata sandi pengguna tersebut.

Jalankan Perintah Tunggal sebagai Pengguna Lain

Seringkali Anda tidak memerlukan sesi interaktif penuh — Anda hanya perlu menjalankan satu perintah dengan identitas berbeda. Ini adalah pola eskalasi hak istimewa yang paling umum dan paling aman.

Menggunakan sudo -u

sudo -u username whoami
sudo -u postgres psql

Contoh kedua sangat umum dalam administrasi database — beralih ke pengguna sistem postgres untuk mengakses PostgreSQL tanpa autentikasi kata sandi.

Jalankan Perintah dengan Lingkungan Login yang Bersih

sudo -iu username command_here

Ini memastikan perintah berjalan dengan lingkungan lengkap pengguna target, bukan variabel sesi Anda saat ini.

Jalankan Perintah sebagai Root

sudo systemctl restart nginx

Ini adalah pola standar untuk tugas administratif: jalankan perintah istimewa tunggal tanpa membuka shell root.

Ubah Pengguna yang Menjalankan Layanan (systemd)

Pada hampir semua distribusi Linux modern, systemd mengelola layanan. Untuk keamanan, setiap layanan harus berjalan di bawah akun pengguna khusus yang tidak istimewa daripada root. Menjalankan layanan sebagai root adalah risiko keamanan yang signifikan — jika layanan dikompromikan, penyerang mendapatkan akses root ke seluruh sistem.

Ini sangat penting pada Server Khusus dan lingkungan VPS produksi di mana beberapa layanan mungkin berjalan secara bersamaan.

Periksa Konfigurasi Layanan Saat Ini

systemctl cat myservice.service

Cari direktif User= dan Group= di bagian [Service]:

[Service]
User=www-data
Group=www-data

Timpa Pengguna Layanan (Metode Aman)

Daripada mengedit file unit asli (yang mungkin ditimpa pada upgrade paket), gunakan systemctl edit untuk membuat penggantian drop-in:

sudo systemctl edit myservice.service

Ini membuka editor di mana Anda menambahkan:

[Service]
User=myuser
Group=mygroup

Simpan file, kemudian terapkan perubahan:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Verifikasi Layanan Berjalan sebagai Pengguna yang Benar

systemctl status myservice.service
ps -eo user,pid,cmd | grep myservice

Periksa Pengguna Proses yang Sedang Berjalan

ps -eo user,pid,cmd | grep nginx
ps -p <PID> -o user,group,cmd

> Penting: Linux tidak memungkinkan Anda mengubah pengguna dari proses yang sudah berjalan di tempat. Anda harus memulai ulang proses (atau mengonfigurasi manajer layanan untuk meluncurkannya di bawah pengguna yang benar) agar perubahan berlaku.

Ubah Kepemilikan File dengan chown

Kepemilikan file adalah bagian inti dari model izin Linux. Setelah migrasi, deployment, backup, atau pemulihan, kepemilikan dapat berakhir ditugaskan kepada pengguna yang salah — menyebabkan kesalahan izin ditolak, aplikasi web yang rusak, atau data yang tidak dapat diakses. Perintah chown adalah alat utama Anda untuk memperbaiki ini.

Ini adalah tugas umum saat menyiapkan lingkungan Shared Web Hosting atau men-deploy aplikasi web di VPS.

Ubah Pemilik File

sudo chown username file.txt

Ubah Pemilik dan Grup

sudo chown username:groupname file.txt

Perubahan Kepemilikan Rekursif (Gunakan dengan Hati-hati)

sudo chown -R username:groupname /var/www/site

Bendera -R menerapkan perubahan secara rekursif ke semua file dan subdirektori. Gunakan ini dengan hati-hati — menerapkannya ke jalur yang salah (misalnya, / atau /etc) dapat merusak seluruh sistem Anda.

sudo chown -h username:groupname symlink

Tanpa -h, chown mengikuti tautan simbolis dan mengubah kepemilikan file target, bukan symlink itu sendiri. Gunakan -h ketika Anda secara khusus ingin mengubah kepemilikan symlink.

Pratinjau Kepemilikan Sebelum Membuat Perubahan

Untuk pohon direktori besar, selalu pratinjau sebelum menerapkan chown rekursif:

find /path -maxdepth 2 -printf '%u:%g %pn' | head

Ini menunjukkan pemilik dan grup saat ini untuk dua tingkat atas pohon direktori, memungkinkan Anda mengonfirmasi cakupan perubahan sebelum berkomitmen.

Konfirmasi Identitas Anda Saat Ini

Sebelum membuat perubahan, selalu verifikasi siapa Anda dan konteks apa yang Anda operasikan. Ini mencegah perubahan yang tidak disengaja dibuat di bawah akun yang salah.

Periksa Pengguna Anda Saat Ini

whoami

Dapatkan Informasi Identitas Lengkap (Pengguna, Grup, UID)

id

Contoh output:

uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo),1001(docker)

Lihat Siapa yang Masuk ke Sistem

who
w

Periksa Pengguna Asli Saat Menggunakan sudo

Ketika Anda meningkatkan dengan sudo, dua variabel lingkungan relevan:

echo $USER        # The current effective user (root)
echo $SUDO_USER   # The original user who invoked sudo (e.g., alice)

Perbedaan ini penting dalam skrip — $SUDO_USER memberi tahu Anda siapa yang benar-benar menjalankan perintah.

Modifikasi Atribut Akun Pengguna

Kadang-kadang “ubah pengguna” berarti memodifikasi akun itu sendiri: mengganti namanya, mengubah UID, atau menyesuaikan keanggotaan grup. Ini adalah perubahan permanen di seluruh sistem yang dapat mempengaruhi login, izin file, dan akses layanan.

> Praktik terbaik: Sebelum membuat modifikasi akun, pastikan pengguna logout dan tidak ada proses yang berjalan di bawah akun tersebut.

Ganti Nama Pengguna (Ubah Nama Pengguna)

sudo usermod -l newname oldname

Ini mengubah nama login tetapi tidak secara otomatis mengganti nama direktori home. Untuk juga memindahkan dan mengganti nama direktori home:

sudo usermod -d /home/newname -m newname

Jika pengguna memiliki grup utama dengan nama yang sama dengan nama pengguna lama mereka (yang merupakan default pada sebagian besar distribusi), perbarui nama grup juga:

sudo groupmod -n newname oldname

Ubah UID Pengguna

sudo usermod -u 2001 username

> Kritis: Setelah mengubah UID, semua file yang sebelumnya dimiliki oleh UID lama akan muncul dimiliki oleh ID numerik yang tidak dikenal. Anda harus memperbaiki ini segera:

sudo find / -user oldUID -exec chown -h username {} ;

Ganti oldUID dengan UID numerik sebelumnya. Perintah ini mencari seluruh sistem file untuk file dengan UID lama dan menetapkan ulang kepemilikan mereka ke nama pengguna baru.

Tambahkan Pengguna ke Grup

Kasus penggunaan paling umum adalah memberikan akses sudo kepada pengguna:

Debian/Ubuntu:

sudo usermod -aG sudo username

RHEL / AlmaLinux / Rocky Linux:

sudo usermod -aG wheel username

Bendera -a sangat penting — ini menambahkan pengguna ke grup tanpa menghapusnya dari grup yang ada. Menghilangkan -a akan mengganti semua keanggotaan grup dengan hanya grup yang ditentukan.

Verifikasi Keanggotaan Grup

id username

Lembar Referensi Cepat

Berikut adalah referensi terpadu untuk semua operasi pengguna-switching dan manajemen yang tercakup dalam panduan ini:

TugasPerintah
Beralih ke pengguna lain (shell login)su - username
Beralih ke pengguna lain melalui sudosudo -iu username
Buka shell rootsudo -i
Jalankan perintah sebagai pengguna lainsudo -u username command
Jalankan perintah sebagai postgressudo -u postgres psql
Periksa pengguna saat iniwhoami
Periksa identitas lengkap dan grupid
Periksa penyeru sudo asliecho $SUDO_USER
15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai