如何关机?

sh/bash/dash/ksh/zsh等Shell脚本
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

如何关机?

#1

帖子 罗非鱼 » 2010-06-16 7:40

写了一个脚本,准备晚上运行,运行完毕,自动关机。
发现还不好做到这个,我用命令(前面不提了)
sudo su
shutdown -h now
这两句话,有问题,脚本执行到sudo su的时候,需要输入root的密码,这个时候我在睡觉,没有 sudo su,
shutdown -h now 这个命令无法执行,如果我在运行脚本前,用sudo su进入root状态,我担心不安全,
我想做到的事情,可否做到?
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 如何关机?

#2

帖子 trigger » 2010-06-16 8:41

没有sudo su这种写法
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
头像
erol
帖子: 61
注册时间: 2010-05-16 23:17

Re: 如何关机?

#3

帖子 erol » 2010-06-16 8:42

某小白说到:楼主是想先输入root密码,一直保存到要关机时再用这个密码获得root权限吧。
关注此问题,顶起
伊吹风子的邻居常说:那孩子是个普通的地球人
Bill Lee
帖子: 598
注册时间: 2009-09-19 20:50

Re: 如何关机?

#4

帖子 Bill Lee » 2010-06-16 8:44

在你要运行的那个脚本开头
touch ~/shutdownLock
最后
rm -f ~/shutdownLock
然后另外写一个脚本,用 sudo bash 运行。
写个循环判断 ~/shutdownLock 是否存在,若不存在则关机,并注意在循环中放个 sleep, 以减少开销
aMule 2.3.1 is coming...
真正动态的 amule-dlp is coming...
本人帐号在2011年1月被盗,在2011年1月3日17:19到2010年1月6日13:34之间本帐号发的一切帖子、短信等与本人无关!
amule-dlp 开发动态
amule-dlp on Google Code
WebArchiver - 基于 wget 的网页归档工具(PyQt4 GUI 前端)
Linux 2.6.34 编译笔记
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#5

帖子 罗非鱼 » 2010-06-16 13:28

然后另外写一个脚本,用 sudo bash 运行。问题就是,我不想进入sudo root的运行状态,
请问,linux系统下面,普通用户没有权限下达一个关机命令吗?(下达以后,系统就关机,不跳出什么,要求输入密码的东东)
楼上的办法即繁琐,又达不到我的目标。
如果像楼上所说,我直接把那个脚本在root状态下,执行,用shutdown -h now命令结尾,程序自然会达到我的意图了。
关键是:普通用户没有权限下达一个关机命令吗?(下达以后,系统就关机,不跳出什么,要求输入密码的东东)
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#6

帖子 罗非鱼 » 2010-06-16 13:29

2楼很可笑,你为何不在终端下面测试一下,看看它可否运行?
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 如何关机?

#7

帖子 trigger » 2010-06-16 13:50

:em04 是,我很可笑
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何关机?

#8

帖子 aerofox » 2010-06-16 17:17

知道 sudo su,为什么不直接 sudo shutdown 呢?

代码: 全选

visudo
然后加入一行:

代码: 全选

%sudo ALL=NOPASSWD: /sbin/shutdown
然后脚本中就可以用

代码: 全选

sudo /sbin/shutdown -h now
如果用 gnome 环境,也可以使用命令:

代码: 全选

gnome-power-cmd shutdown
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#9

帖子 罗非鱼 » 2010-06-16 18:28

都不行,请弄清楚我的意图:那个脚本必须以非root权限运行,运行完成后,系统自动关机。
pt@pt-laptop:~$ sudo shutdown
[sudo] password for pt:
pt@pt-laptop:~$ visudo
visudo: /etc/sudoers: Permission denied
visudo: /etc/sudoers: Permission denied
pt@pt-laptop:~$ sudo /sbin/shutdown -h now
[sudo] password for pt:
pt@pt-laptop:~$ gnome-power-cmd shutdown
gnome-power-cmd: command not found
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 如何关机?

#10

帖子 xiooli » 2010-06-16 18:54

九楼正解,visudo 要用root权限。

或者你弄个后台脚本,用root权限运行,然后普通脚本发信号给它,让其关机。
only_one
帖子: 186
注册时间: 2010-05-25 16:49

Re: 如何关机?

#11

帖子 only_one » 2010-06-16 19:41

SUID 可行吧
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何关机?

#12

帖子 aerofox » 2010-06-16 20:11

visudo 前加 sudo 就可以了。
gnome-power-cmd 在 gnome-power-manager 软件包中。
thorne
帖子: 660
注册时间: 2008-10-08 22:01

Re: 如何关机?

#13

帖子 thorne » 2010-06-16 21:25

root自己用一个crontab不就能完成这个工作么?

代码: 全选

其实我是个Debian GNU/Linux用户
Octave script :http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=254511
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何关机?

#14

帖子 aerofox » 2010-06-17 6:10

crontab 是定时的,楼主要的不是定时关机
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#15

帖子 罗非鱼 » 2010-06-17 8:32

pt@pt-laptop:~$ sudo apt-get install gnome-power-manager
[sudo] password for pt:
Reading package lists... Done
Building dependency tree
Reading state information... Done
gnome-power-manager is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
pt@pt-laptop:~$ man gnome-power-cmd
No manual entry for gnome-power-cmd
回复