# Ordner auf Linux-Server erstellen --> Rechteproblem



## clemson (18. Dez 2005)

hallo!

ich entwickle gerade eine webapplikation mit J2EE unter tomcat (mittels struts-framework) und habe folgende problemstellung:

die applikation erstellt auf dem server (auf welchem linux läuft) einen bzw. mehrere ordner... in diese erstellten ordner sollen dan später dateien geschrieben werden können - und das, "außerhalb" der web-applikation... das erstellen der ordner funktioniert klaglos, das problem ist nur, dass die ordner vom tomcat-user erstellt werden - und dieser laut linux-rechtevergabe als einziger die schreibrechte dafür hat. in der realität sollte das ganze aber so aussehen, dass jeder beliebiger benutzer des linux-systems den ordner beschreiben, lesen kann --> die applikation muß die rechte für die erstellten ordner dementsprechend abändern...

meine frage an euch ist nun, wie realisiere ich das ganze?

ich habe mir das so gedacht:

```
File root = new File("/pub/dea_scratch/auftraege");
File folder = new File(root, "folder");
// neuen ordner erstellen
folder.mkdirs();

// rechte des ordners ändern
String command = "chmod 777 "+folder.getPath();
Runtime.getRuntime().exec( command );
```

würde das so stimmen?


----------



## krey (19. Dez 2005)

Probier es doch einfach in einer Testumgebung aus und guck dann mit "ls -l" ob die Rechte korrekt gesetzt worden sind. 
Du kannst auch "chmod ugo+rwx dir" benutzen.


----------



## clemson (19. Dez 2005)

das problem ist, dass ich die applikation zu hause auf einem windows rechner entwickle - in der arbeit läuft das ganze dann aber auf linux --> ich muß bei jeder änderung die ich habe, eine .war datei erstellen und diese auf dem server der arbeit installieren...

ich werde mal deinen befehl ausprobieren...

by the way: wie muß eigentlich die pfadangabe lauten? relativ oder absolut - oder ist das egal?...


----------



## clemson (23. Dez 2005)

soda, ich habs jetzt geschafft...


```
File root = new File("/pub/dea_scratch/auftraege");
File folder = new File(root, "folder");
// neuen ordner erstellen
folder.mkdirs();

// rechte des ordners ändern
String command = "chmod 777 "+folder.getPath();
Runtime.getRuntime().exec( command );
```

so geht das... danke für eure mitarbeit


----------



## foobar (24. Dez 2005)

Warum fügst du nicht den Tomcat-User und die Benutzer die auf die Ordner zugreifen sollen in eine gemeinsame Gruppe? Das ist doch viel sauberer, als ein manuelles chmod, damit bist du auch nicht mehr plattformunabhängig.


----------



## clemson (24. Dez 2005)

hmm, weil teilweise auch von windows systemen darauf zugegriffen wird (ist das überhaupt ein problem?)


----------

