Apakah perbezaan antara sudo dan su?

Beberapa hari yang lalu saya menerima pertanyaan dari Miguel, pembaca blog biasa dan komentator kompulsif, mengenai apa sebenarnya perbezaan antara sudo y su. Secara khusus, Miguel bimbang apakah satu kaedah lebih selamat daripada yang lain. Ia berlaku bahawa saya telah membaca di luar sana bahawa sudo tidak cukup selamat dan ingin mengetahui lebih lanjut. Ini adalah satu lagi catatan yang dikhaskan untuk mereka yang meminta lebih banyak artikel mengenai misteri terminal.

Su

Program ini su Membolehkan anda menggunakan shell pengguna lain tanpa keluar dari sesi semasa. Ia biasanya digunakan untuk mendapatkan kebenaran root untuk operasi pentadbiran tanpa perlu log keluar dan log masuk semula. Beberapa persekitaran desktop, termasuk GNOME dan KDE, mempunyai program yang meminta kata sandi secara grafik sebelum memungkinkan pengguna untuk melaksanakan perintah yang biasanya memerlukan akses tersebut.

Nama su berasal dari bahasa Inggeris ssuka-suka umenjadi (pengguna gantian). Ada juga yang membuatnya berasal sUperuser (pengguna super, iaitu root atau pengguna pentadbir) kerana biasanya digunakan untuk mengambil peranan sebagai pentadbir sistem.

Semasa anda berlari, su Ini meminta kata laluan akaun yang ingin anda akses, dan jika diterima, ia memberikan akses ke akaun tersebut.

[lelaki @ localhost] $ Kata Laluan anda: [root @ localhost] # log keluar keluar [lelaki @ localhost] $

Dengan tidak meletakkan pengguna, ia diakses sebagai pentadbir. Namun, mungkin juga untuk memberikan nama pengguna lain sebagai parameter.

[lelaki @ localhost] $ su mongo Kata Laluan: [mongo @ localhost] # log keluar keluar [lelaki @ localhost] $

Setelah kata laluan dimasukkan, kita dapat menjalankan perintah seolah-olah kita pengguna lain. Dalam penulisan keluar, kami kembali kepada pengguna kami.

Varian yang banyak digunakan adalah untuk digunakan su diikuti dengan tanda sempang. Oleh itu, untuk log masuk sebagai root, anda mesti memasukkan miliknya - dan untuk log masuk sebagai pengguna lain anda - pengguna lain. Perbezaan antara menggunakan skrip atau tidak? Sebaiknya gunakan skrip kerana ia mensimulasikan bahawa anda akan log masuk dengan pengguna tersebut; oleh itu, ia melaksanakan semua fail permulaan pengguna tersebut, mengubah direktori semasa ke HOME pengguna itu, mengubah nilai beberapa pemboleh ubah sistem yang menyesuaikannya dengan pengguna baru (HOME, SHELL, TERM, USER, LOGNAME, antara lain), dan lain lain lebih banyak perkara.

Seorang sysadmin harus sangat berhati-hati ketika memilih kata laluan untuk akaun root / pentadbir, untuk mengelakkan serangan oleh pengguna yang tidak memiliki hak istimewa su. Beberapa sistem seperti Unix mempunyai kumpulan pengguna yang dipanggil roda, yang terdiri dari satu-satunya yang boleh melaksanakan su. Ini mungkin atau tidak dapat mengurangkan masalah keselamatan, kerana penyusup hanya dapat mengambil alih salah satu akaun tersebut. Dia su GNU, bagaimanapun, tidak menyokong penggunaan kumpulan itu; ini dilakukan atas sebab-sebab falsafah.

Sudo

Perintah yang berkaitan, dipanggil sudo, melaksanakan perintah sebagai pengguna lain, tetapi menghormati serangkaian batasan pengguna dapat melaksanakan perintah mana yang digunakan oleh pengguna lain (biasanya ditentukan dalam file / etc / sudoers).

Sebaliknya, tidak seperti su, sudo meminta pengguna untuk kata laluan mereka sendiri dan bukannya pengguna yang diperlukan; Ini membolehkan penyerahan arahan kepada pengguna di mesin lain tanpa perlu berkongsi kata laluan, mengurangkan risiko meninggalkan terminal tanpa pengawasan.

Masalah Sudo: tempoh rahmat

Kelebihan dari sudo berkenaan dengan su adalah bahawa ia hanya melaksanakan perintah yang diminta berpura-pura menjadi pengguna lain, tanpa benar-benar mengubah pengguna saat ini. Ini menyiratkan bahawa seseorang dapat menjalankan perintah sebagai pentadbir dan, pada detik berikutnya, mereka akan memiliki hak istimewa pengguna yang mereka gunakan sebelumnya… atau hampir.

Ada yang melihat sebagai keselamatan melanggar hakikat bahawa sudo berikan "tempoh rahmat" yang membolehkan pengguna melaksanakan perintah sebagai pengguna lain tanpa perlu berulang kali memasukkan sudo di hadapan perintah dan kata laluan setelah melaksanakannya. Selepas "tempoh rahmat" itu, sudo akan meminta kata laluan lagi kepada kami.

Ini "buruk", pada dasarnya kerana seseorang dapat mengambil alih komputer kita setelah memasukkan kata laluan sudo dan semasa "tempoh rahmat" aktif, buat BENCANA.

Nasib baik, mungkin untuk mematikan "tempoh rahmat", yang akan meningkatkan keselamatan sistem anda. Cukup tambahkan satu baris dalam fail / etc / sudoers:

sudo nano / etc / sudoers

Dan tambahkan baris berikut ke hujung fail:

Lalai: SEMUA cap waktu_waktu = 0

Perubahan itu berlaku dengan segera, tanpa perlu menghidupkan semula sistem.


25 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   helk kata

    Sebenarnya, jika anda boleh masuk dengan hak pentadbir dengan sudo dan tinggal di sana seperti yang anda lakukan dengan su -, untuk ini anda harus menulis: sudo -s sehingga mengubah pengguna semasa dan meninggalkan masa tenggang sebagai jenaka (kerana Anda boleh tetap seperti ini selagi anda mahu, seperti juga anda)

  2.   Miquel Mayol dan Tur kata

    Terima kasih atas sebutannya, tetapi kredit sebenar diberikan kepada sembang Sabayon - yang tidak lagi saya gunakan kerana cakera keras saya pecah, dan saya lebih suka kembali ke Ubuntu -.

    Sebab mereka memberi saya adalah bahawa kadang-kadang ketika melakukan konfigurasi sudo tertentu mereka tidak mendapat kebenaran mutlak dan tetap dikonfigurasi dengan tidak betul. Dan bahawa dengan "log masuk" dengan su sebagai root untuk tugas kemas kini dan penyelenggaraan, anda mencegah perkara ini terjadi.

    Kemudian saya menghantar e-mel kepada anda kerana saya berjanji untuk berkongsi penemuan ini yang nampaknya tidak remeh bagi saya.

    Oleh kerana Ubuntu dipasang secara lalai tanpa pengguna root, jalankan saja

    "Sudo passwd root"

    masukkan kata laluan, sahkan, dan selepas itu
    "Akar Su"
    untuk operasi penyelenggaraan, selain mengelakkan meletakkan sudo dengan setiap pesanan.

    Pada prinsipnya, di Ubuntu root account dikeluarkan sehingga anda tidak selalu log masuk dengan akaun ini, tetapi kerana saya diberi nasihat hampir dengan nada bahawa menggunakan sudo adalah sacrilege, sekiranya saya mengikutinya.

  3.   Penunjuk Nill kata

    Anda boleh mengakses fail / etc / shadow dan menukar hash kata laluan root ke hash kata laluan pengguna biasa dan kemudian menukar kata laluan untuk root ??? Pada masa yang lain saya mencuba sama….

  4.   Mari gunakan Linux kata

    Jelas. Ia tidak eksklusif untuk Fedora.

  5.   mfcollf77 kata

    Kemudian dari kedua-duanya boleh dipasang? Saya fikir bahawa «SU» hanya di FEDORA.

  6.   Diego Kisai Alba Gallart kata

    Maklumat yang sangat baik, dengan ini pasti keraguan banyak orang akan hilang, kerana saya tahu beberapa orang yang mempunyai keraguan itu.

  7.   Alex kata

    Di ubunto saya rasa saya ingat bahawa anda tidak boleh menggunakan perintah su (untuk memasukkan sebagai pengguna root)

  8.   Hazan Perez kata

    Nah, untuk "memulihkan" kata laluan root (sebenarnya, kata laluan lain), anda boleh membuat "serangan" pada fail kata laluan sistem dengan John The Ripper. Saya tidak akan mengatakan lebih banyak mengenai perkara ini.

    Mungkin ada kaedah lain ... Mungkin menukar kata laluan dengan memasukkan dengan "sudo su" dan kemudian perintah "passwd". Sangat menarik untuk melihat apa yang orang lain bertindak balas ...

  9.   Mari gunakan Linux kata

    Tepat!

  10.   Mari gunakan Linux kata

    Betul ... saya harus berterima kasih kepada Miguel Mayol i Tur ... dialah yang mempunyai idea. 🙂
    Ceria! Paul.

  11.   Boss kata

    Terima kasih, seperti biasa sumbangan besar. Kami menghargainya.

  12.   Mari gunakan Linux kata

    Terima kasih Bos! Pelukan! Paul.

  13.   Jerome Navarro kata

    Perbezaan antara 'su' dan 'sudo' adalah 'do'

  14.   Erick kata

    Saya lupa kata laluan root, untungnya saya dapat menggunakan sudo, dan untuk menggunakan su, saya menggunakan 'sudo su' dan ia tidak meminta lulus (?)
    Adakah ada yang tahu bagaimana mengetahui kata laluan root (saya mempunyai akses ke root melalui sudo)?

    1.    marvergarab kata

      sudo passwd

  15.   Mari gunakan Linux kata

    Ha! Sangat pandai!

  16.   Negara Fabian kata

    orang yang ingin memulihkan kata laluan root adalah "sudo passwd root" dan di sana ia akan meminta anda memasukkan yang baru

  17.   alex-pilloku@hmail.com kata

    hello bagaimana kehidupan anda

  18.   SynFlag kata

    Maaf tetapi, dengan menggunakan perintah su, seperti ini:

    su -c "command", sama seperti menggunakan sudo tanpa masa tenggang. Saya tidak melihat keperluan untuk sudo.

    Penggunaan sudo yang SEBENARNYA adalah untuk memberi pengguna kemampuan tertentu untuk menggunakan perintah ini atau perintah itu, ia lebih banyak digunakan di syarikat, sehingga tidak perlu mencongkel, sesuatu yang tidak dapat dilakukan dengan su.

  19.   yacardis kata

    Sayang, saya mesti melakukan TP Linux, dan saya mesti menjawab beberapa soalan mudah. Mungkin mereka boleh menolong saya. Terima kasih sejak sekarang:

    Perintah apa yang membolehkan kita memasang / menghapus / mengubah pakej debian?
    Apakah arahan yang membolehkan kita menguruskan pemasangan dengan lebih mudah
    pakej dalam debian?
    Apakah arahan untuk memasang pakej rpm?
    Apa pilihan yang kita gunakan untuk menyahpasang pakej?
    Apakah direktori di mana repositori yum berada?
    Untuk apa yum?
    Apa pilihan yang kita gunakan untuk mencari pakej dengan yum?
    Apa pilihan yang kita gunakan untuk menghapus pakej?
    Apa pilihan yang boleh kita gunakan untuk mengemas kini sistem?
    Surat apa yang mengenal pasti izin?
    Apa maksud masing-masing?
    Perintah apa yang menyenaraikan kebenaran fail?
    Apakah tiga kumpulan di mana kebenaran dibahagikan?
    Apa dua cara untuk melaksanakan kebenaran?
    Sistem nombor apa yang digunakan permit?
    Berapakah berat huruf ini?
    Apa itu permit khas?
    Untuk apa kebenaran khas yang ada dan untuk apa pengguna?
    Perintah apa yang saya gunakan untuk mengubah kebenaran?
    Parameter apa yang saya gunakan untuk memberikan izin pelaksanaan ke file?
    Parameter apa yang digunakan untuk memberikan kebenaran membaca kepada kumpulan sahaja?
    Parameter apa yang digunakan untuk memberi kebenaran membaca / menulis kepada kumpulan yang lain dan membuang penulisan dari pengguna yang memiliki fail?
    Kebenaran apa yang dibuat secara lalai untuk fail dan direktori?
    Perintah apa yang kita gunakan untuk mengesahkannya?
    Bagaimana kita menukar topeng lalai?
    Bagaimana kita membuat topeng yang digunakan berbeza? (Gunakan topeng lalai yang hanya memberi izin kepada pemilik.)
    Perintah apa yang menyenaraikan prosesnya? Sebutkan parameter yang berbeza dan penggunaannya.
    Apakah proses yang memulakan segalanya?
    Senaraikan proses yang sesuai dengan pengguna yang masuk.
    Senaraikan semua proses sistem.
    Apa pilihan yang saya gunakan untuk mendapatkan maklumat tambahan?
    Senaraikan semua proses yang sedang digunakan di terminal
    Pilihan mana yang menyenaraikan proses dan pergantungannya?
    Terangkan apa itu proses ibu bapa-anak dan bagaimana mengenalinya
    Perintah manakah yang menyenaraikan proses dalam bentuk pokok?
    Perintah apa yang memantau proses dalam masa nyata?
    Pantau hanya satu proses
    Perintah apa yang menunjukkan penggunaan memori?
    Parameter apa yang menunjukkan memori dalam megabait?
    Parameter apa yang dilakukannya dalam selang waktu?
    Perintah mana yang menunjukkan maklumat mengenai masa pasukan?
    Perintah apa yang saya gunakan untuk membunuh proses?
    Apa yang dikendalikan oleh proses ini untuk diselesaikan?
    Jenis isyarat apa yang paling biasa?
    Senaraikan jenis isyarat yang disokong.
    Di terminal, lakukan ujian vi, dan kemudian pergi ke terminal lain, cari prosesnya dan matikan dengan isyarat 15.
    Apakah perbezaan antara isyarat 9 dan 15?
    Mana yang berfungsi secara lalai?
    Mengapa proses dijalankan di latar belakang? Dan di latar depan?
    Jalankan ujian vi dan kemudian tekan ctrl + z, apa yang berlaku?
    Ulangi ujian vi, ctr + z, 4 kali, bagaimana saya menyelesaikan apa yang saya gagal?
    Lulus salah satu proses untuk membuat latar depan dan menutup vi.
    Apa parameter perintah yang kita laksanakan sehingga tidak menempati cengkerang?
    Perintah apa yang mengubah keutamaan proses yang sudah berjalan? Bagaimana anda mengubah keutamaan terminal yang sedang berjalan?
    Nilai tahap apa yang ada dan apa hirarki mereka?
    Buka fail / etc / passwd dan lihat tahap keutamaannya.
    Tukar tahap keutamaan menjadi 4 dan kemudian ke 25 Bolehkah anda menetapkan kedua-duanya? Kenapa?
    Senaraikan proses dengan nilai keutamaannya.
    Perintah apa yang memantau semua proses yang sedang berjalan?

  20.   dan lain-lain kata

    Hai, saya mahu melumpuhkan sudo, seperti yang saya lakukan. Saya mendapat ini:
    [sudo] kata laluan untuk xxx:
    xxx tiada dalam fail sudoers. Kejadian ini akan dilaporkan.

    kerana saya melumpuhkannya, kerana saya menggunakan su dalam debian

    1.    mari gunakan linux kata

      Helo ecc!

      Saya rasa akan lebih baik jika anda mengemukakan soalan ini dalam perkhidmatan soal jawab yang dipanggil Tanya DesdeLinux supaya seluruh masyarakat dapat menolong anda mengatasi masalah anda.

      Pelukan, Pablo.

  21.   Berthold kata

    Hai. Saya telah menggunakan perintah suhu cakera keras di Linux Mint: 'sudo hddtemp / dev / sda', ia meminta kata laluan, dan ia memberikan hasil yang diharapkan.
    tetapi, ketika menjalankan di terminal yang sama 'hddtemp / dev / sda', ia memberitahu saya bahawa Kebenaran Ditolak.
    Oleh itu, tempoh rahmat tidak berfungsi untuk saya, mengapa ia berlaku?

  22.   Berthold kata

    Helo blog.
    Saya juga mendapati bahawa semasa distro dipasang (mis: ubuntu, linux mint), ia meminta kata laluan pentadbir.
    Dan di antara muka grafik pusat kawalan, saya menggunakan pilihan untuk menukar kata laluan pengguna saya.
    Jadi, sekarang menggunakan "su -" ia meminta kata laluan, yang bukan merupakan pengguna semasa saya, tetapi yang saya gunakan semasa memasang distro, yang masih menjadi pengguna root atau pentadbir.
    Ini akan menyebabkan banyak pengguna lupa kata laluan pentadbir yang sebenarnya.

  23.   Kendall Davila kata

    Helo, penjelasan anda kelihatan sangat baik, sangat jelas, ringkas dan ringkas. Terima kasih atas inputnya