Apa Perbedaan Sudo dan Su di Linux?

Jika Anda pengguna Linux, Anda mungkin pernah melihat referensi ke sudo dan su. Artikel di sini di How-To Geek dan di tempat lain menginstruksikan pengguna Ubuntu untuk menggunakan sudo dan pengguna distribusi Linux lainnya untuk menggunakan su, tetapi apa bedanya?

Sudo dan su adalah dua cara berbeda untuk mendapatkan hak akses root. Setiap fungsi dengan cara yang berbeda, dan distribusi Linux yang berbeda menggunakan konfigurasi yang berbeda secara default.

Pengguna Root

Baik su dan sudo digunakan untuk menjalankan perintah dengan izin root. Pengguna root pada dasarnya setara dengan pengguna administrator di Windows - pengguna root memiliki izin maksimum dan dapat melakukan apa saja ke sistem. Pengguna normal di Linux berjalan dengan izin yang lebih rendah - misalnya, mereka tidak dapat menginstal perangkat lunak atau menulis ke direktori sistem.

Untuk melakukan sesuatu yang membutuhkan izin ini, Anda harus mendapatkannya dengan su atau sudo.

Su vs. Sudo

Perintah su beralih ke pengguna super - atau pengguna root - saat Anda menjalankannya tanpa opsi tambahan. Anda harus memasukkan kata sandi akun root. Namun, ini tidak semua perintah su - Anda dapat menggunakannya untuk beralih ke akun pengguna mana pun. Jika Anda menjalankan perintah su bob , Anda akan diminta memasukkan kata sandi Bob dan shell akan beralih ke akun pengguna Bob.

Setelah Anda selesai menjalankan perintah di shell root, Anda harus mengetik exit untuk meninggalkan shell root dan kembali ke mode hak istimewa terbatas.

Sudo menjalankan satu perintah dengan hak akses root. Saat Anda menjalankan perintah sudo , sistem meminta kata sandi akun pengguna Anda saat ini sebelum menjalankan perintah sebagai pengguna root. Secara default, Ubuntu mengingat kata sandi selama lima belas menit dan tidak akan meminta kata sandi lagi sampai lima belas menit berlalu.

Inilah perbedaan utama antara su dan sudo. Su mengalihkan Anda ke akun pengguna root dan membutuhkan kata sandi akun root. Sudo menjalankan satu perintah dengan hak akses root - ia tidak beralih ke pengguna root atau memerlukan kata sandi pengguna root terpisah.

Ubuntu vs. Distribusi Linux Lainnya

Perintah su adalah cara tradisional untuk memperoleh izin root di Linux. Perintah sudo sudah ada sejak lama, tetapi Ubuntu adalah distribusi Linux populer pertama yang menggunakan sudo-only secara default. Saat Anda menginstal Ubuntu, akun root standar dibuat, tetapi tidak ada kata sandi yang ditetapkan untuk itu. Anda tidak dapat masuk sebagai root sampai Anda menetapkan kata sandi ke akun root.

Ada beberapa keuntungan menggunakan sudo daripada su secara default. Pengguna Ubuntu hanya perlu menyediakan dan mengingat satu kata sandi, sedangkan Fedora dan distribusi lain mengharuskan Anda membuat kata sandi root dan akun pengguna terpisah selama instalasi.

Keuntungan lainnya adalah mencegah pengguna untuk masuk sebagai pengguna root - atau menggunakan su untuk mendapatkan shell root - dan menjaga shell root tetap terbuka untuk melakukan pekerjaan normal mereka. Menjalankan lebih sedikit perintah saat root meningkatkan keamanan dan mencegah perubahan di seluruh sistem yang tidak disengaja.

Distribusi berdasarkan Ubuntu, termasuk Linux Mint, juga menggunakan sudo sebagai ganti su secara default.

Beberapa Trik

Linux itu fleksibel, jadi tidak butuh banyak usaha untuk membuat su berfungsi mirip dengan sudo - atau sebaliknya.

Untuk menjalankan satu perintah sebagai pengguna root dengan su, jalankan perintah berikut:

su -c 'perintah'

Ini mirip dengan menjalankan perintah dengan sudo, tetapi Anda memerlukan kata sandi akun root, bukan kata sandi akun pengguna Anda saat ini.

Untuk mendapatkan shell root yang penuh dan interaktif dengan sudo, jalankan sudo –i.

Anda harus memberikan kata sandi akun pengguna Anda saat ini, bukan kata sandi akun root.

Mengaktifkan Pengguna Root di Ubuntu

Untuk mengaktifkan akun pengguna root di Ubuntu, gunakan perintah berikut untuk mengatur kata sandi untuk itu. Ingatlah bahwa Ubuntu merekomendasikan hal ini.

sudo passwd root

Sudo akan menanyakan kata sandi akun pengguna Anda saat ini sebelum Anda dapat menyetel kata sandi baru. Gunakan kata sandi baru Anda untuk masuk sebagai root dari prompt login terminal atau dengan perintah su. Anda tidak boleh menjalankan lingkungan grafis penuh sebagai pengguna root - ini adalah praktik keamanan yang sangat buruk, dan banyak program akan menolak untuk bekerja.

Menambahkan Pengguna ke File Sudoers

Hanya akun tipe administrator di Ubuntu yang dapat menjalankan perintah dengan sudo. Anda dapat mengubah jenis akun pengguna dari jendela konfigurasi Akun Pengguna.

Ubuntu secara otomatis menetapkan akun pengguna yang dibuat selama instalasi sebagai akun administrator.

Jika Anda menggunakan distribusi Linux lain, Anda dapat memberikan izin pengguna untuk menggunakan sudo dengan menjalankan perintah visudo dengan hak akses root (jadi jalankan su dulu atau gunakan su -c ).

Tambahkan baris berikut ke file, ganti pengguna dengan nama akun pengguna:

pengguna SEMUA = (SEMUA: SEMUA) SEMUA

Tekan Ctrl-X lalu Y untuk menyimpan file. Anda mungkin juga dapat menambahkan pengguna ke grup yang ditentukan dalam file. Pengguna dalam grup yang ditentukan dalam file secara otomatis akan memiliki hak sudo.

Versi Grafis Su

Linux juga mendukung versi grafis su, yang meminta kata sandi Anda dalam lingkungan grafis. Misalnya, Anda dapat menjalankan perintah berikut untuk mendapatkan prompt kata sandi grafis dan menjalankan browser file Nautilus dengan izin root. Tekan Alt-F2 untuk menjalankan perintah dari dialog jalankan grafis tanpa meluncurkan terminal.

gksu nautilus

Perintah gksu juga memiliki beberapa trik lain - ini mempertahankan pengaturan desktop Anda saat ini, sehingga program grafis tidak akan terlihat aneh saat Anda meluncurkannya sebagai pengguna yang berbeda. Program seperti gksu adalah cara yang disukai untuk meluncurkan aplikasi grafis dengan hak akses root.

Gksu menggunakan backend berbasis su atau sudo, tergantung pada distribusi Linux yang Anda gunakan.

Sekarang Anda harus siap menghadapi su dan sudo! Anda akan menemukan keduanya jika Anda menggunakan distribusi Linux yang berbeda.