检查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。
分享到:
相关推荐
root@ubuntu:/etc/apache2# pwd /etc/apache2 root@ubuntu:/etc/apache2# vim ports.conf 8 NameVirtualHost *:81
③“ProxyRequest Off”一行用来禁止Apache在IP地址为1.2.3.4的主机和端口80上进行代理服务,在这里Apache作为一个透明的代理服务器来使用。 ④“RewriteEngine on”一行用来启动Apache修改响应数据包的功能,否则...
如果您依然希望 Apache 和 MySQL 使用默认的 80 和 3306 端口,请在安装前把占用 80 和 3306 端口的程序卸载或者关闭。 相关帐户说明 论坛管理员初始账户:admin 论坛管理员初始密码:123456 Ucenter 后台创始人...
如果您依然希望 Apache 和 MySQL 使用默认的 80 和 3306 端口,请在安装前把占用 80 和 3306 端口的程序卸载或者关闭。 相关帐户说明 论坛管理员初始账户:admin 论坛管理员初始密码:123456 Ucenter 后台创始人...
6. apache默认端口80,tomcat默认端口8080,mysql默认端口3306。 7. 默认php程序放在WWW/phproot下可解析;也可在高级设置里分开解析,即apche+php和tomcat+jsp。 8. mysql驱动mysql-connector-java无需再找,JspStudy...
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+... 迅雷、Skype、PPLive、BT等软件启动后默认会占用80端口,导致Apache无法启动。解决方法:先关闭这些软件,启动完APMServ之后,再开启这些软件。
注意:安装过程中,如有防火墙开启,注册启动服务时,会提示是否信任httpd、mysqld-nt运行,以及端口80、3306等,请选择允许。 特别声明:该程序没有任何商业目的,之所以取名为phpStudy,仅作学习之用,不得用于...
无需安装,具有灵活的移动性,将其拷贝到其它目录、分区 或别的电脑时,均只需点击APMServ.exe中的启动按钮,即可自动进行相关设置,将Apache和 MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的...
4.目前没有修改端口的功能,启动前请确保其他软件没有占用80和3306端口,如果遇到MiniServer中某组件无法正常启动,请使用菜单中的调试模式检查错误信息,或者检查端口占用情况 5.请勿在在含有中文路径或目录下使用...
我找了很久,这个东西。希望大家喜欢。 该程序包集成最新的Apache+...注意:安装过程中,如有防火墙开启,注册启动服务时,会提示是否信任httpd、mysqld-nt运行,以及端口80、3306等,请选择允许。
4.菜单中有修改端口的功能,修改前请确保其他软件没有占用所修改的端口,如果遇到MiniServer中某组件无法正常启动,请使用菜单中的调试模式检查错误信息,或者检查端口占用情况 5.请勿在在含有中文路径或目录下使用...
注意默认端口是80 安装成功后启动apache访问http://127.0.0.1及安装成功 3。 apache的配置文件\conf\httpd.conf apache的默认的项目存放目录\htdocs\ <br>2)apache的一些常用配置...
该程序包集成最新的Apache+MySQL+PHP+phpMyAdmin+ZendOptimizer+eAccelerator,无须安装,无须配置即可轻松选择并启动服务器、管理网站程序和数据库、开通虚拟主机并通过友好的自动和人工模式来设置相关属性和安全...
4.目前没有修改端口的功能,启动前请确保其他软件没有占用80和3306端口,如果遇到MiniServer中某组件无法正常启动,请使用菜单中的调试模式检查错误信息,或者检查端口占用情况 5.请勿在在含有中文路径或目录下使用...
(安装前请保证80端口未被占用 比如 iis 以前安装过的apache mysql 先停止运行) 安装请运行 amp/install.bat 注意不要关闭正在运行的窗口 默认安装的是 apache2 + mysql5 + php5 安装后WEB根目录是在 当前盘是根目录...
(安装前请保证80端口未被占用 比如 iis 以前安装过的apache mysql 先停止运行) 安装请运行 amp/install.bat 注意不要关闭正在运行的窗口 默认安装的是 apache2 + mysql5 + php5 安装后WEB根目录是在 当前盘是根...
动进行相关设置,将Apache和MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的 优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、 虚拟目录、端口更改、SMTP、上传...