Kann nicht erstellt das Verzeichnis error
Ich habe eine neue subdomain hochgeladen und die war-Datei in sein Verzeichnis, aber der server den folgenden Fehler zurück.
java.io.IOException: Unable to create the directory[/home/jack/public_html/WAR/MYWAR]
.....
Die Berechtigung des KRIEGES Ordner und der war-Datei sind 0755.
drwxr-xr-x 4 jack jack 4096 Feb 2 02:43 ./
drwxr-xr-x 10 jack nobody 4096 Jan 25 01:48 ../
drwxr-xr-x 2 jack jack 4096 Jan 24 22:38 cgi-bin/
-rwxr-xr-x 1 jack jack 82135738 Feb 2 02:23 MYWAR.war*
drwxr-xr-x 4 jack jack 4096 Jan 25 01:31 WEB-INF/
ps -aux | grep tomcat
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 1239 0.0 0.0 103240 864 pts/2 S+ 04:38 0:00 grep tomcat
root 1330 0.0 0.0 10436 352 ? Ss Feb01 0:00 jsvc.exec -user tomcat -cp ./bootstrap.jar -Djava.endorsed.dirs=../common/endorsed -outfile ../logs/catalina.out -errfile ../logs/catalina.err -verbose org.apache.catalina.startup.Bootstrap start
tomcat 1334 0.2 14.9 1566688 151852 ? Sl Feb01 1:38 jsvc.exec -user tomcat -cp ./bootstrap.jar -Djava.endorsed.dirs=../common/endorsed -outfile ../logs/catalina.out -errfile ../logs/catalina.err -verbose org.apache.catalina.startup.Bootstrap start
- Und was ist der Benutzer dieses Programm ausführen und der Besitzer des oberen dir, wo dir erstellt werden?
- Wo finde ich diese?
- ps aux | grep
programm name
für dir nurls -al
- die Ausgabe ist root 1196 0.0 0.0 103240 864 pts/2 S+ 04:35 0:00 grep MYWAR
- versuchen ps -aux | grep tomcat
- dies ist nicht der richtige Fortschritt, wenn grep match den Namen des Programms, es sollte zwei Fortschritte in der Ausgabe, ist das abgestimmte Programm und das andere ist der grep-Prozess selbst, Sie gab nur der grep-Prozess, versuchen
grep -i
für den Fall, incentive-match, und ich glaube nicht, dass es wäre eineMYWAR
Teilstring in den Namen des Programms, wenn Sie Ihre führen Sie diese in ein http-container, versuchen Sie, den container-Namen, anstatt, wieps aux | grep glassfish
oderps aux | grep tomcat
wie @Reenactor post - Frage ist aktualisiert, Dank
- dann versuchen Sie, ändern Sie die
upper
dir zu Besitzertomcat
mit diesemsudo chown tomcat /home/jack/public_html/WAR/ -R
sollten Sie sich bewusst sein, dass einmal diesen Befehl auszuführen, Informationen über den Besitzer geändert wird und die ehemaligen Besitzer Informationen verloren gehen, so tun Sie dies vorsichtig mit - was meinst du mit Besitzer-Informationen geändert werden? Ich nehme an, ich sollte schreiben-Zugriff auf tomcat als gut. bin ich im Recht?
- Was ich meine ist, sobald die Ausführung
sudo chown tomcat -R
zu einem spezifizierten Verzeichnis der Inhaber der angegebenen dir geändert wird und so ist der sub dir in das angegebene Verzeichnis und recursionly - das, was ich meine
- wie man eine Gruppe? dann kann ich mich und tomcat in der Gruppe, so I wont Verlust der Kontrolle über den Ordner.
- Lassen Sie uns weiter, diese Diskussion im chat.
- Ich folgte dieser Frage superuser.com/questions/280994/... und versucht, erstellen Sie eine neue Gruppe Hinzugefügt, root,Apache tomcat und jack, um es dann versucht zu geben, die den vollen Zugriff des KRIEGES Ordner und in den Ordner zu dieser Gruppe. nicht der server zeigt drwxr-xr-x 4 Buchse 775 4096 Feb 2 05:19 KRIEG/
- Auch wenn Sie diese Arbeit machen irgendwie, Sie sollten es nie tun. Das Verzeichnis einen Krieg ausgeführt wird, wird insbesondere nicht garantiert werden, beschreibbar, und viele Server nicht explodieren und der Krieg. Versuchen Sie nie, zu schreiben in die Web-Anwendung selbst.
- der server unterstützt das 'sofortige ablegen und bereitstellen," was empfehlen Sie mir zu tun?
- Ich denke, dass Sie es getan haben falsch, es sollte nicht ein
775
Gruppen-id, Folgen Sie einfach den Schritt gab ich Sie in unseren chat-Kanal - Es sieht SELinux auf Ihrem system ausgeführt wird. Überprüfen Sie /etc/selinux/config (z.B. weniger weniger /etc/selinux/config), wenn es eine Zeile SELINUX=enforcing oder anderen politischen Namen-Zuordnung. Lassen Sie mich wissen, dass Wert. Überprüfen Sie auch den Kontext der tomcat läuft bist du ( ps -AfZ | grep tomcat ) und der Kontext des KRIEGES Verzeichnis, das Sie erstellen möchten (ls -Z /home/jack).
Du musst angemeldet sein, um einen Kommentar abzugeben.
0755 ist rwxr-xr-x. Wenn Sie nicht der Besitzer des Verzeichnisses(es ist normalerweise user nobody), Sie kann nicht schreiben im Verzeichnis. Sie müssen der Besitzer des Verzeichnisses oder root zu schreiben, in diesem Ort.
sudo chmod g+w the_directory_in_which_you_want_write
? (wenn Sie nur in der Gruppe des Verzeichnis-Besitzers: besser, damit nur für die Gruppe, dass die ganze Welt)versuchen:
wahrscheinlich sollten Sie nicht brauchen, um zu ändern für die gesamte
public_html
, aber Sie können versuchen, um zu sehen, ob es funktioniert, und dann Schränken Sie die Berechtigungen ein, um den gewünschten Ordner.Wir brauchen, um stellen Sie sicher, dass Tomcat die Berechtigung zum uneingeschränkten Zugriff auf die Ordner. Erstens erkennen, was der Benutzer oder die Gruppe Tomcat ausgeführt wird. Als Nächstes erteilen Sie dem Benutzer und/oder Gruppe Besitz. Z. B. der folgende code ändert das Eigentum des Verzeichnisses test-Ordner und alles, was es unter:
Diese geben dem Eigentümer und Gruppenzugehörigkeit für die Ausführung von Befehlen.
http://www.computerhope.com/unix/uchown.htm
Nächstes benutzen wir den Befehl chmod auf die Berechtigung erteilen, die definiert die Berechtigungen für den Eigentümer der Datei (der "Nutzer"), die Mitglieder der Gruppe, der die Datei besitzt (die "Gruppe")
http://www.computerhope.com/unix/uchmod.htm
scheint, dass Sie brauchen, um
Gruppe vollen Zugriff schreiben des KRIEGES Verzeichnis
dann ändert die Gruppe des Verzeichnisses tomcat
Wenn die Erlaubnis, Benutzer und Gruppe richtig sind. Vielleicht die Antwort ist selinux.