15%

Hemat 15% untuk Semua Layanan Hosting

Uji kemampuan Anda dan dapatkan Diskon untuk paket hosting apa pun

Gunakan kode:

Skills
Memulai
02.01.2026

Bagaimana cara mengganti pengguna di linux?

Dalam Linux, frasa “ganti pengguna” dapat menggambarkan beberapa tindakan berbeda—beberapa sementara dan berbasis sesi, lainnya permanen dan sistem-wide. Karena Linux adalah sistem operasi multi-pengguna secara desain, ia menyediakan beberapa cara untuk mengganti identitas dan izin tergantung pada apa yang ingin Anda capai: mengelola server, menjalankan aplikasi dengan hak terbatas, memperbaiki masalah akses file, atau merestrukturisasi akun pengguna.

Mengganti “pengguna” di Linux dapat berarti beberapa hal berbeda tergantung pada konteks:

    • Beralih ke akun lain di shell (misalnya, dari john ke root)
      Ini digunakan ketika Anda memerlukan sesi terminal interaktif sebagai pengguna lain—sering untuk administrasi sistem atau untuk menguji bagaimana sesuatu berperilaku di bawah lingkungan akun yang berbeda.
    • Menjalankan satu perintah sebagai pengguna lain
      Ideal ketika Anda hanya memerlukan hak istimewa yang lebih tinggi atau identitas yang berbeda untuk satu tugas (seperti memulai ulang layanan atau menjalankan perintah database) tanpa sepenuhnya mengganti sesi Anda.
  • Mengubah pengguna login default untuk layanan/proses
    Layanan (server web, database, aplikasi) biasanya harus berjalan di bawah pengguna yang didedikasikan, bukan root untuk keamanan. Mengubah pengguna layanan mempengaruhi bagaimana proses berjalan dan apa yang dapat diaksesnya.
  • Mengubah siapa yang memiliki file dan direktori
    Kepemilikan file mengontrol akses. Jika izin salah—umum setelah migrasi, pemulihan, atau penyebaran—Anda “mengganti pengguna” dengan menetapkan kembali kepemilikan sehingga akun yang benar dapat membaca/menulis file.
  • Mengubah atribut identitas pengguna (nama pengguna, UID, grup)
    Ini adalah manajemen akun: mengganti nama pengguna, mengubah UID mereka, atau menyesuaikan keanggotaan grup (seperti memberikan akses sudo). Perubahan ini dapat mempengaruhi login, izin, dan akses layanan.

Panduan ini mencakup semua skenario ini, menunjukkan kapan harus menggunakan setiap pendekatan, bagaimana melakukannya dengan aman, dan kesalahan apa yang harus dihindari—sehingga Anda dapat mengganti pengguna dengan percaya diri tanpa merusak izin, layanan, atau akses.

Beralih ke pengguna lain (shell interaktif)

su (ganti pengguna)

su - username
  • – (atau -l) memuat lingkungan login penuh pengguna target: direktori home, PATH, profil shell.

  • Tanpa -, Anda mempertahankan banyak dari lingkungan saat ini (bisa membingungkan).

Beralih ke root:

su -

Catatan keamanan: Di banyak distro, su memerlukan kata sandi pengguna target (misalnya, kata sandi root), yang sering dinonaktifkan.

sudo -i (disukai untuk shell root/admin)

sudo -i

Memberikan Anda shell login root (mirip dengan su -), menggunakan hak sudo Anda alih-alih kata sandi root.

Beralih ke pengguna lain dengan shell login:

sudo -iu username

Jalankan satu perintah sebagai pengguna lain (non-interaktif)

sudo -u

sudo -u username whoami
sudo -u postgres psql

Jalankan dengan lingkungan seperti login yang bersih:

sudo -iu username

Jalankan perintah sebagai root

sudo systemctl restart nginx

Ubah “pengguna efektif” dari proses yang sedang berjalan (realitas lanjutan)

Linux tidak membiarkan Anda “mengganti pengguna” dari proses yang sudah berjalan di tempat dalam sebagian besar skenario praktis. Sebagai gantinya, Anda biasanya:

  • memulai ulang proses di bawah pengguna yang benar

  • atau menggunakan manajer layanan (systemd) untuk mendefinisikan pengguna

Untuk memeriksa pengguna mana yang menjalankan proses:

ps -eo user,pid,cmd | grep nginx

Atau:

ps -p <PID> -o user,group,cmd

Ubah pengguna mana yang dijalankan oleh layanan (systemd)

Sebagian besar Linux produksi menggunakan systemd. Layanan harus dijalankan sebagai pengguna yang didedikasikan, tidak memiliki hak istimewa.

Periksa konfigurasi layanan:

systemctl cat myservice.service

Cari:

  • User=

  • Group=

Contoh override (metode aman):

sudo systemctl edit myservice.service

Tambahkan:

[Service]
User=myuser
Group=mygroup

Terapkan:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Verifikasi:

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

Ubah kepemilikan file (mengganti “pengguna” untuk file)

chown (perubahan pemilik)

Ubah pemilik:

sudo chown username file.txt

Ubah pemilik dan grup:

sudo chown username:groupname file.txt

Rekursif (hati-hati):

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

Pertahankan symlink (hindari mengubah target tautan):

sudo chown -h username:group symlink

Tip lanjutan: Untuk pohon besar, pratinjau terlebih dahulu:

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

Ubah identitas shell Anda saat ini vs. mengubah akun itu sendiri

Konfirmasi siapa Anda

whoami
id

Konfirmasi siapa yang masuk

who
w

Lihat pengguna mana yang menjalankan shell saat ini melalui sudo

echo $USER
echo $SUDO_USER

Ubah nama pengguna, UID, grup (modifikasi akun)

Ganti nama pengguna (nama pengguna)

sudo usermod -l newname oldname

Juga pindahkan/ganti nama direktori home:

sudo usermod -d /home/newname -m newname

Perbarui nama grup juga (opsional):

sudo groupmod -n newname oldname

Ubah UID (lanjutan; mempengaruhi kepemilikan file)

sudo usermod -u 2001 username

Setelah mengubah UID, perbaiki kepemilikan file:

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

Tambahkan pengguna ke grup (misalnya, sudo)

sudo usermod -aG sudo username # Debian/Ubuntu
sudo usermod -aG wheel username # RHEL/Alma/Rocky

Verifikasi:

id username

“Lembar curang” cepat

Beralih pengguna:

su - user
sudo -iu user

Jalankan perintah sebagai pengguna lain:

sudo -u user command

Jalankan shell root:

sudo -i

Ubah pemilik file:

sudo chown -R user:group /path

Ubah detail akun:

sudo usermod -l new old
sudo usermod -d /home/new -m new
sudo usermod -aG
sudo user
15%

Hemat 15% untuk Semua Layanan Hosting

Uji kemampuan Anda dan dapatkan Diskon untuk paket hosting apa pun

Gunakan kode:

Skills
Memulai