Hanya mengulangi jawaban @dr01 dan @OneK karena keduanya kehilangan beberapa detail bagus:
su - username
- Meminta sistem untuk memulai sesi login baru untuk pengguna tertentu. Sistem akan meminta kata sandi untuk "nama pengguna" pengguna (meskipun sama dengan pengguna saat ini).sudo su - username
akan melakukan hal yang sama, tetapi pertama-tama minta sistem untuk ditingkatkan ke mode pengguna super, lalusu
tidak akan meminta kata sandi "nama pengguna" karena pengguna super diizinkan untuk berubah menjadi pengguna lain tanpa mengetahui kata sandinya. Bisa dikatakan,sudo
dengan sendirinya menegakkan keamanan dengan memeriksa/etc/sudoers
file untuk memastikan pengguna saat ini diizinkan untuk mendapatkan izin pengguna super, dan mungkin memverifikasi kata sandi pengguna saat ini.
Saya juga ingin berkomentar bahwa untuk mendapatkan sesi login pengguna super, silakan gunakan sudo -i
(atau sudo -s
) sebagai sudo su -
konyol:ini menanyakan sudo
untuk memberikan izin pengguna super ke su
sehingga su
dapat memulai shell login untuk pengguna super - saat sudo
dapat mencapai hasil yang sama lebih baik dengan sendirinya.
Memiliki hak pengguna super, sudo su - username
akan memasukkan Anda (dalam shell login) sebagai $username
tanpa meminta kata sandi, sedangkan su - username
akan meminta kata sandi $username
.
sudo su - username
melakukan hal yang sama seperti su - username
:menjalankan shell login sebagai username
.
su - username
jalankan sebagai root dan sudo su - username
tidak perlu tahu nama pengguna kata sandi (karena dijalankan dengan hak istimewa tinggi), sedangkan su - username
dijalankan sebagai pengguna normal perlu mengetahuinya.