为了方便与安全的管理publiccms我们通常给客户使用systemd托管nginx、tomcat、mysql等服务
最近使用linux系统安装得tomcat服务运行publiccms遇到了下面这个错误,不管怎么调整权限都没有效果
HSEARCH600154: Unable to start index: HSEARCH600015: Unable to initialize index directory: /data/publiccms/indexes: Read-only file system Context: index 'CmsContent'
经过检查发现系统的服务配置中有一段如下的安全配置
[Service] # Security User=tomcat Group=tomcat ProtectSystem=strict ReadWritePaths=/etc/tomcat/Catalina/ ReadWritePaths=/var/lib/tomcat/webapps/ ReadWritePaths=/var/log/tomcat/
其中ProtectSystem=strict 表示进程运行在systemd的沙箱环境中,该配置优先级高过了linux的文件权限设置,该进程启动后除了下面允许读写的路径,其他路径都只有只读权限
增加下面这行配置后 问题解决
ReadWritePaths=/data/publiccms/
非生产环境还可以写成如下配置,当数据目录不存在时也不会有错误提示
ReadWritePaths=-/data/publiccms/
也可以将这个路径 放到其他 ReadWritePaths后面 空格隔开路径
0条评论