Apakah Perbezaan Antara Sudo dan Su di Linux?
Jika anda seorang pengguna Linux, anda mungkin melihat rujukan kepada kedua-dua sudo dan su. Artikel di sini tentang How-To Geek dan di tempat lain mengarahkan pengguna Ubuntu untuk menggunakan sudo dan pengguna pengedaran Linux lain untuk menggunakan su, tetapi apakah perbezaannya?
Sudo dan su adalah dua cara yang berbeza untuk mendapatkan keistimewaan root. Setiap fungsi dalam cara yang berbeza, dan pengedaran Linux yang berbeza menggunakan konfigurasi yang berbeza secara lalai.
Pengguna Root
Kedua su dan sudo digunakan untuk menjalankan arahan dengan kebenaran root. Pengguna akar pada dasarnya bersamaan dengan pengguna pentadbir di Windows - pengguna root mempunyai keizinan maksimum dan boleh melakukan apa saja untuk sistem. Pengguna biasa di Linux berjalan dengan izin yang dikurangkan - contohnya, mereka tidak dapat memasang perisian atau menulis ke direktori sistem.
Untuk melakukan sesuatu yang memerlukan keizinan ini, anda perlu memperolehnya dengan su atau sudo.
Su vs Sudo
Arahan su bertukar kepada pengguna super - atau pengguna root - apabila anda melaksanakannya tanpa pilihan tambahan. Anda perlu memasukkan kata laluan akaun root. Ini bukan semua arahan su yang dilakukan, walaupun - anda boleh menggunakannya untuk bertukar kepada mana-mana akaun pengguna. Sekiranya anda melaksanakannya su bob arahan, anda akan diminta memasukkan kata laluan Bob dan shell akan beralih ke akaun pengguna Bob.
Sebaik sahaja anda selesai menjalankan arahan dalam shell root, anda perlu menaip keluar untuk meninggalkan shell root dan kembali ke mod keistimewaan terhad.
Sudo menjalankan arahan tunggal dengan keistimewaan root. Apabila anda melaksanakan perintah sudo, sistem itu meminta anda untuk memasukkan kata laluan akaun pengguna anda sebelum berjalan perintah sebagai pengguna root. Secara lalai, Ubuntu mengingati kata laluan selama lima belas minit dan tidak akan meminta kata laluan sekali lagi sehingga lima belas minit lagi.
Ini adalah perbezaan utama antara su dan sudo. Su mengalihkan anda ke akaun pengguna root dan memerlukan kata laluan akaun root. Sudo menjalankan arahan tunggal dengan keistimewaan root - ia tidak bertukar kepada pengguna root atau memerlukan kata laluan pengguna root yang berasingan.
Ubuntu vs Pengagihan Linux Lain
Perintah su adalah cara tradisional untuk mendapatkan kebenaran root pada Linux. Perintah sudo telah wujud untuk masa yang lama, tetapi Ubuntu merupakan pengedaran Linux pertama yang popular untuk pergi sudo-only secara lalai. Apabila anda memasang Ubuntu, akaun root standard dibuat, tetapi tiada kata laluan diberikan kepadanya. Anda tidak boleh log masuk sebagai root sehingga anda menetapkan kata laluan ke akaun root.
Terdapat beberapa kelebihan untuk menggunakan sudo dan bukan su secara lalai. Pengguna Ubuntu hanya perlu menyediakan dan mengingati kata laluan tunggal, sedangkan Fedora dan pengedaran lain memerlukan anda membuat kata laluan root dan akaun pengguna yang berasingan semasa pemasangan.
Kelebihan lain adalah bahawa ia tidak menggalakkan pengguna untuk melog masuk sebagai pengguna root - atau menggunakan su untuk mendapatkan shell root - dan menjaga shell root terbuka untuk melakukan kerja biasa mereka. Menjalankan perintah yang lebih sedikit sebagai root meningkatkan keselamatan dan menghalang perubahan sistem secara tidak sengaja.
Pengagihan berdasarkan Ubuntu, termasuk Linux Mint, juga menggunakan sudo bukan su secara default.
Trik Sedikit
Linux adalah fleksibel, jadi ia tidak mengambil banyak kerja untuk membuat kerja sama dengan sudo - atau sebaliknya.
Untuk menjalankan perintah tunggal sebagai pengguna root dengan su, jalankan perintah berikut:
su -c 'command'
Ini sama dengan menjalankan perintah dengan sudo, tetapi anda memerlukan kata laluan akaun root bukan kata laluan akaun pengguna semasa anda.
Untuk mendapatkan shell akar interaktif penuh dengan sudo, jalankan sudo -i.
Anda perlu menyediakan kata laluan akaun pengguna anda dan bukannya kata laluan akaun root.
Mendayakan Pengguna Root di Ubuntu
Untuk mendayakan akaun pengguna root di Ubuntu, gunakan perintah berikut untuk menetapkan kata laluan untuknya. Ingat bahawa Ubuntu mengesyorkan terhadap ini.
sudo passwd root
Sudo akan meminta anda untuk kata laluan akaun pengguna anda sebelum anda boleh menetapkan kata laluan baru. Gunakan kata laluan baru anda untuk log masuk sebagai root dari prompt log masuk terminal atau dengan perintah su. Anda tidak boleh menjalankan persekitaran grafik penuh sebagai pengguna root - ini adalah amalan keselamatan yang sangat lemah, dan banyak program akan menolak untuk berfungsi.
Menambah Pengguna ke Fail Sudoers
Hanya akaun jenis pentadbir di Ubuntu yang boleh menjalankan perintah dengan sudo. Anda boleh menukar jenis akaun pengguna dari tetingkap konfigurasi Akaun Pengguna.
Ubuntu secara automatik menamakan akaun pengguna yang dibuat semasa pemasangan sebagai akaun pentadbir.
Jika anda menggunakan pengedaran Linux yang lain, anda boleh memberikan kebenaran pengguna untuk menggunakan sudo dengan menjalankannya visudo arahan dengan keistimewaan root (jadi jalankan su pertama atau gunakan su -c).
Tambahkan baris berikut ke fail, ganti pengguna dengan nama akaun pengguna:
pengguna SEMUA = (SEMUA: SEMUA) SEMUA
Tekan Ctrl-X dan kemudian Y untuk menyimpan fail. Anda juga boleh menambah pengguna ke kumpulan yang ditentukan dalam fail tersebut. Pengguna dalam kumpulan yang dinyatakan dalam fail itu akan secara automatik mempunyai hak istimewa sudo.
Versi grafik Su
Linux juga menyokong versi graf su, yang meminta kata laluan anda dalam persekitaran grafik. Contohnya, anda boleh menjalankan arahan berikut untuk mendapatkan kata laluan grafis dan menjalankan pelayar fail Nautilus dengan kebenaran root. Tekan Alt-F2 untuk menjalankan arahan dari dialog lari grafik tanpa melancarkan terminal.
gksu nautilus
Perintah gksu juga mempunyai beberapa helah lain sehingga lengannya - ia mengekalkan tetapan desktop semasa anda, jadi program grafik tidak akan kelihatan di tempat apabila anda melancarkannya sebagai pengguna yang berbeza. Program seperti gksu adalah cara pilihan untuk melancarkan aplikasi grafik dengan keistimewaan root.
Gksu menggunakan sama ada sandaran atau backend berasaskan sudo, bergantung kepada pengedaran Linux yang anda gunakan.
Anda kini perlu bersiap menghadapi kedua su dan sudo! Anda akan menghadapi kedua-dua jika anda menggunakan pengedaran Linux yang berlainan.