GNU/Linux >> Belajar Linux >  >> Linux

Menjelajahi perbedaan antara perintah sudo dan su di Linux

Artikel ini membahas perbedaan antara sudo dan su perintah di Linux. Anda juga dapat menonton video ini untuk mempelajari tentang perintah-perintah ini. Menjadi root secara permanen dengan su adalah 'tidak-tidak' yang terkenal di alam semesta *nix. Mengapa? Karena menjadi root dengan su berarti Anda adalah root, yang sama dengan masuk ke terminal sebagai pengguna root dengan kata sandi root. Dan itu berbahaya karena berbagai alasan.

[ Anda mungkin juga menikmati: Dasar-dasar baris perintah Linux:sudo ]

Bekerja sebagai root berarti Anda memiliki kekuatan untuk:

  • Hapus salah satu atau semua file
  • Ubah izin dari salah satu atau semua file
  • Ubah runlevel sistem
  • Mengubah akun pengguna
  • Memasang atau melepas sistem file
  • Hapus atau instal perangkat lunak
  • Membuat, menghapus, dan mengubah sistem file

Pada dasarnya, Anda dapat melakukan apa saja pada sistem sebagai pengguna root. Ini adalah akun administratif yang sangat kuat. Dan, tidak seperti sistem operasi lain yang lebih cerewet, Anda tidak akan melihat, "Apakah Anda yakin?" dialog untuk memastikan bahwa rm -rf * perintah yang baru saja Anda keluarkan ada di /opt/tmp bukan di / . Seperti yang dapat Anda bayangkan, kesalahan yang dibuat sebagai pengguna root dapat menjadi tidak dapat diubah dan menghancurkan. Ada alternatif:sudo .

sudo

sudo , yang merupakan akronim dari superuser do atau subtitusi user do , adalah perintah yang menjalankan prompt yang ditinggikan tanpa perlu mengubah identitas Anda. Tergantung pada pengaturan Anda di /etc/sudoers file, Anda dapat mengeluarkan perintah tunggal sebagai root atau sebagai pengguna lain. Untuk terus menjalankan perintah dengan kekuatan root, Anda harus selalu menggunakan perintah sudo. Misalnya, jika Anda ingin memasang Nginx paket, Anda menjalankan:

$ dnf install nginx

Tetapi Anda akan melihat kesalahan jika Anda tidak melakukan root atau berada di grup sudo. Sebaliknya, jika Anda menjalankan perintah ini:

$ sudo dnf install nginx

Anda akan diminta untuk mengetikkan kata sandi Anda, dan kemudian Anda dapat menjalankan perintah tersebut jika Anda adalah bagian dari grup sudo.

Cara sederhana untuk beralih ke sesi interaktif sebagai pengguna root adalah sebagai berikut:

$ sudo -i

Teori di balik penggunaan sudo adalah bahwa tindakan mengeluarkan perintah sudo sebelum perintah apa pun yang Anda jalankan membuat Anda lebih memikirkan apa yang Anda lakukan dan semoga membuat lebih sedikit kesalahan dengan akun yang memiliki kekuatan tak terbatas.

su

su , di sisi lain, adalah akronim untuk ganti pengguna atau pengguna pengganti . Anda pada dasarnya beralih ke pengguna tertentu dan Anda memerlukan kata sandi untuk pengguna yang Anda tuju. Paling sering, akun pengguna yang Anda alihkan adalah akun root tetapi dapat berupa akun apa pun di sistem.

Misalnya, jika Anda mengetik:

$ su -

Pada contoh di atas, Anda beralih ke root dan Anda memerlukan sandi root. (- ) switch memberi Anda lingkungan root (variabel path dan shell) daripada hanya memberi Anda kekuatan pengguna root untuk satu perintah sambil menjaga lingkungan Anda sendiri.

$ su bryant

Untuk contoh kedua, Anda beralih ke bryant , jadi Anda memerlukan kata sandi bryant kecuali Anda root.

Jika Anda ingin beralih ke bryant akun pengguna termasuk path bryant dan variabel lingkungan, gunakan (- ) beralih:

$ su - bryant

(- ) switch memiliki efek yang sama seperti masuk ke sistem secara langsung dengan akun pengguna tersebut. Intinya, Anda menjadi pengguna itu.

Menutup

Mengulang kembali apa yang telah Anda pelajari.

  • sudo memungkinkan Anda mengeluarkan perintah sebagai pengguna lain tanpa mengubah identitas Anda
  • Anda harus memiliki entri di /etc/sudoers untuk menjalankan izin terbatas ini
  • sudo -i membawa Anda ke sesi interaktif sebagai root
  • su berarti beralih ke pengguna tertentu
  • Cukup mengetik su beralih ke pengguna root
  • sudo akan meminta kata sandi Anda, sementara su akan meminta kata sandi untuk pengguna yang Anda tuju

[ Ingin mempelajari lebih lanjut tentang keamanan? Lihat daftar periksa keamanan dan kepatuhan TI. ] 

Tetapi kapan Anda menggunakan satu, bukan yang lain? Sejak sudo kebijakan didefinisikan dalam /etc/sudoers , ini dapat memberikan kontrol izin yang kuat. Sejak sudo dapat melakukan banyak hal yang su bisa, saya akan mengatakan yang terbaik adalah tetap menggunakan sudo kecuali jika Anda bekerja dengan beberapa kode lama yang memerlukan su perintah.


Linux
  1. Pelajari Perbedaan Antara Perintah "su" dan "su -" di Linux

  2. Perbedaan Antara Pengguna Sudo Dan Pengguna Root?

  3. Cara Membuat Pengguna Sudo di Rocky Linux 8

  1. Perbedaan Antara Perintah "su" dan "su -" di Linux

  2. Contoh Perintah sudo di Linux

  3. Windows UAC vs Linux sudo

  1. Bagaimana mengizinkan pengguna untuk menggunakan Sudo di Ubuntu Linux

  2. Apa Perbedaan Antara Sudo Su – Dan Sudo Su —?

  3. Cara membatasi perintah pengguna di Linux