Mengapa Ubuntu tidak mengizinkan pengguna GUI untuk login sebagai root pada saat sistem dinyalakan seperti administrator di Windows?
Mengapa mereka membatasi kami untuk masuk hanya melalui terminal?
Mengapa Ubuntu tidak mengizinkan pengguna GUI untuk login sebagai root pada saat sistem dinyalakan seperti administrator di Windows?
Mengapa mereka membatasi kami untuk masuk hanya melalui terminal?
Jawaban:
Karena itu tidak disarankan untuk melakukannya kecuali Anda tahu persis apa yang Anda lakukan. Root adalah superuser, artinya dapat melakukan apa saja dan segalanya - itu hanya dimaksudkan untuk tugas administratif. Tugas harian dapat menanggung risiko keamanan yang AKAN dieksploitasi jika SEMUA ORANG (atau sebagian besar pengguna) menggunakan root. Pikirkan Windows - 99% masalah malware dan virus berasal dari orang yang menggunakan akun admin untuk tugas sehari-hari.
Mari kita lihat sebuah contoh.
Bagaimana jika seseorang membobol sistem Anda dan menyuruhnya menghapus disk Anda? Jika Anda menjalankan sebagai pengguna biasa, satu-satunya file yang Anda (harus) dapat hapus adalah milik Anda, dan bukan orang lain. Jika, katakanlah, Anda memiliki orang lain yang menggunakan komputer, file mereka tidak akan disentuh sama sekali, tidak peduli seberapa keras Anda mencoba. Itu berarti Anda tidak akan dapat mengubah file sistem apa pun , dan karena itu sistem Anda akan tetap kokoh dan tidak terpengaruh / tidak terinfeksi.
Namun, jika Anda menjalankannya sebagai root, Anda dapat menghapus seluruh hard drive, mungkin merusak perangkat keras itu sendiri, dan secara umum membuat sistem tidak dapat digunakan. Koreksi: siapa pun yang dapat menjalankan satu perintah sebagai root di komputer Anda (beberapa situs web berbahaya atau lampiran email) dapat melakukannya.
Lihatlah http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , adalah artikel yang bagus yang mungkin menjelaskannya lebih baik daripada saya.
EDIT: ini satu lagi http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html
EDIT2: Anda selalu dapat menggunakan sudo command
atau gksu command
menjalankan command
sebagai superuser, keduanya berfungsi dengan utilitas grafis dan perintah-baris. sudo
biasanya digunakan untuk CLI, dan gksu
merupakan kata sandi grafis yang melakukan hal yang sama.
Sampai batas tertentu, mereka membiarkan Anda menjadi root
sementara - jauh, jauh lebih baik daripada berjalan terus-menerus sebagai root dan mempertaruhkan ketidakstabilan.
Di Ubuntu standar, root
login tidak diperbolehkan, baik dari manajer login GDM (grafis), maupun dari konsol teks (yaitu, yang Anda dapatkan jika menekan Ctrl+ Alt+ F1).
Untuk melakukan root
operasi (yaitu, administrator), Anda harus menggunakan sudo
perintah di terminal, atau GUI yang sepadan dengannya: ini akan meminta kata sandi Anda dan kemudian melakukan operasi istimewa yang diminta (dan hanya yang itu).
Alasan untuk perilaku ini adalah, seperti yang telah ditunjukkan oleh orang lain, bahwa melakukan root
operasi secara inheren berisiko dan jumlah operasi yang benar-benar memerlukan root
hak istimewa relatif kecil: dengan menggunakan sudo
pendekatan ini Anda menjalankan sebagian besar waktu dengan akun yang tidak terjangkau (yaitu, tidak berbahaya ke sistem dan pengguna lain) dan dapatkan root
kekuatan saat itu benar-benar dibutuhkan.
Contoh dapat membantu memperjelas. Asumsikan Anda ingin menginstal layanan baru (daemon) pada mesin Anda; ini relatif baru dan Anda perlu membacanya dan cara mengkonfigurasinya untuk kebutuhan Anda. Anda akan sering menjelajahi web untuk menemukan informasi, contoh konfigurasi, dll., Mungkin minta IRC chat untuk meminta info lebih lanjut - semua ini tidak memerlukan root
kekuatan! Pada akhirnya, Anda hanya perlu akses istimewa untuk dua operasi:
sudo apt-get install ...
), danPrinsip yang diterima secara umum dalam keamanan komputer selalu menggunakan tingkat hak istimewa yang paling tidak mungkin untuk melakukan operasi. - ini mengurangi risiko sesuatu yang buruk terjadi karena bug pada perangkat lunak atau kesalahan dari operator.
Pengaturan default Ubuntu berjalan ke arah ini; jika Anda menggunakan root
login, sebagai gantinya, Anda akan berakhir menjelajah internet, melakukan IRC (dan mungkin semua hal lain yang dilakukan secara bersamaan) dari root
akun, sehingga tidak perlu mengekspos sistem terhadap ancaman.
Pembaruan: Sebagai contoh kompiler Anda, saya akan melanjutkan dengan cara ini:
Login ke node melalui SSH sebagai pengguna reguler Anda , dan dari node Ubuntu atau GNU / Linux lain di mana Anda memiliki tampilan X11 grafis yang sedang berjalan. Pastikan untuk mengaktifkan penerusan X11 melalui SSH:
ssh -X myuser@remotemachine.example.org
Pada prompt shell / SSH, jalankan perintah:
sudo /path/to/the/compiler/install/program
Ini akan menjalankan penginstal kompiler dengan root
hak istimewa, dan mengakses (melalui penerusan SSH) tampilan grafis di depan Anda.
Alasan di balik penggunaan sudo di Ubuntu dapat ditemukan di sini . Jika Anda memerlukan cara cepat untuk "melakukan root", saya menggunakan sudo -s
atau sudo -i
.
Selain dari pegunungan peringatan dengan menggunakan root, Anda dapat mengaktifkan login root dengan masuk dan melakukan hal berikut dari terminal:
sudo passwd
Ini pertama kali akan meminta Anda untuk kata sandi Anda kemudian akan meminta Anda untuk mengubah kata sandi UNIX. Kata sandi yang Anda masukkan adalah untuk root
akun.
The Ubuntu Wiki memiliki banyak artikel pada kedalaman akar dan sudo dalam Ubuntu - peringatan dan perangkap.
Ada dua pertanyaan di sini. Pertama, mengapa login root dinonaktifkan secara default di Ubuntu? Itu telah ditanggapi oleh beberapa posting di sini.
Pertanyaan kedua adalah, mengapa login root grafis sangat diremehkan?
Semua kerugian dari login root nongraphical berlaku untuk login root grafis juga. Tetapi ketika Anda login secara grafis, Anda menjalankan lebih banyak program, beroperasi dengan cara yang jauh lebih kompleks, daripada ketika Anda masuk secara nongrafis. Seluruh antarmuka pengguna grafis dan semua program grafis yang diperlukan untuk menggunakan GUI secara efektif, akan berjalan sebagai root. Kerentanan keamanan kecil di salah satu dari mereka akan memungkinkan seseorang untuk mengambil kendali penuh atas sistem Anda.
Masuk sebagai root sama sekali tidak dianjurkan di Ubuntu, tetapi tidak ada konsensus dalam komunitas keamanan bahwa itu secara universal merupakan praktik buruk. Login root grafis, bagaimanapun, hanyalah praktik yang buruk, dan hampir semua sistem operasi telah menghapusnya atau sangat merekomendasikannya.
Pada tingkat yang lebih rendah, memiliki pengguna non-root (terutama yang memiliki kemampuan untuk melakukan operasi sebagai root dengan sudo atau PolicyKit) dalam login grafis menimbulkan risiko. Tetapi mereka jauh lebih terkontrol daripada ketika segala sesuatu di lingkungan grafis harus benar-benar berjalan sebagai root dengan kemampuan tidak terbatas. Namun, untuk situasi di mana keamanan adalah yang terpenting, biasanya disarankan untuk menghapus semua antarmuka grafis, itulah sebabnya Ubuntu Server tidak menyertakan GUI secara default dan secara resmi merekomendasikan untuk tidak menginstalnya (meskipun didukung untuk melakukannya) .
Di dunia Windows, Anda sekarang dapat menginstal Windows Server dengan cara yang pada dasarnya menghilangkan antarmuka pengguna grafis (secara teknis, beberapa elemen tetap ada, tetapi sangat terurai dan Anda tidak dapat menjalankan program grafis sewenang-wenang). Ini didasarkan pada alasan yang sama.
Bahkan jika Anda memutuskan untuk mengaktifkan login root, tolong jangan login secara grafis sebagai root. Mengaktifkan login root dapat menempatkan Anda pada risiko keamanan yang sedikit lebih tinggi; menjalankan seluruh lingkungan grafis sebagai root menempatkan Anda pada risiko yang sangat tinggi.
Selain itu, dengan pengecualian alat administrasi grafis yang dirancang untuk dijalankan sebagai root dengan gksu / gksudo / kdesudo, sebagian besar program grafis tidak dimaksudkan untuk dijalankan sebagai root. Karena mereka tidak diuji secara ekstensif dalam mode ini, mereka mungkin gagal atau berperilaku tidak menentu (yang akan sangat buruk, karena mereka berjalan sebagai root ).
Akhirnya, bahkan beberapa alat administrasi grafis, sepertiusers-admin
, akan gagal jika dijalankan sebagai root, karena mereka diharapkan dijalankan oleh pengguna normal dan untuk melakukan tindakan sebagai root (tanpa pernah benar-benar berjalan sebagai root) menggunakan PolicyKit.
Buka Terminal ( Ctrl+ Alt+ Tatau Beranda beranda> Aplikasi Lainnya> Terpasang (Buka)> Terminal).
UNTUK MENGAKTIFKAN AKUN ROOT
Dalam tipe terminal atau tempel sudo passwd root
. Masukkan kata sandi masuk normal Anda (jika diminta), maka Anda akan diminta memasukkan root
kata sandi baru dan mengonfirmasi.
UNTUK MENAMBAH PROMOSI LOGIN BARU YANG MEMUNGKINKAN ANDA UNTUK MEMASUKI ROOT DAN SANDI
Dalam tipe terminal atau tempel. gksudo gedit /etc/lightdm/lightdm.conf
. Ini membuka jendela editor teks grafis di mana Anda dapat mengedit file konfigurasi untuk layar login.
Tambahkan baris greeter-show-manual-login=true
ke bagian bawah file.
File sekarang harus dibaca sebagai berikut:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
Simpan lightdm.conf
file dan keluar dari gedit.
Reboot Ubuntu 12.04 dan Anda akan melihat jendela "Login" baru (menggantikan jendela "Lainnya" sebelumnya) yang memungkinkan input nama pengguna dan kata sandi. Masukkan root
nama pengguna dan masukkan kata sandi yang Anda tetapkan untuk akun root.
Saya harap ini membantu orang lain yang membutuhkan / menginginkan root
akses.
untuk ubuntu 12.04 LTS Anda dapat melakukan ini menggunakan hak akses root:
echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf
Kemudian Anda diminta untuk mengetik nama pengguna dan kata sandi untuk login secara grafis. Saya berasumsi Anda telah menetapkan kata sandi untuk root :)
Saya tahu ada banyak alasan mengapa Anda tidak harus login secara langsung sebagai root, namun, ada beberapa kasus langka yang keluar (misalnya dalam kotak tes yang berjalan di vmware) ketika Anda benar-benar menghargai kenyamanan menjadi root.
Karena pengguna root dan Administrator (di Windows) adalah setara dengan Dewa ke komputer. Pengguna itu dapat menyesuaikan apa saja dari izin file hingga menghapus seluruh sistem file. Sangat umum bagi pengguna rumahan rata-rata untuk menjalankan sebagai Administrator (baik dengan nama itu atau nama lain yang diatur saat boot pertama). Karena program apa pun yang dijalankan karena pengguna itu luas sistem, itu menjadi berbahaya.
Kurangnya kontrol atas hak administratif memungkinkan untuk virus / malware atau bahkan masalah yang merusak diri sendiri. Karena inilah banyak distro, termasuk Ubuntu, membatasi transisi ke daya tinggi dengan langkah ekstra (langkah yang agak kognitif yang membantu menegaskan bahwa "setiap perubahan yang saya buat di sini adalah perubahan yang lebih luas dalam cakupan").
Meskipun Anda tidak dapat masuk secara langsung sebagai root (karena alasan yang sudah dijelaskan orang lain dengan baik), Anda dapat menjalankan aplikasi GUI sebagai root. Sebagai contoh, System → Administration → Synaptic Package Manager adalah aplikasi grafis yang berjalan sebagai root.
Untuk menjalankan aplikasi sebagai root (baik aplikasi teks atau aplikasi GUI), cukup gunakan salah satu dari perintah ini:
sudo name-of-the-application
gksu name-of-the-application
Mereka hampir identik. Perbedaan utama adalah bahwa yang pertama meminta kata sandi Anda di terminal, yang kedua menggunakan jendela dialog grafis.
sudo
dan gksu
lebih penting daripada tempat Anda memasukkan kata sandi. gksu
lebih disukai untuk aplikasi GUI dan sudo
untuk baris perintah lihat di sini dan di sini
Root benar-benar tidak disarankan untuk penggunaan normal, tetapi kadang-kadang Anda memiliki daftar panjang perintah terminal yang membutuhkan hak akses root dan lebih mudah untuk login sebagai root. Saya menggunakan sudo xterm
atau gksu xterm
untuk membuka terminal root, saya pikir ini sedikit lebih mudah untuk membedakan mana istilah jendela memiliki hak root ketika Anda memiliki "root @" term prompt
Catatan tambahan: Ubuntu tidak mengizinkan pengguna GUI untuk login sebagai root karena Ubuntu mencegah Anda untuk secara tidak sengaja menghapus atau menghapus file penting dengan aplikasi GUI (seperti nautilus).
Dengan hanya antarmuka pengguna CLI, dapat mengurangi risiko kesalahan kami. Tetapi sebelumnya kita tidak dapat login dengan root bahkan dalam mode CLI karena Ubuntu membuat kata sandi acak untuk root. Tugas administrasi root hanya dapat dilakukan dengan menggunakan kata sandi pengguna dengan perintah sudo atau gksu.
Ini berdasarkan aturan Debian.
Mengingat bahwa tidak ada alasan yang baik untuk login sebagai root , saya kira perbedaan antara RH (izinkan root login) dan ubuntu (melakukan semuanya menggunakan sudo / gksu) adalah masalah preferensi.
Sedangkan untuk bagian lain dari pertanyaan Anda, Anda harus dapat menjalankan instalasi grafis Anda dengan masuk sebagai pengguna biasa, menekan ALT-F2
dan memasukkan gksu
. Dalam dialog yang dihasilkan cukup masukkan perintah yang meluncurkan installer Anda.
Anda harus selalu masuk sebagai diri sendiri dan kemudian sudo untuk melakukan tindakan sebagai root. Ubuntu diatur untuk memungkinkan Anda mengakses semua yang dibutuhkan secara default. Perubahan kecil akan mengurus sisanya (seperti menambahkan Anda yang digunakan ke grup lain). Ini dianggap praktik buruk untuk masuk sebagai root. Praktik terbaik industri adalah pengaturan default di sini.
Seseorang yang bisa masuk sebagai root bisa menjadi hal yang sangat buruk dari sudut pandang keamanan.