Saya sering menemukan posting di forum atau situs web lain di mana Anda melihat orang-orang bercanda sedemikian rupa tentang menjalankan / masuk sebagai root seolah-olah itu adalah sesuatu yang mengerikan dan semua orang harus mengetahuinya. Namun, tidak banyak yang diungkap oleh pencarian tentang masalah ini.
Ini mungkin diketahui secara luas oleh para ahli Linux, tetapi saya benar-benar tidak tahu mengapa. Saya ingat selalu berjalan sebagai root ketika saya pertama kali mencoba Linux tahun lalu (Redhat dan Mandrake) dan tidak ingat mengalami masalah karena itu.
Sebenarnya ada beberapa distro yang memiliki latar belakang merah terang dengan tanda-tanda peringatan di atasnya sebagai wallpaper untuk pengguna root (SuSe?). Saya masih menggunakan akun "Administrator" untuk penggunaan reguler pada instalasi Windows saya dan belum pernah mengalami masalah di sana.
sumber
Jawaban:
Itu mengalahkan model keamanan yang sudah ada selama bertahun-tahun. Aplikasi dimaksudkan untuk dijalankan dengan keamanan non-administratif (atau hanya manusia biasa) sehingga Anda harus meningkatkan hak istimewa mereka untuk memodifikasi sistem yang mendasarinya. Misalnya, Anda tidak ingin crash Rhythmbox baru-baru ini untuk menghapus seluruh
/usr
direktori Anda karena bug. Atau kerentanan yang baru saja diposting di ProFTPD untuk memungkinkan penyerang mendapatkan shell ROOT.Ini hanya praktik yang baik pada sistem operasi apa pun untuk menjalankan aplikasi Anda di tingkat pengguna dan menyerahkan tugas administratif kepada pengguna root, dan hanya berdasarkan kebutuhan.
sumber
rm -rf tmp/tests/*
...sudo
dan kata sandi untuk setiap perintah kedua di Linux. Bukankah pengguna Linux seharusnya malas ?????Hanya satu kata: keamanan.
sumber
Menjalankan sebagai root buruk karena:
sudo -i
dan sekarang root. Ingin menjalankan beberapa perintah menggunakan pipa? Kemudian gunakansudo sh -c "comand1 | command2"
.Alasan mengapa Anda tidak dapat menemukan informasi tentang mengapa itu buruk adalah karena, well, ada terlalu banyak data di internet :) dan banyak orang yang telah menggunakan Linux sejak lama berpikir seperti Anda. Cara berpikir tentang akun root ini cukup baru (satu dekade mungkin?) Dan banyak orang masih merasa terganggu dengan harus menggunakan sudo. Terutama jika mereka bekerja pada server yang berarti mereka masuk dengan maksud untuk membuat perubahan sistem. Mungkin dibawa dari pengalaman buruk sebelumnya dan standar keamanan yang sebagian besar sysadmin tahu lebih baik tetapi mereka masih tidak menyukainya :).
sumber
Ini pertanyaan yang bagus. Saya pikir jawabannya sedikit berbeda tergantung pada apakah Anda berbicara tentang server atau instalasi desktop.
Di desktop, tidak biasa menggunakan
root
akun. Bahkan, Ubuntu dikirimkan dengan akses root dinonaktifkan. Semua perubahan yang membutuhkan hak pengguna super dilakukan melaluisudo
dan grafisnya serumpungksudo
dankdesudo
. Namun, mengingat mudahnya membuatroot
kata sandi, mengapa orang tidak melakukannya?Salah satu alasannya adalah memberi Anda lapisan keamanan tambahan. Jika Anda menjalankan suatu program
root
dan kelemahan keamanan dieksploitasi, penyerang memiliki akses ke semua data dan dapat langsung mengendalikan perangkat keras. Sebagai contoh, itu mungkin menginstal trojan atau key-logger ke dalam kernel Anda. Namun dalam praktiknya, serangan dapat melakukan sejumlah besar kerusakan bahkan tanpa hak pengguna super. Lagipula, semua data pengguna - termasuk dokumen dan kata sandi yang tersimpan - dapat diakses tanpa akses root.Poin yang lebih valid, pada sistem pengguna tunggal, adalah bahwa pengguna dicegah agar sistem tidak dapat digunakan secara tidak sengaja. Jika pengguna secara tidak sengaja mengeluarkan perintah yang menghapus semua file, mereka masih dapat mem-boot sistem, bahkan jika data hilang.
Selain itu, sebagian besar aplikasi yang menghadapi pengguna (X11) saat ini dibangun dengan asumsi bahwa mereka dijalankan sebagai akun pengguna biasa dan tanpa hak administrator. Dengan demikian beberapa program mungkin berperilaku salah ketika dijalankan sebagai
root
.Pada sistem multi-pengguna dengan hanya akses shell non-grafis, banyak dari alasan ini tidak berlaku. Namun, Ubuntu masih cukup default untuk
root
akun yang tidak dapat diakses . Untuk satu hal, ada perbedaan nyata antara mendapatkan akses ke akun pengguna (dengansudo
hak) melalui lubang keamanan dan mendapatkan akses keroot
, karena dalam kasus pertama mengganggu pengguna lain akan membutuhkan berjalansudo
dan masih akan meminta kata sandi akun sebagai langkah keamanan tambahan. Untuk yang lain, berguna untuk melakukan banyak tugas administratif dari akun pengguna dan hanya memintasudo
ketika hak pengguna super benar-benar diperlukan. Jadi ketika menginstal program dari sumber, disarankan untuk membangun sumber - berjalanconfigure
danmake
- di dalam direktori pengguna dan hanya menggunakansudo make install
pada langkah terakhir. Sekali lagi ini membuatnya lebih sulit untuk menembak diri sendiri (dan pengguna lain dari sistem multi-pengguna) di kaki, dan itu mengurangi kemungkinan membangun skrip yang mendatangkan malapetaka dengan sistem. Jadi, bahkan pada server, ada baiknya tetap menggunakan administrasi berbasis sudo Ubuntu .sumber
he will still be able to boot the system, even if the data will be lost.
- Apa gunanya ini? Jika data saya hilang, data saya hilang dan hanya itu. Perangkat lunak sistem Linux dapat diinstal ulang jika dihapus, mengapa saya harus peduli tentang kehilangan data dalam direktori tersebut? Di sisi lain, kehilangan data dalam~
buruk. Dansudo
tidak melindungi saya dari itu.Salah satu alasan untuk tidak menjalankan sebagai root yang belum (sejauh ini) diidentifikasi oleh jawaban lain adalah keterlacakan. Ini mungkin kurang penting pada mesin yang terutama mesin pengguna tunggal (desktop atau laptop Anda), tetapi pada mesin server, jika seseorang masuk sebagai
root
, Anda tidak tahu siapa yang harus disalahkan atas tindakan yang diambil. Oleh karena itu, sebagian besar organisasi profesional dengan banyak sistem dan beberapa administrator yang memerlukanroot
hak istimewa mengharuskan orang untuk masuk menggunakan ID pengguna (dan kata sandi) mereka sendiri, dan kemudian menggunakansudo
atau program serupa untuk beroperasi denganroot
hak istimewa saat diperlukan.Jika tidak, alasan utama untuk tidak berjalan sebagai root adalah:
Minimalkan risiko kerusakan akibat kecelakaan. Jika Anda menjalankannya
rm -fr / home/me/my-subdir
sebagai root, maka Anda baru saja secara dramatis menghilangkan segala yang penting dari mesin Anda karena ruang tersebut setelah slash (pertama) - karena hal-hal yang berjalan lebih dulu adalah hal-hal yang ditambahkan terlebih dahulu - hal-hal kecil seperti kernel, yang/bin
dan/etc
direktori. Unix menjadi kesal jika Anda kehilangan itu.Minimalkan risiko kerusakan dari situs luar yang berbahaya. Jika Anda menjelajah sebagai
root
, Anda lebih rentan terhadap unduhan materi berbahaya oleh drive-by.Saya menggunakan MacOS X lebih dari Ubuntu, tetapi di sana, root dinonaktifkan secara default, dan masih ada di mesin saya. Saya secara rutin memperbarui kernel dan operasi serupa lainnya - menggunakan
sudo
(di belakang layar). Teknik serupa berlaku untuk Linux secara umum.Pada dasarnya, Anda hanya boleh menggunakan hak istimewa yang sangat kuat
root
untuk periode kerja yang disingkat untuk menghindari risiko kesalahan.sumber
rm -fr / home/me/my-subdir
tidak benar-benar mencoba untuk menghapus secara rekursif/
, karena/
diperlakukan secara khusus untuk menjaga dari kesalahan tersebut. Lihat dokumentasi opsi--preserve-root
dan untuk detailnya. Tetapi prinsipnya adalah suara: kesalahan ketik satu karakter memang ada yang menghasilkan menghapus segalanya. Misalnya, jika Anda bermaksud menghapus semua yang ada di direktori saat ini dengan menjalankan , tetapi Anda tidak sengaja meletakkan sebelumnya , itu akan menjadi buruk.--no-preserve-root
man rm
rm
rm -r *
/
*
chown -R nobody:nobody ../
dari mengatakan / etc itu akan melindungi Anda? Jika Anda melakukannya pada / etc itu akan menyebabkan Anda dunia yang terluka. Demikian pula.*
ketika menjalankan perintah secara rekursif.TL; DR: Lakukan hal-hal sebagai root hanya saat Anda harus.
sudo
membuat ini sangat mudah. Jika Anda mengaktifkan login root, Anda masih dapat mengikuti aturan ini, Anda hanya perlu berhati-hati untuk melakukannya. Meskipun mengaktifkan login root sebenarnya tidak aman jika dilakukan dengan benar, Anda tidak perlu mengaktifkan login root karena Anda sudah melakukannyasudo
.Sebenarnya ada dua pertanyaan terkait di sini.
sudo
dan polkit untuk memungkinkan administrator untuk menjalankan perintah tertentu sebagai root?Mengapa tidak menjalankan semuanya sebagai root, sepanjang waktu?
Sebagian besar jawaban lain membahas hal ini. Turun ke:
Memang benar bahwa bahkan tanpa melakukan hal-hal sebagai root, Anda dapat menyebabkan kerusakan. Misalnya, Anda dapat menghapus semua file di direktori home Anda sendiri, yang biasanya mencakup semua dokumen Anda, tanpa berjalan sebagai root! (Semoga Anda memiliki cadangan.)
Tentu saja, sebagai root, ada cara tambahan untuk secara tidak sengaja menghancurkan data yang sama. Misalnya, Anda bisa menentukan
of=
argumen yang salah padadd
perintah dan menulis data mentah di atas file Anda (yang membuatnya lebih mudah untuk pulih daripada jika Anda hanya menghapusnya).Jika Anda satu-satunya orang yang menggunakan komputer Anda, kerusakan yang dapat Anda lakukan hanya sebagai root mungkin tidak benar-benar lebih tinggi daripada kerusakan yang dapat Anda lakukan dengan hak istimewa pengguna biasa. Tapi itu masih belum ada alasan untuk memperluas risiko Anda dengan memasukkan cara - cara tambahan mengacaukan sistem Ubuntu Anda.
Jika berjalan dengan akun pengguna non-root mencegah Anda melakukan kontrol atas komputer Anda sendiri, maka ini tentu saja merupakan tradeoff yang buruk . Tetapi tidak - kapan saja Anda benar-benar ingin melakukan tindakan sebagai root, Anda dapat melakukannya dengan
sudo
dan metode lainnya .Mengapa tidak memungkinkan untuk masuk sebagai root?
Gagasan bahwa kemampuan untuk login sebagai root pada dasarnya tidak aman adalah mitos. Beberapa sistem memiliki akun root diaktifkan secara default; sistem lain menggunakan
sudo
secara default, dan beberapa dikonfigurasikan dengan keduanya.Tidak salah secara objektif memiliki sistem di mana akun root diaktifkan, asalkan
Seringkali pemula bertanya bagaimana cara mengaktifkan akun root di Ubuntu. Kita seharusnya tidak menyembunyikan informasi ini dari mereka, tetapi biasanya ketika orang bertanya ini karena mereka berada di bawah kesan keliru bahwa mereka perlu mengaktifkan akun root. Sebenarnya, ini hampir tidak pernah diperlukan, jadi ketika menjawab pertanyaan seperti itu, penting kami menjelaskannya. Mengaktifkan akun root juga membuatnya mudah terlena dan melakukan tindakan sebagai root yang tidak memerlukan hak akses root. Tetapi ini tidak berarti mengaktifkan akun root dengan sendirinya tidak aman.
sudo
mendorong dan membantu pengguna menjalankan perintah sebagai root hanya saat mereka perlu. Untuk menjalankan perintah sebagai root, ketiksudo
, spasi, lalu perintah. Ini sangat nyaman, dan banyak pengguna dari semua tingkat keterampilan lebih suka pendekatan ini.Singkatnya, Anda tidak perlu mengaktifkan login root karena sudah
sudo
. Tetapi selama Anda menggunakannya hanya untuk tugas administratif yang memerlukannya, ini sama amannya untuk mengaktifkan dan masuk sebagai root, asalkan hanya dengan cara-cara ini :su
perintah itu, saat login dari akun lain.Namun, risiko keamanan tambahan yang besar muncul jika Anda masuk sebagai root dengan cara-cara ini:
Secara grafis. Saat Anda masuk secara grafis, banyak hal berjalan untuk menyediakan antarmuka grafis, dan Anda akan menjalankan lebih banyak aplikasi sebagai root untuk menggunakan antarmuka itu untuk apa saja. Ini bertentangan dengan prinsip hanya menjalankan program sebagai root yang benar-benar membutuhkan hak akses root. Beberapa program ini mungkin mengandung bug, termasuk bug keamanan.
Selain itu, ada alasan non-keamanan untuk menghindari ini. Masuk secara grafis sebagai root tidak didukung dengan baik - seperti yang disebutkan oleh loevborg , pengembang lingkungan desktop dan aplikasi grafis tidak sering mengujinya sebagai root. Bahkan jika mereka melakukannya, masuk ke lingkungan desktop grafis sebagai root tidak mendapatkan pengujian alfa dan beta dunia nyata oleh pengguna, karena hampir tidak ada yang mencobanya (untuk alasan keamanan yang dijelaskan di atas).
Jika Anda perlu menjalankan aplikasi grafis tertentu sebagai root, Anda dapat menggunakan
gksudo
atausudo -H
. Ini menjalankan jauh lebih sedikit program sebagai root daripada jika Anda benar-benar masuk secara grafis dengan akun root.Jarak jauh. The
root
akun berlaku bisa melakukan apa saja, dan memiliki nama yang sama di hampir setiap sistem Unix-seperti. Dengan masuk sebagai root melaluissh
atau mekanisme jarak jauh lainnya, atau bahkan dengan mengkonfigurasi layanan jarak jauh untuk memungkinkannya , Anda membuatnya lebih mudah untuk penyusup, termasuk skrip otomatis dan malware yang berjalan di botnet, untuk mendapatkan akses melalui kekuatan kasar, serangan kamus (dan mungkin beberapa bug keamanan).Boleh dibilang risikonya tidak terlalu tinggi jika Anda hanya mengizinkan login root berbasis kunci , dan bukan kata sandi .
Secara default di Ubuntu, baik login root grafis atau login jarak jauh melalui SSH tidak diaktifkan, bahkan jika Anda mengaktifkan login sebagai root . Artinya, bahkan jika Anda mengaktifkan login root, itu masih hanya diaktifkan dengan cara yang cukup aman.
/etc/sshd/ssh_config
, itu akan berisi barisPermitRootLogin without-password
. Ini menonaktifkan login root berbasis kata sandi, tetapi memungkinkan login berbasis kunci. Namun, tidak ada kunci yang dikonfigurasi secara default, jadi kecuali Anda sudah mengaturnya, itu juga tidak akan berfungsi. Selain itu, login root jarak jauh berbasis kunci jauh lebih buruk daripada login root jarak jauh berbasis kata sandi, sebagian karena tidak membuat risiko serangan kasar dan serangan kamus.Kesimpulannya:
sudo
membantu Anda melakukan itu, sambil tetap memberi Anda kekuatan penuh root kapan pun Anda inginkan.Untuk informasi lebih lanjut tentang root dan
sudo
, termasuk beberapa manfaat tambahansudo
yang belum saya bahas di sini, saya sangat merekomendasikan RootSudo di wiki bantuan Ubuntu.sumber
rm -i
dengan cara shell alias. Anda pergi ke sistem yang tidak memiliki itu dan lalu apa? Bayi duduk pengguna dari kesalahan seperti ini tidak pernah merupakan ide yang baik ketika Anda menganggap manusia adalah makhluk yang sangat banyak kebiasaan.Akun root dinonaktifkan secara default - artinya ada tetapi tidak dapat digunakan (kecuali dalam mode pemulihan). Ini berarti bahwa penyerang mengetahui akun root Anda, tetapi tidak dapat menggunakannya meskipun ia memiliki kata sandi root. Dengan demikian, penyerang harus menebak nama pengguna yang memiliki hak administrator, DAN kata sandi pengguna tersebut (yang jauh lebih sulit daripada hanya mencoba mencari tahu kata sandi root). Di XP jika Anda memiliki Konsol Pemulihan yang diinstal, siapa pun yang memiliki akses fisik ke kotak Anda dapat melakukan booting ke dalamnya (RC) - tidak perlu kata sandi. Sama seperti Mode Pemulihan di Ubuntu.
Di Ubuntu, ketika mereka mengatakan bahwa root dinonaktifkan - yang sebenarnya dimaksudkan adalah bahwa akun itu terkunci. Akun dikunci dengan mengubah kata sandi ke nilai yang tidak cocok dengan nilai terenkripsi yang mungkin. Ini secara efektif mencegah siapa pun untuk dapat login sebagai root - karena tidak mungkin mereka dapat memasukkan kata sandi. Karena masih ada waktu di mana akses root diperlukan - kernel Ubuntu telah dimodifikasi untuk mengizinkan login lokal root hanya dalam mode pengguna tunggal.
Lihat juga halaman ini
sumber
Seperti mempersenjatai seorang anak kecil dengan AK47, sementara dia bisa dengan senang hati bermain dengan pistol paintball-nya. ;)
Maksud saya itu salah karena Anda dan aplikasi Anda akan memiliki lebih banyak hak istimewa daripada yang mereka butuhkan dan saat itulah hal - hal dapat dan kadang - kadang salah :(
sumber
Pertanyaan yang sangat bagus ... Biarkan saya menjawabnya dari sudut pandang praktis:
Ketika saya mulai menggunakan Linux, yang lebih dari 10 tahun yang lalu, distribusi utama tidak beriklan menggunakan akun non-root sebanyak hari ini. Karena saya terbiasa dengan Windows, saya juga tidak melihat gunanya menggunakan akun pengguna yang dibatasi. Terutama karena saya harus sering memasukkan "su" - sudo tidak begitu populer saat itu. ;-) Jadi saya selalu login sebagai root karena saya memiliki banyak perawatan yang harus dilakukan untuk mendapatkan sistem saya terkonfigurasi dengan baik. Tapi coba tebak, sistem baru yang diinstal menjadi cepat sangat tidak stabil.
Satu masalah konkret misalnya: Saya tidak punya banyak ruang harddisk yang disediakan untuk Linux, jadi itu terjadi pada saya beberapa kali saya memiliki 0 byte tersisa di partisi saya. Mungkin saya tidak sepenuhnya tepat karena saya tidak tahu mekanisme yang tepat, tetapi ketika Anda mengisi disk dengan akun non-root selalu ada beberapa kilobyte tersisa. Tetapi jika Anda benar-benar memiliki 0 byte tersisa, sistem Anda membuat kesalahan aneh dan Anda mungkin berakhir dengan beberapa kesulitan untuk memperbaiki kerusakan pada sistem Anda karena ada banyak perangkat lunak sistem yang berjalan di latar belakang ...
Hal lain adalah: Pembagian antara root dan non-root membuat sistem Anda terorganisir dengan baik. Sebagai pengguna root, Anda mungkin tergoda untuk tidak menginstal aplikasi baru dengan bersih yang membuat Anda memiliki sistem yang kotor dan sulit dirawat.
Tetapi hal baiknya: Distribusi modern melakukan sebagian besar tugas administrasi untuk Anda, jadi jarang Anda harus mengutak-atik sistem Linux Anda dengan akun root. Memasukkan kata sandi dari waktu ke waktu sudah cukup, sisanya dilakukan oleh skrip distributor.
Tetapi saya ragu bahwa Anda tidak memiliki masalah pada sistem Windows Anda dengan itu jika Anda menggunakan 95 oder 98. (Setidaknya saya memiliki masalah dengan itu ...) Karena kurangnya pemisahan yang jelas antara Administrator dan pengguna biasa "tradisional "Aplikasi Windows menganggap mereka dapat melakukan apa saja. Misalnya menginstal Spyware jika mereka menyukainya, bahkan tanpa memberi tahu Anda. Microsoft terlibat dalam masalah itu ketika merilis Vista. (Efektif menerapkan mekanisme sudo.) Jadi orang mendapat dialog yang sangat menjengkelkan mengatakan "Anda tidak bisa melakukan itu". Untuk beberapa perangkat lunak yang tidak sesuai dengan Vista, Anda memerlukan beberapa peretas kotor untuk memasangnya, bahkan saat Administrator ...
sumber
Ada banyak aspek di balik pendekatan ini. Beberapa dari mereka adalah:
di sini adalah artikel yang bagus: http://cf.stanford.edu/policy/root
sumber
Katakanlah Anda telah membersihkan area administrasi. Anda bosan dengan kata sandi, begitu juga Anda
sudo su
. Anda terganggu hanya untuk kedua dan lupa cd/
. Lalu kamurm *
. Saya sudah melakukannya. Anda bisa mendapatkan semuanya kembali, tetapi ini adalah PITA. Oh, dan itu juga turun/media
!sumber
Mengapa tidak memiliki login root?
Meskipun Anda dapat membuat kata sandi untuk akun pengguna super yang memungkinkan Anda masuk sebagai root, perlu disebutkan bahwa ini bukan cara "Ubuntu" dalam melakukan sesuatu. Ubuntu secara khusus memilih untuk tidak memberikan login root dan kata sandi secara default karena suatu alasan. Sebagai gantinya, instalasi Ubuntu default akan digunakan
sudo
.Sudo adalah alternatif untuk memberi orang-orang kata sandi root untuk melakukan tugas-tugas pengguna super. Secara default Ubuntu menginstal orang yang menginstal OS diberi izin "sudo" secara default.
Siapa saja dengan izin "sudo" dapat melakukan sesuatu "sebagai superuser" dengan menunggu
sudo
perintah mereka. Misalnya, untuk menjalankanapt-get dist-upgrade
sebagai pengguna super, Anda dapat menggunakan:Manfaat dari pendekatan sudo
Dengan sudo, Anda memilih di muka mana pengguna memiliki akses sudo. Tidak perlu bagi mereka untuk mengingat kata sandi root, karena mereka menggunakan kata sandi mereka sendiri.
Jika Anda memiliki banyak pengguna, Anda dapat mencabut akses pengguna super seseorang hanya dengan menghapus izin sudo mereka, tanpa perlu mengubah kata sandi root dan memberi tahu semua orang kata sandi baru.
Anda bahkan dapat memilih perintah mana yang diizinkan dilakukan pengguna dengan menggunakan sudo dan perintah mana yang dilarang untuk pengguna itu.
Dan terakhir, jika ada pelanggaran keamanan, dalam beberapa kasus dapat meninggalkan jejak audit yang lebih baik yang menunjukkan akun pengguna mana yang dikompromikan.
Sudo membuatnya lebih mudah untuk melakukan perintah tunggal dengan hak superuser. Dengan login root, Anda secara permanen tetap berada di shell superuser yang harus keluar menggunakan
exit
ataulogout
. Hal ini dapat menyebabkan orang yang tinggal di shell pengguna super lebih lama dari yang diperlukan hanya karena lebih nyaman daripada keluar dan masuk lagi nanti.Dengan sudo, Anda masih memiliki opsi untuk membuka shell superuser permanen (interaktif) dengan perintah:
... dan ini masih dapat dilakukan tanpa kata sandi root, karena
sudo
memberikan hak superuser padasu
perintah.Dan demikian pula, alih-alih
su -
untuk shell login Anda dapat menggunakansudo su -
atau bahkansudo -i
.Namun ketika melakukannya Anda hanya perlu menyadari bahwa Anda bertindak sebagai superuser untuk setiap perintah. Ini adalah prinsip keamanan yang baik untuk tidak bertahan sebagai pengguna super lebih lama dari yang diperlukan, hanya untuk mengurangi kemungkinan secara tidak sengaja menyebabkan kerusakan pada sistem (tanpanya, Anda hanya dapat merusak file yang dimiliki pengguna Anda).
Hanya untuk memperjelas, Anda dapat , jika memilih, memberikan kata sandi kepada pengguna root yang memungkinkan login sebagai root, jika Anda ingin secara khusus melakukan hal-hal dengan cara ini. Saya hanya ingin memberi tahu Anda tentang kebiasaan memilih Ubuntu
sudo
dan mencoba menjelaskan beberapa alasan mengapa Ubuntu memilih pendekatan itu sebagai default.Mengapa tidak mengizinkan login root melalui SSH?
Bahkan jika pengguna root Anda memiliki kata sandi yang memungkinkan Anda untuk login sebagai root, itu masih merupakan praktik keamanan yang baik untuk menonaktifkan login root langsung dari luar, seperti di SSH. Adalah wajar bagi pengguna untuk harus
su -
atausudo
setelah login awal.Potensi manfaat untuk ini sebagian besar terkait keamanan:
Ini mengurangi vektor serangan dengan menghapus kemungkinan memaksa root password dari jarak jauh. Biasanya server di internet terus-menerus dihujani oleh upaya untuk memaksa root password melalui SSH.
Ini menciptakan jejak audit yang lebih baik sehingga bahkan dalam peristiwa pelanggaran di mana penyerang tidak mendapatkan hak superuser kemudian, Anda dapat melihat siapa user account digunakan untuk mendapatkan akses.
sumber
Ketika login sebagai root, ini memungkinkan aplikasi, skrip atau perintah baris perintah untuk mengakses bagian-bagian sensitif dari perangkat lunak yang dapat merusak sistem. Ini bisa merupakan hasil dari kurangnya pengalaman pada bagian pengguna atau programmer atau karena kode tersembunyi jahat.
sumber
Terlalu mudah mengacaukan saat beroperasi sebagai root. Anda dapat mengalahkan seluruh sistem dalam satu perintah ...
sumber
Saya dapat menambahkan bahwa ada perbedaan antara Administrator di Windows dan root di Unix. Administrator masih memiliki beberapa batasan dalam sistem, di mana root tidak memiliki batasan apa pun . Analog root yang benar di Windows adalah pengguna Sistem .
Hal buruk untuk menggunakan PC di bawah root / Sistem adalah bahwa Anda dapat secara tidak sengaja menghancurkan apa pun tanpa peringatan dari OS.
sumber
Alasan tidak menggunakan root:
Alasan UNTUK menggunakan root:
Menurut saya bahwa akun non-root masih bisa menjadi korban dari alasan-alasan tersebut untuk tidak menggunakan root, yang paling banyak ditambahkan adalah konfirmasi atas tindakan Anda. Saya pikir selama Anda tahu apa yang Anda lakukan, Anda benar-benar aman menggunakan root. Di sana, saya mengatakannya.
sumber
Jika aplikasi dijalankan sebagai root, tidak ada jaminan bahwa tidak satu pun dari mereka akan mengeksekusi
(Ini adalah contoh dari perintah yang tidak boleh dijalankan.)
sumber
--preserve-root
dan untuk detail.--no-preserve-root
man rm
Diberikan pengguna yang berpengetahuan dan berhati-hati, saya tidak yakin bahwa jawaban yang benar ada. Saya belum melihat jawaban ini, jadi saya pikir saya akan berpadu.
Yang tidak saya sukai adalah perubahan izin yang tidak disengaja pada sistem multi-pengguna yang saya perlukan
chmod
nanti. Memperbaiki melalui chmod setelah-fakta jauh lebih menjengkelkan daripada membutuhkan sudo, tapi itu tergantung pada apa yang saya rencanakan.sumber
Tidak ada bahaya dalam penebangan sebagai root jika digunakan dengan hati-hati.
Meskipun saya berpikir bahwa menonaktifkan root adalah solusi yang lebih baik, karena penyerang tidak bisa memaksakannya.
Salah satu solusinya adalah membuat pengguna dalam grup sudo dengan nama yang tidak jelas, suka,
gamer
dan menggunakan sudo untuk melakukan tugas administratif.Oleh karena itu penyerang tidak hanya harus menebak kata sandi pengguna administratif tersebut tetapi juga nama loginnya. Yang tidak jelas apakah pengguna menggunakan sudo memiliki nama login suka
kitty
ataugamer
atau yang serupa.sumber
Perangkat lunak didasarkan pada pustaka bersama, dependensi, file konfigurasi, dll.
Sebagian besar kali, satu klik dalam aplikasi menimbulkan "reaksi berantai" dari beberapa perubahan, tidak hanya di mana Anda pikir akan melakukannya.
Ketika perubahan-perubahan ini akan mempengaruhi pengaturan sistem-kritis, itu baik untuk Anda - sebagai pengguna - tahu.
Itulah sebabnya akses root adalah model keamanan yang baik:
Jika sesuatu yang krusial akan terjadi pada sistem Anda, Anda akan diberi tahu dengan meminta peningkatan hak istimewa.
sumber
Ini masalah dua sisi dengan lebih dari satu jawaban.
Untuk beberapa kenyataan, periksa jawaban yang sama-tetapi-oh-begitu-mengerikan untuk ini:
desktop installations
:server installations
:rm -rf /
tidak berfungsi di sebagian besar distro utama IIRCUntuk ukuran perusahaan apa pun (baca: kemungkinan besar SOHO dengan ip statis) di antara kedua ekstrem ini yang tidak memiliki pemantauan / cadangan / otomasi / logging yang layak, mungkin berguna untuk menegakkan penggunaan sudo pada server. (Yang dihindarkan oleh orang-orang yang melakukan
sudo su -
ASAP setelah tersambung, membiarkan semua niat Anda untuk mencatat apa yang terjadi sia-sia bahkan tanpa niat jahat segera setelah lebih dari satu pengguna root login. Semoga beruntung mengubah ini melalui prosedur paksa dan merawat orang dengan kejam. tindakan untuk gagal mematuhi aturan. Hidup selalu menemukan jalan.)Tetapi jika Anda tidak memiliki setidaknya fail2ban untuk mengamankan login kata sandi Anda (jika ada, terutama pada sistem yang menghadapi internet), plus jangan pedulikan penanganan kata sandi yang tepat (alat manajemen kata sandi, kebijakan penyimpanan, tidak ada kata sandi utama, yang menangani ini pada karyawan fluktuasi ...) dan memiliki beberapa bentuk manajemen pembaruan yang tepat untuk armada server di tempat sehingga semua server ditambal secara teratur, Anda mungkin akan diretas suatu hari, baik itu dari dalam atau dari luar.
Dan selalu menggunakan
sudo
agama dan menegakkan penggunaannya di antara semua orang tidak akan mengubah probabilitas Anda untuk memiliki banyak dalam kasus itu.sumber
Pada akhirnya tidak ada salahnya berjalan sebagai root. Hanya sekelompok orang paranoid yang berpikir bahwa menginstal ulang OS tidak mungkin. Argumen "Seseorang mungkin membahayakan program ..", lalu apa? jika mereka melakukan itu maka mereka sudah bisa keylog kata sandi Anda, atau hanya menampilkan permintaan kata sandi root dan Anda telah memberikan mereka kata sandi. Singkirkan sistem Anda karena Anda memilih semuanya di / dan menghapus? oh well, keluarkan installer dan instal ulang. Dibutuhkan kurang dari 20 menit, ambil kopi dan dinginkan. Root baik-baik saja, saya sudah menjalankan root selama saya bisa mengingat dan Anda tahu apa fungsinya? Itu membuat menginstal paket kurang dari sakit kepala. Anda tidak harus memasukkan kata sandi root setiap 5 menit seperti biasanya. Anda tidak mengalami masalah saat mencoba menyimpan / mengedit file konfigurasi sistem karena mereka re root izin saja. Jauh lebih mudah dan lebih baik dijalankan sebagai root.
sumber