Negatif / kerugian dari pengaturan sudo tanpa-root Ubuntu

9

Secara default, Ubuntu tidak membuat akun root yang dapat diakses pengguna. Sebagai gantinya pengguna menggunakansudo ketika mereka perlu melakukan tindakan yang memerlukan akses administratif.

Jelas, orang-orang di Ubuntu merasa ini adalah ide yang bagus, dan semua yang saya baca di situs Ubuntu memberikan banyak alasan mengapa mereka berpikir itu ide yang bagus (lihat RootSudo @ the Ubuntu Wiki , misalnya).

Namun, banyak distribusi utama lainnya, seperti Debian, Gentoo, dll. Tidak mengatur semuanya dengan cara ini secara default, dan saya mencoba mencari tahu mengapa. Jika pengaturan default sudo-root Ubuntu adalah ide yang bagus, mengapa tidak semua distro utama lain melakukannya juga? Ini membuat saya percaya bahwa mungkin ada alasan kuat untuk TIDAK mengaturnya dengan cara ini; tapi saya kesulitan menemukan apa pun yang memberikan detail tentang ini. Yang saya temukan hanyalah artikel / posting yang berbicara tentang betapa hebatnya ...

Jadi pertanyaan saya adalah: Apakah ada masalah besar dengan pengaturan sudo Ubuntu (rasa tidak aman, keterbatasan fungsional, dll.) Yang mencegah distribusi lain dari menggunakan pengaturan ini, dan jika demikian, apakah itu? Tentu saja, itu mungkin hanya ide bagus bahwa distro lain lambat untuk digunakan, atau tahan karena berbeda dari cara kerja selama 30 tahun terakhir. Jika itu masalahnya, saya ingin mengetahuinya.

J. Taylor
sumber
3
Pernahkah Anda melihat unix.stackexchange.com/questions/8581/… ?
mattdm
Tidak, saya belum melihat itu. Terima kasih telah menunjukkannya. Cukup banyak menjawab sebagian besar pertanyaan saya tentang pro / kontra menggunakan sudo ... walaupun saya masih tertarik untuk memahami motif distro lain karena tidak melakukan hal-hal dengan cara Ubuntu.
J. Taylor
1
Baiklah, FWIW, saya telah mendorong Fedora untuk melakukan ini sejak, baik, sejak sebelum Ubuntu ada, dan saya percaya akhirnya akan menjadi default di F16 jika bukan F15.
mattdm

Jawaban:

4

Satu-satunya kelemahan non subjektif yang saya tahu jika adalah bahwa ketika pengguna root tidak memiliki kata sandi mengatur itu memungkinkan akses ke mode pengguna tunggal tanpa kata sandi.

Mesin yang benar-benar aman akan berada dalam wadah terkunci, boot dari media yang dapat dilepas dinonaktifkan, kata sandi BIOS diatur untuk mencegah perubahan, kata sandi bootloader ditetapkan untuk mencegah cmdline booting kernel tidak diubah (jadi tidak ada penambahan init=/bin/sh), dan kata sandi akan menjadi diperlukan untuk mengakses mode pengguna tunggal.

Arrowmaster
sumber
1
Jika Anda tidak dapat menambahkan init=/bin/sh, Anda tidak dapat menambahkan single, jadi dalam kasus apa pun kata sandi bootloader memberikan perlindungan Anda di sana.
mattdm
2
Tetapi jika kesalahan terjadi selama boot (seperti saat fsck'ing partisi) itu akan menjatuhkan Anda ke mode pengguna tunggal tanpa meminta kata sandi.
Arrowmaster
1
Tergantung pada sistem init Anda. Di RHEL5, itu berjalan sulogin; ini dapat dikonfigurasi secara berbeda.
mattdm
4

Ketika Anda menggunakan vi alih-alih visudo untuk mengedit / etc / sudoers pada sistem jarak jauh dan mengacaukan sintaks, Anda tidak dapat lagi sudo, atau menggunakan su karena tidak ada set kata sandi root.

Saya sudah melakukan ini. Saya telah belajar dari ini. Itu terbakar. :-)

Sirex
sumber
3

Pada dasarnya, sudo memberi Anda hak administratif. Jika Anda tidak memiliki akun root, dan pengguna sudah ALL=(ALL) ALLmasuk /etc/sudoers, maka pengguna Anda adalah pengguna super. Ini tidak disarankan karena Anda dapat menjalankan perintah dengan hak administratif menggunakan sudodan kata sandi pengguna ANDA.

Administrator HARUS mengkonfigurasi sudountuk mengakui beberapa perintah untuk pengguna, tetapi beberapa tugas administratif roothanya akan , jadi rootadalah superuser nyata .

Masalah sebenarnya adalah hak istimewa adalah hak istimewa. Sistem paling aman hanya akan memiliki 1 pengguna super, dan itu root.

Lihat ini

D4RIO
sumber
Singkatnya: Hak istimewa administratif harus digunakan untuk tugas administratif, bukan untuk desktop, penggunaan setiap hari.
D4RIO
3

Di distro lain yang Anda sebutkan, disarankan untuk membuat (atau lebih tepatnya tanda komentar) pada baris /etc/sudoers, yang memberikan wheelakses tidak terbatas pada grup , dan kemudian menambahkan diri Anda ke grup itu.

Ini tidak hanya eksklusif untuk Linux, tetapi juga standar pada * BSD, dan saya percaya bahkan pada Mac OS X (tidak yakin tentang yang terakhir, karena saya tidak menggunakan Mac secara teratur).

polemon
sumber
1
jika lebih banyak orang membutuhkan akses root ke mesin, ini adalah cara yang disarankan, daripada memberikan lebih banyak orang kata sandi root.
polemon
Ya - ini adalah apa yang saya lakukan ketika saya menjalankan Gentoo. Tetapi jika cara terbaik untuk memberi pengguna biasa akses penuh ke root adalah menempatkan mereka di roda + sudoers, maka saya tidak mengerti mengapa mereka tidak hanya ingin mengatur sudo-root secara default, dan kemudian membiarkan mereka membuat akun root secara manual jika mereka benar-benar membutuhkan login root.
J. Taylor
sudobukan undangan baru, sudah ada selama bertahun-tahun. Mungkin Ubuntu memiliki sesuatu yang bahkan berbeda dalam pikiran, atau hanya mencoba untuk menyalin perilaku Windows.
polemon
Saya mengerti bahwa sudo bukanlah penemuan baru, tetapi cara Ubuntu menggunakannya (yaitu untuk menghapus akun root sama sekali) tentu tidak biasa, jika dibandingkan dengan distro lain.
J. Taylor
2
Memberikan akses sudo tanpa batasan sebenarnya tidak lebih aman daripada memberikan kata sandi root, mengingat bagaimana setiap orang dengan tingkat akses itu bisa saja sudo passwddan mengunci orang lain. Seperti biasa, tautan lemah dalam keamanan adalah antara kursi dan keyboard.
Shadur
2

Saya menduga sebagian besar masalah kelembaman. Sekali waktu, sudoperintah itu tidak ada, jadi akun root harus dikonfigurasi dengan kata sandi. Menurut "Sejarah Singkat Sudo" , yang dirujuk dari artikel Wikipedia ini , sudopertama kali diterapkan sekitar tahun 1980, tetapi mungkin tidak menyebar luas sampai tahun 1990-an.

Mungkin masih ada kecenderungan untuk melihat sudosebagai kenyamanan tambahan, bukan sebagai sesuatu yang harus menjadi inti dari bagaimana sistem dikelola.

Keith Thompson
sumber
1

Seperti yang ditunjukkan oleh mattdm, pertanyaan ini (sebagian besar) sudah dijawab di sini: Mana cara teraman untuk mendapatkan privilege root: sudo, su atau login?

J. Taylor
sumber
(Saya katakan "sebagian besar", karena saya masih tertarik untuk memahami mengapa distro lain tidak memilih untuk beralih menggunakan sudo)
J. Taylor
2
Yah saya melihatnya dari sisi lain. Saya tidak mengerti mengapa ubuntu memilih sudo daripada metode lain. Kekhawatiran saya dinyatakan dalam pertanyaan tetapi untuk meringkas: Jika seorang penyerang dapat menjalankan kode sebagai pengguna normal saya, saya tidak bisa mempercayai sistem dari saat saya masuk. Saya tidak yakin apakah saya memulai sudo asli atau versi mencuri kata sandi.
stribika