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 - usernameakan melakukan hal yang sama, tetapi pertama-tama minta sistem untuk ditingkatkan ke mode pengguna super, lalusutidak akan meminta kata sandi "nama pengguna" karena pengguna super diizinkan untuk berubah menjadi pengguna lain tanpa mengetahui kata sandinya. Bisa dikatakan,sudodengan sendirinya menegakkan keamanan dengan memeriksa/etc/sudoersfile 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.