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

這時文件使用正常。

相關文章
相關標籤/搜索