2017-02-01 3 views
3

Ich versuche, eine benutzerdefinierte Umask für einen Tomcat 8 Instanz, versucht, um es mit der UMask-Direktive in Systemd Tomcat-Einheit, wie gesehen here ohne Glück zu machen.set umask für tomcat8 über tomcat.service

Ich möchte eine 022 einstellen umask das Unternehmen verursachen dev tomcat/Anwendungsprotokolle zugreifen muss, und sie sind nicht in der gleichen Gruppe wie der Kater User ....

die verrückte Sache ist, dass die systemd doc sagt:

Steuert die Erzeugung Maskendatei-Modus. Nimmt einen Zugriffsmodus in Oktalnotation an. Siehe umask (2) für Details. Der Standardwert ist 0022.

Aber die Protokolle (application/tomcat) werden auf 640 (nicht die erwartete 755):

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

Mein Service-Datei:

# 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 

Irgendwelche Gedanken darüber ? UMASK als Umgebungsvariable in Tomcats Servicedatei

Dank

Antwort

4

Versuchen Zugabe:

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

Standard catalina.sh für Umgebung prüft UMASK $:

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

(Es scheint mir, , dass UMask from systemd nicht von Tomcat verwendet, aber ich bin nicht ganz sicher.)

+0

Danke für den Input mjtecka ich es versuchen werde, wann immer ich Zeit dafür haben werden Ich bin jetzt zu einem anderen Thema gewechselt. Ich werde sicher sein, hier zurückzukehren und deine Antwort zu akzeptieren, wenn das klappt! – Pier

+0

Diese Antwort ist korrekt und sollte als solche gekennzeichnet sein. UMask von Systemd wird von Tomcat ignoriert. Diese Änderung funktioniert, wie einfach die Umask ändern gefunden in catalina.sh – Tadgh

1

Ich glaube, Sie dies mit systemd indem Sie die folgenden erreichen:

~]# 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 die Standardwerte überschreiben soll.

Quelle: https://access.redhat.com/solutions/2220161

PS: Ein umask von 0022 wäre eine Datei 0644 Berechtigungen geben und ein Verzeichnis 0755

+0

arbeitete für mich, danke! – ekawas