Apa perbedaan antara sudo dan su?

Beberapa hari yang lalu saya menerima pertanyaan dari Miguel, seorang pembaca blog biasa dan pemberi komentar kompulsif, mengenai apa sebenarnya perbedaan antara sudo y su. Secara khusus, Miguel prihatin tentang apakah satu metode lebih aman daripada yang lain. Kebetulan saya telah membaca itu sudo tidak cukup aman dan ingin tahu lebih banyak. Ini adalah posting lain yang didedikasikan untuk mereka yang meminta lebih banyak artikel tentang misteri terminal.

Su

Programnya su Memungkinkan Anda menggunakan shell pengguna lain tanpa keluar dari sesi saat ini. Ini biasanya digunakan untuk mendapatkan izin root untuk operasi administratif tanpa harus keluar dan masuk kembali ke sistem. Beberapa lingkungan desktop, termasuk GNOME dan KDE, memiliki program yang secara grafis meminta kata sandi sebelum mengizinkan pengguna untuk menjalankan perintah yang biasanya memerlukan akses tersebut.

Nama su berasal dari bahasa Inggris spengganti ujadilah (pengguna pengganti). Ada juga yang membuatnya berasal dari superuser (pengguna super, yaitu pengguna root atau administrator) karena biasanya digunakan untuk mengadopsi peran administrator sistem.

Saat kamu lari, su Ini meminta kata sandi akun yang ingin Anda akses, dan jika diterima, itu memberi akses ke akun itu.

[guy @ localhost] $ Sandi Anda: [root @ localhost] # keluar keluar [guy @ localhost] $

Dengan tidak menempatkan pengguna, itu diakses sebagai administrator. Namun, dimungkinkan juga untuk memberikan nama pengguna lain sebagai parameter.

[guy @ localhost] $ su mongo Sandi: [mongo @ localhost] # keluar logout [guy @ localhost] $

Setelah kata sandi dimasukkan, kita dapat menjalankan perintah seolah-olah kita adalah pengguna lain. Secara tertulis keluar, kami kembali ke pengguna kami.

Varian yang banyak digunakan adalah untuk digunakan su diikuti dengan tanda hubung. Jadi, untuk masuk sebagai root, Anda harus masuk su - dan masuk sebagai pengguna lain Anda - pengguna lain. Perbedaan antara menggunakan script atau tidak? Direkomendasikan untuk menggunakan skrip karena ini mensimulasikan bahwa Anda akan masuk dengan pengguna tersebut; oleh karena itu, ia mengeksekusi semua file startup pengguna itu, mengubah direktori saat ini ke HOME pengguna tersebut, mengubah nilai beberapa variabel sistem yang mengadaptasinya ke pengguna baru (antara lain HOME, SHELL, TERM, USER, LOGNAME), dan orang lain lebih banyak hal.

Seorang sysadmin harus sangat berhati-hati saat memilih kata sandi untuk akun root / administrator, untuk menghindari serangan oleh pengguna yang tidak memiliki hak istimewa yang sedang menjalankan su. Beberapa sistem mirip Unix memiliki grup pengguna yang disebut roda, yang terdiri dari satu-satunya yang bisa mengeksekusi su. Ini mungkin atau mungkin tidak mengurangi masalah keamanan, karena penyusup bisa saja mengambil alih salah satu akun tersebut. Dia su GNU, bagaimanapun, tidak mendukung penggunaan grup itu; ini dilakukan karena alasan filosofis.

Sudo

Perintah terkait, disebut sudo, menjalankan perintah sebagai pengguna lain, tetapi mematuhi serangkaian batasan di mana pengguna dapat menjalankan perintah mana yang atas nama pengguna lain (biasanya ditentukan dalam file / etc / sudoers).

Di sisi lain, tidak seperti su, sudo meminta pengguna untuk memasukkan sandi mereka sendiri, bukan pengguna yang diminta; ini memungkinkan pendelegasian perintah kepada pengguna di mesin lain tanpa harus membagikan kata sandi, mengurangi risiko meninggalkan terminal tanpa pengawasan.

Masalah Sudo: masa tenggang

Keuntungan dari sudo mengenai su adalah bahwa ia hanya menjalankan perintah yang diminta dengan berpura-pura menjadi pengguna lain, tanpa benar-benar mengubah pengguna saat ini. Ini menyiratkan bahwa seseorang dapat menjalankan perintah sebagai administrator dan, detik berikutnya, mereka akan memiliki hak istimewa pengguna yang mereka gunakan sebelumnya ... atau hampir.

Beberapa melihat fakta sebagai pelanggaran keamanan sudo berikan "masa tenggang" yang memungkinkan pengguna untuk menjalankan perintah sebagai pengguna lain tanpa perlu berulang kali memasukkan sudo di depan perintah dan sandi setelah menjalankannya. Setelah "masa tenggang" itu, sudo akan menanyakan kata sandi kami lagi.

Ini "buruk", pada dasarnya karena seseorang dapat mengambil alih komputer kita setelah memasukkan kata sandi sudo dan saat "masa tenggang" aktif, buat BENCANA.

Untungnya, adalah mungkin untuk menonaktifkan "masa tenggang", yang akan meningkatkan keamanan sistem Anda. Cukup tambahkan satu baris di file / etc / sudoers:

sudo nano / etc / sudoers

Dan tambahkan baris berikut ke akhir file:

Default: SEMUA timestamp_timeout = 0

Perubahan segera berlaku, tanpa perlu memulai ulang sistem.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   bantuan dijo

    Faktanya, jika Anda dapat masuk dengan hak administrator dengan sudo dan tetap di sana seperti yang Anda lakukan dengan su -, untuk ini Anda harus menulis: sudo -s sehingga mengubah pengguna saat ini dan meninggalkan waktu tenggang sebagai lelucon (karena Anda dapat tetap seperti ini selama yang Anda inginkan, seperti Anda)

  2.   Miquel Mayol dan Tur dijo

    Terima kasih atas penyebutannya, tetapi kredit sebenarnya diberikan pada obrolan Sabayon - yang tidak lagi saya gunakan karena hard drive saya rusak, dan saya lebih suka kembali ke Ubuntu -.

    Alasan mereka memberi saya adalah bahwa terkadang ketika melakukan sudo konfigurasi tertentu mereka tidak mendapatkan izin absolut dan mereka tetap tidak dikonfigurasi dengan benar. Dan dengan "masuk" dengan su sebagai root untuk tugas pembaruan dan pemeliharaan, Anda mencegah hal ini terjadi.

    Kemudian saya mengirim email kepada Anda karena saya berjanji untuk membagikan temuan yang tampaknya tidak sepele ini bagi saya.

    Karena Ubuntu diinstal secara default tanpa pengguna root, jalankan saja

    "Sudo passwd root"

    masukkan kata sandi, konfirmasikan, dan setelah itu
    "Su root"
    untuk operasi pemeliharaan, selain menghindari penempatan sudo pada setiap pesanan.

    Pada prinsipnya, di Ubuntu akun root dihapus sehingga Anda tidak selalu masuk dengan akun ini, tetapi karena saya diberi saran hampir dengan nada bahwa menggunakan sudo adalah penistaan, kalau-kalau saya mengikutinya.

  3.   Pointer nol dijo

    Anda dapat mengakses file / etc / shadow dan mengubah hash kata sandi root menjadi hash dari kata sandi pengguna biasa dan kemudian melakukan perubahan kata sandi untuk root ??? Di lain waktu saya mencoba hal yang sama….

  4.   Mari gunakan Linux dijo

    Bersih. Ini tidak eksklusif untuk Fedora.

  5.   mfcollf77.dll dijo

    Lalu dari keduanya dapatkah mereka dipasang? Saya pikir «SU» hanya di FEDORA.

  6.   Diego Kisai Alba Gallart dijo

    Informasi yang sangat bagus, dengan ini pasti keraguan banyak orang akan sirna, karena saya tahu beberapa yang memiliki keraguan itu.

  7.   alex dijo

    Di ubunto saya pikir saya ingat bahwa Anda tidak dapat menggunakan perintah su (untuk masuk sebagai pengguna root)

  8.   Hazan Perez dijo

    Nah, untuk "memulihkan" kata sandi root (sebenarnya, kata sandi lain), Anda bisa membuat "serangan" pada file kata sandi sistem dengan John The Ripper. Saya tidak akan mengatakan lebih banyak tentang ini.

    Mungkin ada metode lain ... Mungkin mengubah kata sandi dengan memasukkan "sudo su" dan kemudian perintah "passwd". Akan menarik untuk melihat tanggapan orang lain ...

  9.   Mari gunakan Linux dijo

    Tepat!

  10.   Mari gunakan Linux dijo

    Itu benar… Saya harus berterima kasih kepada Miguel Mayol i Tur… dialah yang memiliki gagasan itu. 🙂
    Bersulang! Paul.

  11.   Bos dijo

    Terima kasih atas kontribusi yang selalu besar. Kami menghargainya.

  12.   Mari gunakan Linux dijo

    Terima kasih bos! Sebuah pelukan! Paul.

  13.   Jeronimo Navarro dijo

    Perbedaan antara 'su' dan 'sudo' adalah 'do'

  14.   erick dijo

    Saya lupa password rootnya, untungnya saya bisa menggunakan sudo, dan untuk menggunakan su, saya menggunakan 'sudo su' dan tidak meminta pass (?)
    Adakah yang tahu cara mengetahui kata sandi root (saya memiliki akses ke root melalui sudo)?

    1.    marvergarab.dll dijo

      sudo passwd

  15.   Mari gunakan Linux dijo

    Ha! Sangat pintar!

  16.   Negara Fabian dijo

    orang yang ingin memulihkan kata sandi root adalah "sudo passwd root" dan di sana ia akan meminta Anda untuk memasukkan yang baru

  17.   alex-pilloku@hmail.com dijo

    halo bagaimana hidupmu

  18.   SynFlag dijo

    Maaf tapi, menggunakan perintah su, seperti ini:

    su -c "command", sama dengan menggunakan sudo tanpa masa tenggang. Saya tidak melihat perlunya sudo.

    Penggunaan sebenarnya dari sudo adalah untuk memberikan pengguna tertentu kemampuan untuk menggunakan perintah ini atau itu, ini lebih banyak digunakan di perusahaan, agar tidak harus melakukan chroot, sesuatu yang tidak dapat dilakukan dengan su.

  19.   yacardi dijo

    Dear, Saya harus menggunakan Linux TP, dan saya harus menjawab beberapa pertanyaan sederhana. Mungkin mereka bisa membantu saya. Terima kasih sejak sekarang:

    Perintah apa yang memungkinkan kita untuk menginstal / menghapus / memodifikasi paket debian?
    Perintah apa yang memungkinkan kita mengelola instalasi dengan lebih mudah
    paket di debian?
    Apa perintah untuk menginstal paket rpm?
    Opsi apa yang kami gunakan untuk menghapus paket?
    Di mana direktori tempat repositori yum berada?
    Untuk apa yum?
    Opsi apa yang kami gunakan untuk menemukan paket dengan yum?
    Opsi apa yang kami gunakan untuk menghapus paket?
    Opsi apa yang dapat kami gunakan untuk memperbarui sistem?
    Surat apa yang mengidentifikasi izin?
    Apa masing-masing artinya?
    Perintah apa yang mencantumkan izin file?
    Apa tiga grup tempat izin dibagi?
    Dua cara apa yang ada untuk menerapkan izin?
    Sistem nomor apa yang digunakan izin?
    Berapa bobot yang dimiliki surat-surat ini?
    Apakah izin khusus itu?
    Apa izin khusus yang ada dan untuk apa penggunanya?
    Perintah apa yang saya gunakan untuk mengubah izin?
    Parameter apa yang saya gunakan untuk memberikan izin eksekusi ke file?
    Parameter apa yang digunakan untuk memberikan izin baca ke grup saja?
    Parameter apa yang digunakan untuk memberikan izin baca / tulis ke grup lain dan menghapus tulisan dari pengguna yang memiliki file?
    Izin apa yang dibuat secara default untuk file dan direktori?
    Perintah apa yang kami gunakan untuk memverifikasinya?
    Bagaimana cara kami mengubah topeng default?
    Bagaimana cara membuat masker yang digunakan berbeda? (Gunakan topeng default yang hanya memberikan pemilik dengan semua izin.)
    Perintah apa yang mencantumkan proses? Sebutkan parameter berbeda dan penggunaannya.
    Apa proses yang memulai segalanya?
    Buat daftar proses yang sesuai dengan pengguna yang masuk.
    Buat daftar semua proses di sistem.
    Opsi apa yang saya gunakan untuk mendapatkan informasi tambahan?
    Buat daftar semua proses yang sedang digunakan di terminal
    Opsi mana yang mencantumkan proses dan dependensinya?
    Jelaskan apa itu proses orangtua-anak dan bagaimana mengidentifikasinya
    Perintah mana yang mencantumkan proses dalam bentuk pohon?
    Perintah apa yang memantau proses secara real time?
    Pantau hanya satu proses
    Perintah apa yang menunjukkan penggunaan memori?
    Parameter apa yang menunjukkan memori dalam megabyte?
    Parameter apa yang dilakukan dalam interval?
    Perintah mana yang menunjukkan informasi mengenai waktu tim habis?
    Perintah apa yang saya gunakan untuk menghentikan proses?
    Apa yang ditangani proses ini untuk diselesaikan?
    Jenis sinyal apa yang paling umum?
    Sebutkan jenis sinyal yang didukung.
    Di terminal, lakukan tes vi, dan kemudian pergi ke terminal lain, cari prosesnya dan matikan dengan sinyal 15. Ditto tapi dengan sinyal 9.
    Apa perbedaan antara sinyal 9 dan 15?
    Mana yang berfungsi secara default?
    Mengapa proses berjalan di latar belakang? Dan di latar depan?
    Jalankan uji vi lalu tekan ctrl + z, apa yang terjadi?
    Ulangi tes vi, ctr + z, 4 kali, bagaimana saya menyelesaikan apa yang saya gagal?
    Lewati salah satu proses ke latar depan dan tutup vi.
    Parameter perintah apa yang kita jalankan sehingga tidak menempati shell?
    Perintah apa yang mengubah prioritas proses yang sudah berjalan? Bagaimana Anda mengubah prioritas terminal yang sedang berjalan?
    Nilai level apa yang ada dan apa hierarki mereka?
    Buka file / etc / passwd dan lihat tingkat prioritasnya.
    Ubah tingkat prioritas ke 4 dan kemudian ke 25 Bisakah Anda menetapkan keduanya? Mengapa?
    Buat daftar proses dengan nilai prioritasnya.
    Perintah apa yang memantau semua proses yang berjalan?

  20.   dan lain-lain dijo

    Halo, saya ingin menonaktifkan sudo, seperti yang saya lakukan. Saya mengerti ini:
    [sudo] sandi untuk xxx:
    xxx tidak ada dalam file sudoers. Insiden ini akan dilaporkan.

    saat saya menonaktifkannya, karena saya menggunakan su di debian

    1.    ayo gunakan linux dijo

      Halo ecc!

      Saya pikir akan lebih baik jika Anda menanyakan pertanyaan ini di layanan tanya jawab kami bernama Meminta DesdeLinux sehingga seluruh komunitas dapat membantu Anda mengatasi masalah Anda.

      Pelukan, Pablo.

  21.   Berthold dijo

    Hai. Saya telah menggunakan perintah suhu hard disk di Linux Mint: 'sudo hddtemp / dev / sda', ia meminta kata sandi, dan itu memberi saya hasil yang diharapkan.
    tetapi, kemudian ketika mengeksekusi di terminal yang sama 'hddtemp / dev / sda' saya diberitahu bahwa Permission Denied.
    Jadi, masa tenggang tidak bekerja pada saya, mengapa?

  22.   Berthold dijo

    Halo blog.
    Saya juga menemukan bahwa ketika distro diinstal (mis .: ubuntu, linux mint), ia meminta kata sandi administrator.
    Dan di antarmuka grafis pusat kendali, saya menggunakan opsi untuk mengubah kata sandi pengguna saya.
    Jadi sekarang menggunakan «su -» itu meminta kata sandi, yang bukan salah satu pengguna saya saat ini, tetapi yang saya gunakan ketika saya menginstal distro, yang masih pengguna root atau administrator.
    Ini akan mengakibatkan banyak pengguna lupa kata sandi administrator yang sebenarnya.

  23.   Kendall Davila dijo

    Halo, penjelasan Anda sangat bagus, sangat jelas, singkat dan ringkas. Terima kasih atas masukannya