Perbedaan Antara su dan sudo dan Cara Konfigurasi sudo di Linux


Sistem Linux jauh lebih aman dibandingkan sistem Linux lainnya. Salah satu cara untuk menerapkan keamanan di Linux adalah kebijakan manajemen pengguna dan izin pengguna dan pengguna biasa tidak berwenang untuk melakukan operasi sistem apa pun.

Jika pengguna biasa perlu melakukan perubahan apa pun di seluruh sistem, dia perlu menggunakan perintah ‘su' atau 'sudo'.

CATATAN – Artikel ini lebih berlaku untuk distribusi berbasis Ubuntu, namun juga berlaku untuk sebagian besar Linux yang populer distribusi.

'su' Vs 'sudo'

'su' memaksa Anda untuk membagikan kata sandi root Anda kepada pengguna lain sedangkan 'sudo' memungkinkan untuk mengeksekusi perintah sistem tanpa kata sandi root. 'sudo' memungkinkan Anda menggunakan kata sandi Anda sendiri untuk menjalankan perintah sistem, yaitu mendelegasikan tanggung jawab sistem tanpa kata sandi root.

Apa itu 'sudo'?

'sudo' adalah biner root setuid, yang mengeksekusi perintah root atas nama pengguna yang berwenang dan pengguna harus memasukkan kata sandi mereka sendiri untuk mengeksekusi perintah sistem diikuti dengan 'sudo'.

Siapa yang bisa mengeksekusi 'sudo'?

Kita dapat menjalankan '/usr/sbin/visudo' untuk menambah/menghapus daftar pengguna yang dapat menjalankan 'sudo'.

sudo /usr/sbin/visudo

Cuplikan layar file ‘/usr/sbin/visudo‘, terlihat seperti ini:

Daftar sudo terlihat seperti string di bawah ini, secara default:

root ALL=(ALL) ALL

Catatan: Anda harus root untuk mengedit /usr/sbin/visudo mengajukan.

Memberikan Akses sudo

Dalam banyak situasi, Administrator Sistem, khususnya yang baru mengenal bidang ini, menemukan string “root ALL=(ALL) ALL ” sebagai templat dan memberikan akses tidak terbatas kepada orang lain yang mungkin berpotensi sangat merugikan.

Mengedit file '/usr/sbin/visudo' menjadi seperti pola di bawah ini mungkin sangat berbahaya, kecuali Anda sepenuhnya mempercayai semua pengguna yang terdaftar.

root ALL=(ALL) ALL
adam ALL=(ALL) ALL
tom ALL=(ALL) ALL
mark ALL=(ALL) ALL

Parameter sudo

'sudo' yang dikonfigurasi dengan benar sangat fleksibel dan jumlah perintah yang perlu dijalankan dapat dikonfigurasi dengan tepat.

Sintaks baris 'sudo' yang dikonfigurasi adalah:

User_name Machine_name=(Effective_user) command

Sintaks di atas dapat dibagi menjadi empat bagian:

  1. Nama_Pengguna: Ini adalah nama pengguna 'sudo'.
  2. Nama_mesin: Ini adalah nama host, di mana perintah 'sudo' valid. Berguna bila Anda memiliki banyak mesin host.
  3. (Pengguna_Efektif): 'Pengguna efektif' yang diizinkan menjalankan perintah. Kolom ini memungkinkan Anda mengizinkan pengguna untuk menjalankan Perintah Sistem.
  4. Perintah: perintah atau serangkaian perintah yang dapat dijalankan pengguna.

Saran Baca: 10 Konfigurasi Sudoers yang Berguna untuk Mengatur 'sudo' di Linux

Beberapa Situasi, dan baris 'sudo' yang terkait:

Q1. Anda memiliki tanda pengguna yang merupakan Administrator Basis Data. Anda seharusnya memberinya semua akses di Server Database (beta.database_server.com) saja, dan bukan di host mana pun.

Untuk situasi di atas baris 'sudo' dapat ditulis sebagai:

mark beta.database_server.com=(ALL) ALL

Q2. Anda memiliki pengguna 'tom' yang seharusnya menjalankan perintah sistem sebagai pengguna selain root pada Server Database yang sama, Dijelaskan di atas.

Untuk situasi di atas baris 'sudo' dapat ditulis sebagai:

mark beta.database_server.com=(tom) ALL

Q3. Anda memiliki pengguna sudo 'cat' yang seharusnya menjalankan perintah ' anjing' saja.

Untuk menerapkan situasi di atas, kita dapat menulis 'sudo' sebagai:

mark beta.database_server.com=(cat) dog

Q4. Bagaimana jika pengguna perlu diberikan beberapa perintah?

Jika jumlah perintah yang harus dijalankan pengguna di bawah 10, kita dapat menempatkan semua perintah di sampingnya, dengan spasi di antaranya, seperti yang ditunjukkan di bawah ini:

mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...

Jika daftar perintah ini bervariasi sesuai rentang, sehingga tidak memungkinkan untuk mengetik setiap perintah secara manual, kita perlu menggunakan alias. Alias! Ya, utilitas Linux di mana perintah yang panjang atau daftar perintah dapat disebut sebagai kata kunci yang kecil dan mudah.

Beberapa Contoh alias, yang dapat digunakan sebagai pengganti entri dalam file konfigurasi 'sudo'.

User_Alias ADMINS=tom,jerry,adam
user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE
Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top

Anda dapat menentukan Grup Sistem, sebagai ganti pengguna, yang termasuk dalam grup tersebut dengan menambahkan akhiran '%' seperti di bawah ini:

%apacheadmin WEBSERVERS=(www) APACHE

Q5. Bagaimana jika menjalankan perintah 'sudo' tanpa memasukkan kata sandi?

Kita dapat menjalankan perintah 'sudo' tanpa memasukkan kata sandi dengan menggunakan tanda 'NOPASSWD'.

adam ALL=(ALL) NOPASSWD: PROCS

Di sini pengguna 'adam' dapat menjalankan semua perintah alias di bawah “PROCS ”, tanpa memasukkan kata sandi.

Saran Baca: Biarkan Sudo Menghina Anda Saat Anda Memasukkan Kata Sandi yang Salah

sudo ” memberi Anda lingkungan yang kuat dan aman dengan banyak fleksibilitas dibandingkan dengan 'su'. Selain itu konfigurasi “sudo ” mudah. Beberapa distribusi Linux mengaktifkan “sudo ” secara default, sementara sebagian besar distro saat ini mengharuskan Anda mengaktifkannya sebagai Ukuran Keamanan.

Untuk menambahkan pengguna (bob) ke sudo jalankan saja perintah di bawah ini sebagai root.

adduser bob sudo

Itu saja untuk saat ini. Saya akan berada di sini lagi dengan artikel menarik lainnya. Sampai saat itu tetap terhubung dan terhubung dengan Tecmint. Jangan lupa untuk memberi kami umpan balik Anda yang berharga di bagian komentar kami.