linux下reboot和shutdown关机命令详解
第一、reboot
使用方法:直接在SSH ROOT权限用户下输入reboot命令就可以看到The system is going down for reboot NOW的提示,目前就重启VPS。
reboot的工作过程差不多跟halt一样?不过它是引发主机重启?而halt是关机。它的参数与halt相差不多。
第二、shutdown
这个命令可以用来重启也可以用来关机操作。如果按照完整的命令参数还比较难以,老蒋遵循的是实用,所以就分享我们常用的就可以。
A - 关闭系统且关闭电源
shutdown -h now #立即关闭系统和电源
shutdown -h +10 "10 minute after shutdown" #10分钟之后关闭系统和电源
B - 利用shutdown重启电脑
shutdown -r now
当前立即重启电脑,和上面的reboot是一样的效果。
还可以用shutdown命令实现自动定时关机的功能,总结如下:
shutdown -r now 关机后重启
shutdown -h now 关机后不重启
shutdown -r +10 10分钟后重启
shutdown -r 10:00 10点钟重启
shutdown -h +10 10分钟后关机
shutdown -h 10:00 10点钟关机
以下是测试的过程。
root@localhost ~]#whereis reboot #查找reboot的位置
reboot: /sbin/reboot /usr/share/man/man8/reboot.8.gz
[root@localhost ~]#su user #切换到user
[user@localhost root]$ reboot #执行重启测试
reboot: Need to be root #提示需要root
[user@localhost root]$ exit #退回到root用户
exit
[root@localhost ~]# ll /sbin/reboot #查看默认/sbin/reboot的详细信息
-rwxr-xr-x. 1 root root 13932 Jul 19 2011 /sbin/reboot #注意看前三个为rwx
[root@localhost ~]# chmod u+s /sbin/reboot #增加suid权限
[root@localhost ~]# ll /sbin/reboot #重新查看修改后的/sbin/reboot详细信息
-rwsr-xr-x. 1 root root 13932 Jul 19 2011 /sbin/reboot #这时候已经变更为rws
[root@localhost ~]# su user #重新切换到user用户
[user@localhost root]$ reboot #执行reboot指令
Broadcast message from root@localhost.localdomain #重启成功
(/dev/pts/0) at 21:28 ...
The system is going down for reboot NOW!
另一种方法,使用sudo!
上面这样做被认为是一种对安全的威胁,因为包括root在内的所有用户都可以关机和重启了。比较安全些的方法是使用sudo命令。首先安装sudo:
#pacman -S sudo
然后,在root用户下用visudo命令添加以下到/etc/sudoers文件的末端。替换其中的user为你的用户名,hostname为你的主机名。
user hostname=NOPASSWD: /sbin/shutdown -h now
user hostname=NOPASSWD: /sbin/reboot
或者合并为一行表示
user hostname=NOPASSWD: /sbin/shutdown -h now,/sbin/reboot
现在你的用户可以用sudo shutdown -h now命令关机,reboot命令重启了。
方法三:Xfce
在Xfce下,如果你希望用户利用Hal关机,,需要安装sudo。然后用visudo -f命令添加以下内容到/etc/sudoers中
对所有用户:
%users hostname=NOPASSWD:/usr/lib/xfce4/xfsm-shutdown-helper
对单一用户:
user hostname=NOPASSWD:/usr/lib/xfce4/xfsm-shutdown-helper
替换其中的user为你的用户名,hostname为你的主机名(你可以用hostname命令得到它)。
这样你定义了的用户的“关机”和“重启”选项就激活了。