Hallo Penguins,
wie kann ich in einem Script bewirken, dass die Standardgruppe gewechselt wird, sodass die anschließend angelegten Dateien dieser Gruppe und nicht der Standardgruppe des Benutzers angehören?
Let me explain the prblem :)
Ich habe tomcat dank Chrisms Hilfe nun UP AND RUNNING ;) Der tomcat Prozess läuft als Benutzer "tomcat3" und der gleichnamigen Gruppe.
Habe mir ein Entwicklungs-Webapp erstellt in dem das Verzeichnis classes einfach ein Link auf mein übliches classes-Verzeichnis ist:
lrwxrwxrwx 1 tomcat3 tomcat3 21 Apr 28 18:36 classes -> /home/pazzo/jclasses/
Dadurch kann ich meine ganzen Scripts unverändert einsetzen und ich bin mir auch immer sicher, dass all meine Klassen zugänglich sind. Keine Angst vor dem Ausliefern, werde ich natürlich auf evtl. Abhängigkeiten prüfen. Möchte auch kein ClassNotFoundException in den Logs des Production-Servers lesen müssen ;)
Nun habe ich das Problem, dass Tomcat die von mir erstellten class-Files nicht lesen kann, da er keine Berechtigung hat:
-rw-rw-r-- 1 pazzo pazzo 919 Apr 28 18:40 HelloWWW.class ...
HIER HABE ICH NICHT AUFGEPASST, ABER LEST WEITER :)
Ich könnte zwar den Benutzer "tomcat3" in die Gruppe "pazzo" aufnehmen. Aber das gefällt mir nicht so sehr, da der tomcat-Prozess all meine Dateien lesen/schreiben könnte :(
Eine schöne Lösung wäre eine Gruppe javadev anzulegen und alle class-Files dieser Gruppe zuzuordnen. Dann noch den Benutzer tomcat3 in dieser Gruppe aufnehmen und die Sache wäre gelaufen. Dafür muss ich aber in meinen Scripts, welche z.B. den Kompiler aufrufen, irgendwie dies forcieren.
Wie geht das? Habe mal mit sg Probiert, dies scheint aber einen neuen Unterprozess zu starten und solange ich nicht mittels exit diesen verlasse, lauft das script nicht weiter. Also nicht recht usefull :(
HOBS, jetzt sehe ich, dass tomcat3 eigentlich die class-Files lesen könnte, da auf other read-Rechte gesetzt sind....
haha, vom tomcat-FAQ: file:///usr/share/javadoc/tomcat3/faq
------ SNIP START * Five, on a Unix platform, you are attempting to access a file that is a symbolic link.
The last three cases are caused by a test in org.apache.tomcat.core.DefaultServlet to see whether the absolute name of a file equals the canonical name. This test is intended to solve a serious security problem, where mixed case or additional characters in a file name can get Tomcat to serve the source file instead of the processed file for JSP files on a Windows platform. This test should be replaced with a solution that doesn't have the above side effects. ------ SNIP END
Also habe ich mein Problem gelöst, indem ich den Link von der anderen Seite aus mache. Aber das mit der Gruppe würde mich trotzdem noch interessieren!
mfg. Patrick