CloudFoundry中cf logs命令报权限错

自己搭建的CloudFoundry集群,push应用很正常,只是……

 

在cf logs <APP>的时候报权限错,说没法读取这个container路径下的env.log

 

既然是文件没法读取,那肯定是权限位设置的有问题,进入cf-release目录grep "env.log"

应该可以找到这么个文件:dea_next/lib/dea/starting/startup_script_generator.rb

 

里边有个umask设置为077,改成033即可

 

延伸:

每次warden创建container之后会生成一个vcap用户来跑app,这个vcap用户的uid是自增的,在warden的配置文件linux.yml中有个user字段的配置,pool_start_uid就是自增开始值……

而产生的env.log/stdout.log/stderr.log的权限位由于之前设置的umask的原因,同组用户和other用户都没有任何权限,故而别人在读取这几个log的时候就会报权限错

 

这里有个遗留问题,“故而别人在读取这几个log的时候就会报权限错”,那这个别人是谁?之后查一下

展开阅读全文

没有更多推荐了,返回首页