`
samjavaeye
  • 浏览: 187560 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

如何使用非Root用户启动Apache 80和1024以下端口

阅读更多

检查apache_error.log日志文件,发现有以下内容报错:
ls: /home/xxxx/output/jk.shm*: 没有那个文件或目录
(13)Permission denied: make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
httpd not running, trying to start

linux中默认非root用户不能使用80或1024以下端口,因此会有此错误。只需把httpd加上suid权限即可,测试环境是安装时统一处理的,应该不会有错误。
但是检查后发现确实是这个问题,chmod u+s /httpd/bin/httpd 执行命令添加suid权限即可。

附录:suid和sgid
SUID 是 Set User ID, SGID 是 Set Group ID的意思。
如果一个文件被设置了SUID或SGID位,会分别表现在所有者或同组用户的权限的可执行位上。例如:
1、-rwsr-xr-x 表示SUID和所有者权限中可执行位被设置
2、-rwSr--r-- 表示SUID被设置,但所有者权限中可执行位没有被设置
3、-rwxr-sr-x 表示SGID和同组用户权限中可执行位被设置
4、-rw-r-Sr-- 表示SGID被设置,但同组用户权限中可执行位没有被设置
 
给文件加SUID和SUID的命令如下:
chmod u+s filename 设置SUID位
chmod u-s filename 去掉SUID设置
chmod g+s filename 设置SGID位
chmod g-s filename 去掉SGID设置 

由于SUID和SGID是在执行程序(程序的可执行位被设置)时起作用,而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID位是没有多大意义的。
首先讲普通文件的SUID和SGID的作用。例子:
如果普通文件myfile是属于foo用户的,是可执行的,现在没设SUID位,ls命令显示如下:
-rwxr-xr-x 1 foo staff 7734 Apr 05 17:07 myfile任何用户都可以执行这个程序。UNIX的内核是根据什么来确定一个进程对资源的访问权限的呢?是这个进程的运行用户的(有效)ID,包括 user id和group id。用户可以用id命令来查到自己的或其他用户的user id和group id。
除了一般的user id 和group id外,还有两个称之为effective 的id,就是有效id,上面的四个id表示为:uid,gid,euid,egid。内核主要是根据euid和egid来确定进程对资源的访问权限。
一个进程如果没有SUID或SGID位,则euid=uid egid=gid,分别是运行这个程序的用户的uid和gid。例如kevin用户的uid和gid分别为204和202,foo用户的uid和gid为 200,201,kevin运行myfile程序形成的进程的euid=uid=204,egid=gid=202,内核根据这些值来判断进程对资源访问的限制,其实就是kevin用户对资源访问的权限,和foo没关系。
如果一个程序设置了SUID,则euid和egid变成被运行的程序的所有者的uid和gid,例如kevin用户运行myfile,euid=200,egid=201,uid=204,gid=202,则这个进程具有它的属主foo的资源访问权限。
SUID的作用就是这样:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。passwd就是一个很鲜明的例子。
SUID的优先级比SGID高,当一个可执行程序设置了SUID,则SGID会自动变成相应的egid。 

分享到:
评论

相关推荐

    ubuntu下修改apache端口

    root@ubuntu:/etc/apache2# pwd /etc/apache2 root@ubuntu:/etc/apache2# vim ports.conf 8 NameVirtualHost *:81

    apache反向代理

    ③“ProxyRequest Off”一行用来禁止Apache在IP地址为1.2.3.4的主机和端口80上进行代理服务,在这里Apache作为一个透明的代理服务器来使用。 ④“RewriteEngine on”一行用来启动Apache修改响应数据包的功能,否则...

    PHP服务器一键搭建 ComsenzEXP_GBK.part2

    如果您依然希望 Apache 和 MySQL 使用默认的 80 和 3306 端口,请在安装前把占用 80 和 3306 端口的程序卸载或者关闭。 相关帐户说明 论坛管理员初始账户:admin 论坛管理员初始密码:123456 Ucenter 后台创始人...

    PHP服务器一键搭建 ComsenzEXP_GBK.part1

    如果您依然希望 Apache 和 MySQL 使用默认的 80 和 3306 端口,请在安装前把占用 80 和 3306 端口的程序卸载或者关闭。 相关帐户说明 论坛管理员初始账户:admin 论坛管理员初始密码:123456 Ucenter 后台创始人...

    JSP一键安装包,JspStudy,JSP环境一键安装包

    6. apache默认端口80,tomcat默认端口8080,mysql默认端口3306。 7. 默认php程序放在WWW/phproot下可解析;也可在高级设置里分开解析,即apche+php和tomcat+jsp。 8. mysql驱动mysql-connector-java无需再找,JspStudy...

    JspStudy 2014 (JSP环境集成包一键配置),绿色

    6. apache默认端口80,tomcat默认端口8080,mysql默认端口3306。 7. 默认php程序放在WWW/phproot下可解析;也可在高级设置里分开解析,即apche+php和tomcat+jsp。 8. mysql驱动mysql-connector-java无需再找,JspStudy...

    《APMServ 5.2.6》:一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP平台的绿色软件

    《APMServ 5.2.6》:一键快速搭建Apache+... 迅雷、Skype、PPLive、BT等软件启动后默认会占用80端口,导致Apache无法启动。解决方法:先关闭这些软件,启动完APMServ之后,再开启这些软件。

    phpStudy【Apache/PHP/MySQL/ZendOptimizer一键安装】 V1.75 简体中文版

    注意:安装过程中,如有防火墙开启,注册启动服务时,会提示是否信任httpd、mysqld-nt运行,以及端口80、3306等,请选择允许。 特别声明:该程序没有任何商业目的,之所以取名为phpStudy,仅作学习之用,不得用于...

    绿色PHP+apache+mysql服务器APMServ5.2.0

    无需安装,具有灵活的移动性,将其拷贝到其它目录、分区 或别的电脑时,均只需点击APMServ.exe中的启动按钮,即可自动进行相关设置,将Apache和 MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的...

    MiniServer迷你服务器

    4.目前没有修改端口的功能,启动前请确保其他软件没有占用80和3306端口,如果遇到MiniServer中某组件无法正常启动,请使用菜单中的调试模式检查错误信息,或者检查端口占用情况 5.请勿在在含有中文路径或目录下使用...

    phpstudy Apache PHP MySQL phpMyAdmin ZendOptimizer

    我找了很久,这个东西。希望大家喜欢。 该程序包集成最新的Apache+...注意:安装过程中,如有防火墙开启,注册启动服务时,会提示是否信任httpd、mysqld-nt运行,以及端口80、3306等,请选择允许。

    MiniServer v2.0 php运行环境(Apache+Nginx+MySQL+PHP)

    4.菜单中有修改端口的功能,修改前请确保其他软件没有占用所修改的端口,如果遇到MiniServer中某组件无法正常启动,请使用菜单中的调试模式检查错误信息,或者检查端口占用情况 5.请勿在在含有中文路径或目录下使用...

    php配置+mysqlAdmin配置+apache配置的实现教程

    注意默认端口是80 安装成功后启动apache访问http://127.0.0.1及安装成功 3。 apache的配置文件\conf\httpd.conf apache的默认的项目存放目录\htdocs\ <br>2)apache的一些常用配置...

    ESSamp php+mysql+apache环境搭建

    该程序包集成最新的Apache+MySQL+PHP+phpMyAdmin+ZendOptimizer+eAccelerator,无须安装,无须配置即可轻松选择并启动服务器、管理网站程序和数据库、开通虚拟主机并通过友好的自动和人工模式来设置相关属性和安全...

    php集成环境MiniServer1.6

    4.目前没有修改端口的功能,启动前请确保其他软件没有占用80和3306端口,如果遇到MiniServer中某组件无法正常启动,请使用菜单中的调试模式检查错误信息,或者检查端口占用情况 5.请勿在在含有中文路径或目录下使用...

    apache2 + mysql5 + php5.part1.rar

    (安装前请保证80端口未被占用 比如 iis 以前安装过的apache mysql 先停止运行) 安装请运行 amp/install.bat 注意不要关闭正在运行的窗口 默认安装的是 apache2 + mysql5 + php5 安装后WEB根目录是在 当前盘是根目录...

    Apache+Php+Mysql V1.3 绿色自动安装版

    (安装前请保证80端口未被占用 比如 iis 以前安装过的apache mysql 先停止运行) 安装请运行 amp/install.bat 注意不要关闭正在运行的窗口 默认安装的是 apache2 + mysql5 + php5 安装后WEB根目录是在 当前盘是根...

    快速搭建管理 php myspl apache环境

    动进行相关设置,将Apache和MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的 优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、 虚拟目录、端口更改、SMTP、上传...

Global site tag (gtag.js) - Google Analytics