curl与管理员权限

hunningtu 2011-07-15

今天碰到一个小问题,记录一下。

启动下载服务时,发现一直在启动中

Start server copy ...... OK!
Start JBoss configuration copy ...... OK!
Wait JBoss Start: 10 seconds 

一直在等待jboss启动。

我观察了jboss日志,发现jboss其实已经启动成功了,通过jboss端口可以直接访问系统。但是为什么一直在显示Wait JBoss Start: 10 seconds呢?我看了下系统的启动控制脚本,发现探测jboss是否启动是这样的

COUNT=`curl --connect-timeout 1 -s $CHECK_STARTUP_URL | grep -c "$STARTUP_SUCCESS_MSG"`
        ENDTIME=`date +"%s"`
        COSTTIME=$(($ENDTIME - $STARTTIME))
        if [ $COUNT -lt 1 ]; then
            sleep 1
            echo -n -e "\rWait JBoss Start: $COSTTIME seconds"
        else
            echo ""
            $WEB_APP_HOME/bin/apachectl start
            echo "HTTP Start in $COSTTIME seconds."
            return
        fi
 

于是,我手动执行命令curl --connect-timeout 1 -s http://localhost:8080 | grep -c "ok"

发现结果为0,但是我直接在浏览器输入http://localhost:808,可以访问的,且页面输出ok。

于是我直接输入curl http://www.baidu.com ,告知我curl: (7) couldn't connect to host

想了一会儿,估计是权限问题,于是我执行sudo curl http://www.baidu.com。接着我输入管理员密码,晕,竟然提示“su Authentication failure”,可是我的管理员密码是对的呀。

于是我执行sudo passwd root。

提示Enter new UNIX password:

输入了密码

提示Retype new UNIX password:

又输入了一遍密码

提示passwd: password updated successfully

再执行su命令

输入密码

这时候切换为管理员成功了。

再执行curl http://www.baidu.com,界面上出现了网页信息。

然后再启动系统,果然可以启动成功。似乎curl和端口与管理员权限有关系,具体的我要再查一下。

相关推荐