`sudo reboot` vs` reboot` - apa bedanya?

60

Baru-baru ini saya menemukan bahwa itu rebootberfungsi dengan baik sudo reboot, dari apa yang saya tahu. Namun, dalam banyak contoh, saya melihat orang mengatakan demikian sudo reboot. Kenapa ini? Apakah mereka sama, dan hanya preferensi pribadi? Atau apakah mereka berbeda? Apakah sudo rebootmelakukan lebih dari itu reboot?

Zeke Egherman
sumber
1
Sistem reboot oleh pengguna biasa bahkan tidak terdengar logis. Mengubah runlevel dari proses root (init) harus dimungkinkan oleh root dan hanya pengguna root. Anda bahkan tidak dapat mengakses pintasan sistem file sysrq oleh pengguna lain mana pun. TAPI! Anda dapat me-reboot linux Anda dengan sysrq kunci , itu tidak memerlukan sudo:)
Svetlana Linuxenko
sudokependekan dari "Super-user Do". Ini tidak memiliki efek pada perintah itu sendiri (makhluk ini reboot), itu hanya menyebabkannya berjalan sebagai pengguna super daripada sebagai Anda. Ini digunakan untuk melakukan hal-hal yang Anda mungkin tidak memiliki izin untuk melakukannya, tetapi tidak mengubah apa yang dilakukan. Jika Anda sudah memiliki izin untuk menjalankan reboot, maka baiklah, jalankan saja reboot.
Lee Crocker
Ini secara tradisional perlu dilakukan root. Kebiasaan lama sangat sulit.
Thorbjørn Ravn Andersen
6
@SvetlanaLinuxenko> Sistem reboot oleh pengguna biasa bahkan tidak terdengar logis . Pengguna yang duduk di konsol hanya dapat menekan tombol power atau menarik steker jika kita tidak membiarkan mereka reboot dengan bersih.
Kaz
Banyak distribusi lain tidak akan membiarkan Anda me-reboot jika Anda tidak melakukan root.
user253751

Jawaban:

113

Di Ubuntu 14.10 dan lebih lama, sudodiperlukan.

Pengenalan Systemd di 15.04 mengubah cara Ubuntu menangani shutdowndan reboot:

  1. Ketika satu pengguna masuk, sudotidak perlu. Ketika lebih dari satu pengguna masuk maka sudodiperlukan.

  2. Aplikasi dapat menghambat shutdowndan reboot. Anda menimpa hambatan ini dengan sudo.

  3. Satu pengguna yang masuk melalui sshmasih membutuhkan sudo.

pengguna535733
sumber
Saya pikir ini termasuk satu pengguna yang masuk kali mutilple juga.
mckenzm
6
Itu tidak ada hubungannya dengan jumlah pengguna yang terhubung. Kemampuan untuk reboot tanpa menggunakan sudotergantung pada konsol mesin. Jika Anda masuk ke mesin, Anda masih tidak akan bisa mem-boot ulang komputer itu tanpa sudo, bahkan jika Anda satu-satunya pengguna yang masuk. Sebaliknya, jika Anda berada di konsol, Anda masih dapat mem-boot ulang tanpa sudoada pengguna lain. terhubung dari jarak jauh.
Dave Sherohman
1
@DaveSherohman: Itu belum tentu benar - systemd masih menggunakan tindakan polkit terpisah tergantung pada apakah Anda satu-satunya orang yang masuk, atau apakah ada beberapa. Artinya, distro (atau sysadmin) dapat dengan mudah membuat mereka berperilaku berbeda.
grawity
21

Pada mesin 14,04 saya, ketika saya (sebagai pengguna normal) mengetik reboot, saya dapatkan

reboot: Need to be root

Itulah bedanya.

Seperti yang Terrance tunjukkan dalam komentar, ini bekerja secara berbeda pada sistem yang lebih baru daripada sistem saya. Jadi, Anda mungkin melihat kiriman lama dan / atau pengguna (seperti saya) yang terbiasa mengetik sudo reboot!

Marmer organik
sumber
Menarik! Yang saya ingin tahu sekarang adalah apakah ada sesuatu yang berubah antara 14,04 dan 17,10 untuk membuatnya Anda tidak perlu di-root reboot, atau jika ada faktor lain yang berperan dalam sistem saya mengubah itu.
Zeke Egherman
3
@ ZekeEgherman Saya benar-benar berpikir perbedaan terjadi ketika mereka berubah dari Upstart ke Systemd untuk perintah. Ketika saya melihat perintah reboot saya itu menunjuk sebagai tautan ke /bin/systemctl. Anda dapat memeriksa milik Anda dengan mengetik ls -al $(which reboot).
Terrance
@terrance, saya juga melihat tautannya /bin/systemct1, versi apa Anda?
Zeke Egherman
Itu menarik! Saya baru saja mencobanya di mesin virtual pra-rilis 18,04 saya, dan berfungsi seperti yang Anda katakan. @ Trans, saya pikir Anda harus menulis jawaban yang sebenarnya.
Marmer Organik
@ZekeEgherman 16.04. Ubuntu beralih ke Systemd pada 15,04. Jadi, 14,04 masih akan menjadi pemula atau initd jika itu yang Anda inginkan.
Terrance
8

sudo rebootdigunakan dalam tutorial / cara-cara untuk alasan kompatibilitas

Sementara reboot mungkin berhasil

  • jika Anda root atau
  • jika Anda memiliki host dengan systemd dan
  • jika tidak ada aplikasi yang memblokir reboot

sudo rebootakan " selalu " * berfungsi, terlepas dari

  • apakah Anda root
  • apakah ada pengguna lain yang masuk
  • apakah ada aplikasi yang memblokir
  • apakah init adalah systemd, System V, Pemula, apa pun

* Yah, pasti akan mencoba - singkatnya ada beberapa proses kernel yang memblokir / salah tingkah seharusnya bekerja.

Robert Riedl
sumber
Itu akan selalu * berfungsi ... jika sudo diinstal.
Ave
7

Untuk saya sendiri berkali-kali jika saya mengetiknya reboottidak akan membiarkan saya karena inhibitor dari Chrome ketika menonton YouTube dan tab terbuka lainnya. Jadi saya terpaksa menggunakan sudo reboot- palu yang lebih besar.

Ini di Ubuntu 16.04

WinEunuuchs2Unix
sumber
4

Terima kasih atas diskusi, saya senang memahami ini sekarang!

Seperti yang disebutkan oleh Terrance , dalam versi 15.04, mereka beralih dari Pemula ke Systemd untuk perintah. Perubahan ini berarti bahwa reboottidak lagi memerlukan hak root.

Adapun alasan yang diperintahkan oleh komunitas * nix sudo reboot, ada beberapa alasan potensial:

  • Kebiasaan - Orang-orang sudah terbiasa harus sudo rebootreboot, mereka terus melakukannya meskipun kenyataannya itu tidak diperlukan
  • Pengguna yang tidak diperbarui - Orang-orang yang menginstruksikan untuk sudo rebootberada pada versi Ubuntu lebih rendah dari 15,04, atau distro lain yang menggunakan Upstart untuk perintah.

  • Kompatibilitas - Inilah yang tampaknya paling masuk akal bagi saya: orang-orang menginstruksikannya sudo rebootkarena dijamin untuk reboot di semua sistem * nix, apa pun yang terjadi.

Catatan tambahan: dari user535733 's jawabannya :

Pengenalan systemd di 15.04 mengubah cara Ubuntu menangani shutdown dan reboot:

  1. Ketika satu pengguna masuk, sudotidak perlu. Ketika lebih dari satu pengguna masuk, maka sudodiperlukan.

  2. Aplikasi dapat menghambat shutdown dan reboot. Anda menimpa hambatan ini dengan sudo.

Zeke Egherman
sumber