LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1004|回复: 16

编程时的权限问题

[复制链接]
发表于 2004-9-2 19:24:15 | 显示全部楼层 |阅读模式
在我的程序中调用system("/sbin/poweroff");
结果运行程序的时候,终端显示poweroff需要root权限.
可是我在一般的用户下在xterm运行poweroff也是能关机的呀!
这是怎么回事?
发表于 2004-9-3 09:48:47 | 显示全部楼层
xterm有安全漏洞吧。
 楼主| 发表于 2004-9-3 10:42:16 | 显示全部楼层
那我想编一个程序,用这个程序让我的电脑自动关机该怎么做?
发表于 2004-9-3 10:57:06 | 显示全部楼层
setuid 之
 楼主| 发表于 2004-9-3 17:31:58 | 显示全部楼层
可是普通用户能通国setuid()把程序的有效用户变成root吗?
而且要是我把程序的所有者变成root用户,然后给程序设置上set-user-ID位的话,一运行程序,就会出险如下的错误:
[zd@localhost AutoPoweroff]$ ./AutoPoweroff

(AutoPoweroff:3920): Gtk-WARNING **: This process is currently running setuid or setgid.
This is not a supported use of GTK+. You must create a helper
program instead. For further details, see:

    http://www.gtk.org/setuid.html

Refusing to initialize GTK+.
更郁闷的是http://www.gtk.org/setuid.html好像打不开
发表于 2004-9-3 20:26:51 | 显示全部楼层
关机为什么需要GTK+呢?
 楼主| 发表于 2004-9-4 15:10:02 | 显示全部楼层
不是啊,我是想在计划关机的时候弹出一个对话框提示我一下。
这样我可以稍微延迟一下关机的时间
发表于 2004-9-4 21:02:12 | 显示全部楼层
把关机的写成单独的,不需要GTK的程序,然后单独写个GTK的负责提醒,若干时间没有去中止就自动调用关机程序,这样应该可以吧。
 楼主| 发表于 2004-9-4 23:30:01 | 显示全部楼层
还是不对啊.
我刚才试着用cron打开的程序是不是都在终端运行的,可是cron给我发消息说:
GTK WARNING**:can't open display.
而且gtk的窗口也没有出来
发表于 2004-9-6 10:06:35 | 显示全部楼层
你的机器上有X在运行吗,需要设一下DISPLAY这个环境变量,例如DISPLAY=localhost:0之类的,而且要注意让这个程序以某个可以用X的用户的权限运行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表