Apa perbedaan antara root dan sudo?

14

Seorang pengguna root dapat memiliki semua hak istimewa. Tetapi pengguna normal dapat memperoleh akses seperti root dengan perintah su atau sudo dan kata sandi mereka sendiri.

Jadi apa bedanya?

Hieu M. Nguyen
sumber

Jawaban:

7

Itu su (dan sudo) memerlukan perintah tradisional akar kata sandi Namun, Anda dapat mengatur sudo sehingga pengguna biasa dapat mencapai hak akses root dengan kata sandi mereka sendiri dengan memodifikasi /etc/sudoers (sebagai root, sebaiknya dengan visudo ).

Distribusi Linux modern mengonfigurasikan pengguna pertama yang dapat melakukan sudo dengan kata sandinya sendiri. Ini mencegah malconfiguration sistem yang tidak disengaja oleh pengguna, dan memungkinkan mereka untuk mendapatkan kontrol penuh tanpa perlu kata sandi root terpisah.

phihag
sumber
2
Anda harus menggunakan «visudo» alih-alih mengedit secara manual / etc / sudoers - sintaksnya akan diperiksa sebelum disimpan yang dapat menyelamatkan Anda dari masalah.
Nicolas
@Nicolas Diperbarui untuk memasukkan itu. Tetapi saya ingin menunjukkan bahwa file tersebut ditulis secara otomatis oleh distribusi modern.
phihag
3

Seorang pengguna normal hanya dapat memperoleh akses root dengan sudo jika mereka berada di file sudoers (artinya mereka cukup dipercaya untuk mendapatkan izin admin sesuai permintaan). Dalam lingkungan produksi, hampir tidak ada orang yang harus menjadi sudoer.

Tremmors
sumber
3

Itu su perintahkan untuk sementara mengubah identitas kepada setiap pengguna pada suatu sistem dan menjalankan banyak program dengan izinnya. Tidak harus menjadi root. Jika pengguna mengeksekusi su bukan root, ia harus memasukkan kata sandi pengguna yang ia ingin dapatkan identitasnya.

Itu sudo perintah untuk jalankan satu perintah dengan izin dari pengguna mana pun. Tidak harus menjadi root juga. Perintah ini sangat dapat dikonfigurasi dan menyediakan semacam kontrol akses yang tepat. Kata sandi yang dimasukkan sendiri adalah opsional dan dapat dikonfigurasi. Beberapa distribusi membiarkan pengguna pertama dari sistem untuk mengeksekusi sudo segala sesuatu.

Michas
sumber
2

Untuk menambah jawaban di atas,

su user1 dengan kata sandi pengguna akan mengalihkan kredensial Anda ke pengguna1 hingga Anda mengetikkan kata sandi hanya su akan menganggap root secara default.

sudo sebagaimana disebutkan dalam jawaban lain, dapat diberikan kepada pengguna tepercaya dan serangkaian perintah terbatas. bahkan, sudo dapat dikonfigurasi untuk mencatat perintah yang dijalankan. Ini adalah cara yang baik untuk melacak penyalahgunaan hak istimewa.

Lord Loh.
sumber
1

Tidak semua pengguna normal dapat menggunakan sudo, mereka harus berada di file sudoers dan Anda dapat mengontrol perintah atau jenis perintah yang bisa dijalankan pengguna. Selain itu, hanya pengguna tertentu yang dapat menggunakan su untuk beralih ke pengguna root. Biasanya Anda hanya akan memiliki izin sudo untuk serangkaian perintah terbatas dan izin su penuh untuk jangka waktu terbatas.

ldg
sumber
3
cukup yakin semua pengguna dapat menggunakan su, mereka hanya perlu kata sandi dari pengguna yang mereka gunakan.
Grady Player
1
Secara tradisional, BSD mengharuskan seseorang untuk berada di grup wheel untuk memungkinkan penggunaan su menjadi root. Ini dapat dikonfigurasi di Linux juga, tetapi tidak standar.
Jaap Eldering
-2

Hanya pengguna dengan hak istimewa pengguna super yang dapat melakukan sudo atau su, pengguna normal tidak bisa. Ini dikonfigurasi di / etc / sudoers, yang harus selalu diedit dengan visudo.

Manfaat dari sistem ini adalah:

  1. Mudah bagi pengguna yang memiliki hak istimewa untuk menjalankan perintah sebagai root hanya saat diperlukan,
  2. mempersulit menebak nama pengguna root (mis., jika bot ssh sederhana mencoba masuk ke suatu sistem root akan menjadi nama login pertama yang ditebak).
  3. Beberapa pengguna pada sistem bersama dapat memiliki izin root, tanpa perlu berbagi kata sandi.
dr jimbob
sumber