curl与管理员权限
今天碰到一个小问题,记录一下。
启动下载服务时,发现一直在启动中
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和端口与管理员权限有关系,具体的我要再查一下。