Mengapa sudo diperlukan untuk me-reboot terminal tetapi tidak dari GUI?

10

Ketika saya menghidupkan mesin saya dan saya masuk ke akun saya, saya dapat melakukan apa pun yang saya inginkan dan bahkan mematikan mesin saya atau mengatakan reboot.

Tetapi jika saya membuka terminal dan mencoba menjalankan perintah rebootatau shutdownmaka saya harus memiliki akses root. Kenapa begitu?

Saya dapat memikirkan beberapa alasan perilaku seperti ini bagi Anda mungkin merasa hal itu diinginkan sshtetapi saya tidak yakin tentang hal itu, atau saya dapat benar-benar kehilangan beberapa poin.

Aman Deep Gautam
sumber
Periksa dbusdan lingkungan grafis Anda (mis. KDE atau gnome).
Hennes
Saya pikir Anda bisa melakukannya di setiap gui, saya hanya ingin tahu mengapa fitur desain seperti itu ada.
Aman Deep Gautam

Jawaban:

7

Ini fitur keamanan.

Saat menggunakan GUI, Anda (biasanya) duduk di depan komputer yang sedang Anda kerjakan. Namun, ketika menggunakan terminal, Anda mungkin secara fisik berada di satu mesin dan menggunakan yang lain dari jarak jauh. Anda mungkin memiliki banyak jendela terminal terbuka untuk banyak mesin yang berbeda. Bagaimana jika Anda secara tidak sengaja mengetikkan reboot pada yang salah? Tindakan itu bisa berkisar dari ketidaknyamanan hingga bencana total.

Dengan menggunakan sudo itu memaksa Anda untuk menggunakan kata sandi. Jika Anda mengetikkan kata sandi yang salah itu memberi Anda kesalahan dan mudah-mudahan Anda menyadari bahwa Anda berada di terminal yang salah. Inilah sebabnya mengapa praktik yang baik untuk memiliki kata sandi root berbeda di setiap server.

Keltari
sumber
Saya juga berpikir yang sama tetapi hanya ingin memastikan bahwa saya tidak kehilangan sesuatu .. :)
Aman Deep Gautam
1
Saya telah melihat lebih dari beberapa admin Unix menghapus nama komputer dari prompt shell mereka karena butuh banyak ruang dan kemudian menyesali keputusan itu.
Keltari
Perhatikan bahwa ini bukan fitur keselamatan dalam pengertian yang dipahami di sini. Ketika Unix dimulai, Anda hanya mendapatkan konsol (tanpa GUI). Dan hanya pengguna root yang memiliki izin untuk mematikan / memulai kembali. Masih seperti itu. GUI memintas menggunakan bit + s dalam file. Meskipun Anda dapat menghapusnya di menu menggunakan perintah ini: askubuntu.com/questions/53308/…
Alexis Wilke
Saya baru saja melihat CentOS VM saya mengklaim "reboot" bukan perintah ketika saya di- suroot. Saya mengetik di sudo rebootsana dan itu berhasil. Ketika saya langsung SSH sebagai root, rebootberfungsi dengan baik. Itu aneh.
Steven Lu
@ SevenLu Periksa jalur Anda. ("echo $ {PATH}") Mungkin saja direktori "sbin" tidak ada di jalur Anda dalam beberapa kasus. Dalam hal itu, keanehan mungkin tidak dengan perintah reboot. Menggunakan "boot ulang" mungkin juga membantu menjelaskan.
TOOGAM
0

Anda biasanya dapat reboot dari terminal dengan menekan Ctrl + Alt + Del. Itu tidak bekerja dari jarak jauh. (Memulai ulang dari GUI dari jarak jauh tanpa hak istimewa tidak berhasil.)

Joshua
sumber