Chinaunix

标题: cgi程序运行时权限的问题 [打印本页]

作者: dglwx    时间: 2008-01-25 09:29
标题: cgi程序运行时权限的问题
有这样一个需求:需要在嵌入式linux下运行web服务器,为了安全考虑,不用root权限运行它.写了个cgi c程序来修改网卡IP地址,但web又是以nobody身分运行的,在ioctl()时出现权限问题.网上看了一下,提到的有三中解决方法:
   
    1, 以root运行;                        情非得以不会用这步了;
    2, sudo                              a, 嵌入式linux下没这个命令; b, 不清楚它能否对这些二进制文件起作用
    3, 设置粘贴位使普通用户以root运行    不知道是谁提出来的,好像粘贴位没这种用法吧?试了1777 7777权限都不行.


Content-type: text/html

<html><head>
<title>CGI programe</title
><body>
<br>
IP address of eth0 is:  10.78.28.106
<br>
ioctl error: Permission denied     (这里设置IP地址)


Any other good idea ?
作者: dglwx    时间: 2008-01-25 10:07
用stick位,问题已解决.原来这个程序本身的属主不是root,设置粘贴位仍然不能运行.把所有者改成root,设置suid就OK了.

#chown root test.cgi
#chgrp root test.cgi
#chmod 1777 test.cgi
作者: lris    时间: 2008-01-25 11:37
自问自答,不亦乐乎
作者: safedead    时间: 2008-01-25 11:44
原帖由 dglwx 于 2008-1-25 10:07 发表
用stick位,问题已解决.原来这个程序本身的属主不是root,设置粘贴位仍然不能运行.把所有者改成root,设置suid就OK了.

#chown root test.cgi
#chgrp root test.cgi
#chmod 1777 test.cgi


记下了
平常很少用到文件的粘滯位,
apache都是root权限
CGI里面很多代码用于检查CGI参数的合法性和安全性
作者: weigongwan    时间: 2008-01-25 11:45
让我想起个电影《自娱自乐》




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2