Ubuntu 14.04:tomcat7 权限被拒绝

Ubuntu 14.04:tomcat7 权限被拒绝

我一直在 Ubuntu 机器上运行 tomcat7 应用程序,一切运行正常。一段时间以来,可能是在系统更新之后,我收到奇怪的权限被拒绝错误,我对此感到很困惑。

tomcat7 应用程序“ChemDB”已部署,基本上运行正常。我正在使用 hsqldb 数据库访问磁盘上的文件,这就是问题所在。当应用程序尝试读取数据库时,我收到以下错误:

JavaException: java.sql.SQLException: The database is already in use by another process: 
org.hsqldb.persist.NIOLockFile@61c4c3b4[file =/home/leo/ChemDB/chemdb.hsql.lck, exists=false, locked=false, valid=false, fl =null]: 
java.io.FileNotFoundException: /home/leo/ChemDB/chemdb.hsql.lck (Permission denied)

文件夹权限为:

leo@lenovo2:~/ChemDB$ pwd
/home/leo/ChemDB
leo@lenovo2:~/ChemDB$ ll
drwxrwxrwx  2 tomcat7 tomcat7  4096 Jan 19 13:57 ./
drwx------ 46 leo     leo      4096 Jan 19 14:08 ../
-rw-rw-rw-  1 tomcat7 tomcat7    51 Jan  9  2014 chemdb.hsql.log
-rw-rw-rw-  1 tomcat7 tomcat7   419 Jan  9  2014 chemdb.hsql.properties
-rw-rw-rw-  1 tomcat7 tomcat7 18427 Jan  9  2014 chemdb.hsql.script

在我看来好像所有内容都可以通过 tomcat7 写入。

tomcat 实例以用户“tomcat7”的身份运行:

leo@lenovo2:~/ChemDB$ ps aux | grep "tomcat"
tomcat7  10116  0.5  2.6 387396 108940 ?       Sl   13:53   0:14 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start

我在 Tomcat 日志文件中找不到任何其他信息。

奇怪:如果我手动创建文件“chemdb.hsqldb.lck”,错误消息仍然显示“exists=false”。

我该如何修复此问题?

相关内容