Beranda » bagaimana » Apa Perbedaan Sudo dan Su di Linux?

    Apa Perbedaan Sudo dan Su di Linux?

    Jika Anda pengguna Linux, Anda mungkin telah melihat referensi untuk sudo dan su. Artikel di sini tentang 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 pada Windows - pengguna root memiliki izin maksimum dan dapat melakukan apa saja pada sistem. Pengguna normal di Linux dijalankan dengan izin yang dikurangi - misalnya, mereka tidak dapat menginstal perangkat lunak atau menulis ke direktori sistem.

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

    Su vs Sudo

    Perintah su beralih ke pengguna super - atau pengguna root - ketika 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 apa pun. Jika Anda menjalankan su bob perintah, Anda akan diminta untuk memasukkan kata sandi Bob dan shell akan beralih ke akun pengguna Bob.

    Setelah selesai menjalankan perintah di root shell, Anda harus mengetik keluar untuk meninggalkan shell root dan kembali ke mode privilege terbatas.

    Sudo menjalankan satu perintah dengan hak akses root. Ketika Anda mengeksekusi perintah sudo, sistem meminta kata sandi akun pengguna Anda saat ini sebelum berjalan 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 habis.

    Ini adalah perbedaan utama antara su dan sudo. Su mengalihkan Anda ke akun pengguna root dan memerlukan kata sandi akun root. Sudo menjalankan satu perintah dengan hak akses root - itu tidak beralih ke pengguna root atau memerlukan kata sandi pengguna root yang 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 hanya menggunakan sudo saja. Saat Anda menginstal Ubuntu, akun root standar dibuat, tetapi tidak ada kata sandi yang ditetapkan untuknya. 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 memberikan dan mengingat kata sandi tunggal, sedangkan Fedora dan distribusi lainnya mengharuskan Anda membuat kata sandi akun root dan akun pengguna yang terpisah selama instalasi.

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

    Distribusi berbasis Ubuntu, termasuk Linux Mint, juga menggunakan sudo alih-alih su secara default.

    Beberapa Trik

    Linux itu fleksibel, jadi tidak butuh banyak kerja untuk membuat su bekerja sama dengan sudo - atau sebaliknya.

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

    su -c 'command'

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

    Untuk mendapatkan shell root interaktif penuh dengan sudo, jalankan sudo -i.

    Anda harus memberikan kata sandi akun pengguna saat ini alih-alih 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 meminta Anda untuk kata sandi akun pengguna Anda saat ini sebelum Anda dapat mengatur kata sandi baru. Gunakan kata sandi baru Anda untuk login sebagai root dari terminal login prompt atau dengan perintah su. Anda seharusnya tidak pernah 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 menunjuk akun pengguna yang dibuat selama instalasi sebagai akun administrator.

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

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

    user ALL = (ALL: ALL) ALL

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

    Versi Grafis Su

    Linux juga mendukung versi su grafis, yang meminta kata sandi Anda di 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 lainnya - ini mempertahankan pengaturan desktop Anda saat ini, sehingga program grafis tidak akan terlihat tidak pada tempatnya ketika Anda meluncurkannya sebagai pengguna yang berbeda. Program seperti gksu adalah cara yang lebih disukai untuk meluncurkan aplikasi grafis dengan hak akses root.

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


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