分页: 1 / 4

如何关机?

发表于 : 2010-06-16 7:40
罗非鱼
写了一个脚本,准备晚上运行,运行完毕,自动关机。
发现还不好做到这个,我用命令(前面不提了)
sudo su
shutdown -h now
这两句话,有问题,脚本执行到sudo su的时候,需要输入root的密码,这个时候我在睡觉,没有 sudo su,
shutdown -h now 这个命令无法执行,如果我在运行脚本前,用sudo su进入root状态,我担心不安全,
我想做到的事情,可否做到?

Re: 如何关机?

发表于 : 2010-06-16 8:41
trigger
没有sudo su这种写法

Re: 如何关机?

发表于 : 2010-06-16 8:42
erol
某小白说到:楼主是想先输入root密码,一直保存到要关机时再用这个密码获得root权限吧。
关注此问题,顶起

Re: 如何关机?

发表于 : 2010-06-16 8:44
Bill Lee
在你要运行的那个脚本开头
touch ~/shutdownLock
最后
rm -f ~/shutdownLock
然后另外写一个脚本,用 sudo bash 运行。
写个循环判断 ~/shutdownLock 是否存在,若不存在则关机,并注意在循环中放个 sleep, 以减少开销

Re: 如何关机?

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

Re: 如何关机?

发表于 : 2010-06-16 13:29
罗非鱼
2楼很可笑,你为何不在终端下面测试一下,看看它可否运行?

Re: 如何关机?

发表于 : 2010-06-16 13:50
trigger
:em04 是,我很可笑

Re: 如何关机?

发表于 : 2010-06-16 17:17
aerofox
知道 sudo su,为什么不直接 sudo shutdown 呢?

代码: 全选

visudo
然后加入一行:

代码: 全选

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

代码: 全选

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

代码: 全选

gnome-power-cmd shutdown

Re: 如何关机?

发表于 : 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

Re: 如何关机?

发表于 : 2010-06-16 18:54
xiooli
九楼正解,visudo 要用root权限。

或者你弄个后台脚本,用root权限运行,然后普通脚本发信号给它,让其关机。

Re: 如何关机?

发表于 : 2010-06-16 19:41
only_one
SUID 可行吧

Re: 如何关机?

发表于 : 2010-06-16 20:11
aerofox
visudo 前加 sudo 就可以了。
gnome-power-cmd 在 gnome-power-manager 软件包中。

Re: 如何关机?

发表于 : 2010-06-16 21:25
thorne
root自己用一个crontab不就能完成这个工作么?

Re: 如何关机?

发表于 : 2010-06-17 6:10
aerofox
crontab 是定时的,楼主要的不是定时关机

Re: 如何关机?

发表于 : 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