2017-02-01 612 views
3

私はtomcat 8インスタンス用のカスタムumaskを設定しようとしていますが、運行なしでと表示されているようにsystemd tomcatユニットのUMaskディレクティブを使用すると良い方法です。tomcat.service経由でtomcat8用のumaskを設定しました

私はDEVにTomcat /アプリケーションログにアクセスする必要がある会社を起こすのumask 022を設定したいのですが、彼らはTomcatのユーザーと同じグループに属していないが....

クレイジーなものであることシステムドクターのコメント:

ファイルモード作成マスクを制御します。アクセスモードを8進表記にします。詳細は、umask(2)を参照してください。 0022.

デフォルトはしかし、ログ(アプリケーション/ Tomcatが)(755予想されていない)640に設定されています

-rw-r----- 1 top top 21416 Feb 1 09:58 catalina.out 

マイサービスファイル:

# Systemd unit file for tomcat 
[Unit] 
Description=Apache Tomcat Web Application Container 
After=syslog.target network.target 

[...] 

User=top 
Group=top 
UMask=0022 

[Install] 
WantedBy=multi-user.target 

この程度の任意の考え? Tomcatのサービス・ファイルに環境変数としてUMASKを追加

おかげ

答えて

4

試してみてください。

[Service] 
... 
Environment='UMASK=0022' 
... 

デフォルトcatalina.shは、環境の$ UMASKをチェックされています

# Set UMASK unless it has been overridden 
if [ -z "$UMASK" ]; then 
    UMASK="0027" 
fi 
umask $UMASK 

(それは私には思われます、そのUMask from systemdはTomcatでは使用されていませんが、私は完全にはわかりません)。

+0

おかげで、私はそれを試してみるよmjteckaディレクトリを与えるだろう私は今、別の問題に切り替えました、私はここに復帰し、それが動作すればあなたの答えを受け入れることを確認します! – Pier

+0

この回答は正しいので、そのようにマークする必要があります。 systemdのUMaskはTomcatによって無視されています。この変更は、単にcatalina.shにあるデフォルトのumaskを変更するのと同様に、 – Tadgh

1

は、私はあなたが次のようにしてsystemdにしてこれを実現することができると思う:

~]# mkdir -p /etc/systemd/system/tomcat.service.d 
~]# echo -e "[Service]\nUMask=0022" >/etc/systemd/system/tomcat.service.d/custom-umask.conf 
~]# systemctl daemon-reload 
~]# systemctl restart tomcat 

/etc/systemd/system/tomcat.service.d/umask-user.confは、デフォルト値を上書きする必要があります。

出典:https://access.redhat.com/solutions/2220161

PS:0022のumaskがファイルに0644権限と私は、このための時間を持っていますいつでも入力用0755

+0

が私のために働いてくれてありがとう! – ekawas

関連する問題