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.
- Beralih ke akun lain di shell (misalnya, dari john ke root)
- 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)
– (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:
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)
Memberikan Anda shell login root (mirip dengan su -), menggunakan hak sudo Anda alih-alih kata sandi root.
Beralih ke pengguna lain dengan shell login:
Jalankan satu perintah sebagai pengguna lain (non-interaktif)
sudo -u
Jalankan dengan lingkungan seperti login yang bersih:
Jalankan perintah sebagai root
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:
Atau:
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:
Cari:
User=Group=
Contoh override (metode aman):
Tambahkan:
Terapkan:
Verifikasi:
Ubah kepemilikan file (mengganti “pengguna” untuk file)
chown (perubahan pemilik)
Ubah pemilik:
Ubah pemilik dan grup:
Rekursif (hati-hati):
Pertahankan symlink (hindari mengubah target tautan):
Tip lanjutan: Untuk pohon besar, pratinjau terlebih dahulu:
Ubah identitas shell Anda saat ini vs. mengubah akun itu sendiri
Konfirmasi siapa Anda
Konfirmasi siapa yang masuk
Lihat pengguna mana yang menjalankan shell saat ini melalui sudo
Ubah nama pengguna, UID, grup (modifikasi akun)
Ganti nama pengguna (nama pengguna)
Juga pindahkan/ganti nama direktori home:
Perbarui nama grup juga (opsional):
Ubah UID (lanjutan; mempengaruhi kepemilikan file)
Setelah mengubah UID, perbaiki kepemilikan file:
Tambahkan pengguna ke grup (misalnya, sudo)
Verifikasi:
“Lembar curang” cepat
Beralih pengguna:
Jalankan perintah sebagai pengguna lain:
Jalankan shell root:
Ubah pemilik file:
Ubah detail akun:
