Apache与Tomcat用户不统一形成的权限问题

本文使用系统环境:Centos 6.5java

因为网站须要在线编辑office,使用了pageoffice程序;apache

网站语言:PHPvim

pageoffice:javatomcat

客户端在登陆网站并进行操做时使用的是apache用户,当用户编辑office时就须要调取Tomcat运行的pageoffice程序;服务器

Tomcat是由root用户运行的,因此当用户编辑完成并提交至服务器时,文件全部者时root用户,apache用户则没有权限对其进行操做;jvm

这就形成了office文件不能下载并编辑。网站

解决方法:unix

方法一:使用jsvc配置Tomcat以apache用户运行rest

下载:进程

  wget http://mirror.bit.edu.cn/apache/commons/daemon/source/commons-daemon-1.0.15-native-src.tar.gz

解压并安装:

  tar -zxvf commons-daemon-1.0.15-native-src.tar.gz

  cd commons-daemon-1.0.15-native-src

  cd unix/

  ./configure --with-java=JAVA路径

  make

  cp jsvc /Tomcat路径/bin/

修改启动脚本:

  vim /Tomcat路径/bin/daemon.sh

在文件靠前位置的注释中加入下面的内容

  # chkconfig: - 80 20

找到下面内容:

  test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat

  # Set JAVA_HOME to working JDK or JRE
  #JAVA_HOME=/usr/lib/jvm/java-1.7.0

改为:

  test ".$TOMCAT_USER" = . && TOMCAT_USER=apache    //‘apache’为apache用户

  # Set JAVA_HOME to working JDK or JRE
  #JAVA_HOME=/usr/lib/jvm/java-1.7.0     //Java路径为本身的配置路径

修改相关目录和文件权限

  chown -R apache:apache /usr/local/tomcat

如今就能够使用这个脚原本启动Tomcat了

  ./daemon.sh start

查看Tomcat进程

  ps -ef |grep tomcat

这时就能够看到Tomcat的运行用户发生了变化

方法二:修改apache用户组

因为下载office只须要“读”的权限就能够;

在系统中查看到pageoffice建立的文件同组的人拥有读的权限;

这时只须要将apache用户加入root组就能够

  usermod -a -G root apache

重启apache

  service httpd restart

这时文件使用正常。

相关文章
相关标签/搜索