Wie setze ich die Standard-Umask für das Tomcat-Webdav-Servlet?

7

Der Titel sagt alles. Ich benötige das Webdav-Servlet von Tomcat, um Dateien mit den Rechten rw-rw-r-- zu erstellen, aber es wird weiterhin als rw-r - r-- erstellt. Ich habe versucht, umask in / etc / profile einzurichten, aber es hat nicht geholfen (obwohl manuell erstellte neue Dateien die gewünschten Berechtigungseinstellungen haben). Laut / etc / passwd hat der Benutzer, der Tomcat ausführt, / etc / false als Shell und hat kein bashrc in seinem Home-Verzeichnis. Das Host-Betriebssystem ist Debian.

calavera.info
quelle

Antworten:

5

Während dies ein Hack ist, öffnen Sie tomcat / bin / startup.sh und setzen Sie 'umask 0002' darin. Sie können dies auch in Catalina.sh tun, Sie haben die Idee - Sie könnten sogar genau finden, wo Java in Catalina.sh gestartet wird (suchen Sie nach "Catalina.out") und es direkt über diesem Logikblock platzieren, um sicherzustellen, dass es bei Java effektiv ist wird auf Ihrer schlechten CPU losgelassen.


quelle
1
Ich habe herausgefunden, dass die Umask tatsächlich im Skript init.d festgelegt ist (deshalb hat das Festlegen in / etc / profile nicht geholfen). Also habe ich diese Zeile im Skript /etc/init.d/tomcat6 einfach geändert und es hat funktioniert.
calavera.info
1
Yah - das Problem ist, dass es keinen Standard für das Tomcat / JBoss SysV-Startup gibt, jeder würfelt seinen eigenen. Ich bin froh, dass Sie es für Ihre Situation herausgefunden und das Richtige getan haben.
1

Sie können eine Umgebungsdatei für Tomcat erstellen:

In /usr/shared/tomcat8/binder 8 ist Ihre entsprechende tomcat - Version, erstellen setenv.sh Datei enthält:

#!/bin/bash umask 0002

Tommi
quelle
0

Ich verwende benutzerdefinierte Skripte zum Starten und Stoppen von Tomcat, von denen ich Variablen vor dem Aufrufen der Standardskripte setze.

Etwas wie das:


#! / bin / sh

CATALINA_HOME = / usr / local / tomcat

CATALINA_BASE = / web / tomcat / catalogina-base / myapp

JAVA_HOME = / usr / local / java

LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: $ CATALINA_BASE / lib

JAVA_OPTS = "- Xms1024m -Xmx1024m"

UMASK = 0002

export JAVA_HOME CATALINA_HOME CATALINA_BASE JAVA_OPTS LD_LIBRARY_PATH UMASK

$ CATALINA_HOME / bin / startup.sh &

$ verlassen?

.................

Die Variable UMASK erledigt die Arbeit, die Sie suchen.

Hoffe das hilft

SdQ
quelle