2013年11月30日土曜日

Tomcatとjsvcとumask

前回tomcatをjsvcでサービス化をしてみました(ここ)。で後で気が付いたのですが、実行ユーザのumaskが有効になっていないみたいです。

# ls -lrt /var/tomcat/logs

total 12
-rw------- 1 root   root      0 Nov 29 15:14 catalina-daemon.out
-rw------- 1 tomcat tomcat    0 Nov 29 15:14 manager.2013-11-29.log
-rw------- 1 tomcat tomcat    0 Nov 29 15:14 host-manager.2013-11-29.log
-rw-r--r-- 1 tomcat tomcat    0 Nov 29 15:14 localhost_access_log.2013-11-29.txt
-rw------- 1 tomcat tomcat  447 Nov 29 15:14 localhost.2013-11-29.log
-rw------- 1 tomcat tomcat 2016 Nov 29 15:14 catalina.2013-11-29.log
-rw------- 1 root   root   2016 Nov 29 15:14 catalina-daemon.err

アクセスログだけumask 0022が聞いているみたいです。これだと何かと都合が悪いので、
指定できないか?を調べてみたのですが、helpを見てもそのような記載がありませんでした。
そこでjsvcのソースを見たところ、"-umask"というオプションで指定できることがわかりました。

ということで、jsvcのオプションで指定してみます。

# vi /var/tomcat/bin/setenv.sh
====


#jsvc options
export JSVC_OPTS="-umask 0022"

====

これでサービス再起動!
# service tomcat stop
# rm -f /var/tomcat/logs/*
# service tomcat start
# ls -lrt /var/tomcat/logs

-rw-r--r-- 1 tomcat tomcat    0 Nov 29 15:17 manager.2013-11-29.log
-rw-r--r-- 1 tomcat tomcat    0 Nov 29 15:17 host-manager.2013-11-29.log
-rw-r--r-- 1 tomcat tomcat    0 Nov 29 15:17 localhost_access_log.2013-11-29.txt
-rw-r--r-- 1 root   root    332 Nov 29 15:41 catalina-daemon.out
-rw-r--r-- 1 tomcat tomcat 1122 Nov 29 15:41 localhost.2013-11-29.log
-rw-r--r-- 1 tomcat tomcat 4828 Nov 29 15:41 catalina.2013-11-29.log
-rw-r--r-- 1 root   root   4828 Nov 29 15:41 catalina-daemon.err

めでたし!

0 件のコメント:

コメントを投稿