您的位置:程序门 -> linux/unix社区 -> 系统维护与使用区



请问如何提升apache用户到root里执行程序


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请问如何提升apache用户到root里执行程序
发表于:2007-02-09 11:11:03 楼主
因为不太懂javascript,用网页点击执行程序时,用shell做了一个cgi程序,但apache用户似乎用普通方法加不进root组里,请问该怎么操作啊?
发表于:2007-02-09 12:48:561楼 得分:0
可以给cgi增加的uid权限

转:
unix文件的suid/sgid

  一、   suid/sgid概述
  有时,没有被授权的用户需要完成某项任务。一个例子是passwd程序,它允许用户改变口令,这就要求改变/etc/passwd文件的口令域。然而系统管理员决不允许普通用户拥有直接改变这个文件的权利,因为这绝对不是一个好主意。
  为了解决这个问题,suid/sgid便应运而生。unix允许程序被授权,当程序被执行的时候,拥有超级用户的权限,完成时又回到普通用户的权限。这个主意很好,所以at&t对它申请了专利。
  
  二、   unix下的一些名词简介
  1.文件权限。确定用户读取、修改或执行文件的权力。
  r   --   读访问
  w   --   写访问
  x   --   执行许可
  s   --   suid/sgid
  t   --   sticky位
  2.进程。进程是程序运行一次的过程,以完成预定的任务,它不同于程序。每个进程都有一个唯一的进程id。此外,每个进程还有一些其他标识符:实际用户id、实际组id、有效用户id、有效组id。超级用户进程的实际用户id和有效用户id为0。
  3.超级用户root。超级用户拥有系统的完全控制权。
  
  三、   suid/sgid的思路
  suid的程序在运行时,将有效用户id改变为该程序的所有者id,使得进程在很大程度上拥有了该程序的所有者的特权。如果被设置为suid   root,那么这个进程将拥有超级用户的特权(当然,一些较新版本的unix系统加强了这一方面的安全检测,一定程度上降低了安全隐患)。当进程结束时,又恢复为原来的状态。
  
  执行时的real   uid可以通过函数setuid()改变
发表于:2007-02-10 09:41:462楼 得分:0
我已经将所执行程序相应的suid权限改了,怎么还是不能执行啊,真是晕了.改用户权限,改程序权限我都试了,怎么还不行啊.不能是系统的总是吧.我用的是fedora5.0版本.但安装时只选了几个需要的功能.是不是这个引起的问题呢??
发表于:2007-02-10 12:46:013楼 得分:0
selinux?


快速检索

最新资讯
热门点击