我有一个由jsvc在Centos 6上托管的应用程序。随之创建了许多日志。我的问题是jsvc正在创建具有077权限的日志,除了root之外,任何人都无法访问这些日志。日志应该是任何人都可读的。
jsvc.exec -server -Xms1024M -Xmx2048M -cp myapp.jar -errfile /var/log/myapp/error.log -wait 60 com.myawesomecompany.mysuite.myapp
-rw------- 1 root root 370 Feb 26 16:03 error.log
如何覆盖默认权限,以便生成的任何新日志都具有022权限?
答案 0 :(得分:3)
自1.0.8版以来,jsvc有一个-umask
选项(见JIRA issue)。
请注意-umask
选项采用小数和补码值,例如,如果您需要644
,则必须补充它(777 - 644 = 133
),然后将八进制值转换为小数点(133
- > 91
)...
答案 1 :(得分:0)
您可以使用printf将八进制转换为十进制。例如
jsvc -umask $(printf '%d' 022)
jsvc -umask $(printf '%d' $(umask))