Sie sind nicht angemeldet.

  • »mantonio« ist der Autor dieses Themas

Beiträge: 5

Registrierungsdatum: 25.01.2013

Derivat: Ubuntu

Architektur: 64-Bit PC

  • Nachricht senden

1

25.03.2015, 17:03

Windows 7 mit Ubuntu-Server in VM: Kann im Webserver Verzeichnis nicht in ver(sym)linkte Unterverzeichnisse

Hallo, folgende IST-Situation:

1) Host-OS Windows 7
2) Gast-OS Ubuntu Server in VM mit Webserver, Samba
3) 2 Gast-OS-Benutzer www-data und www, die beide der Gruppe www-data angehören
4) Benutzer www hat home-Verzeichnis /home/www und Benutzer www-data hat home-Verzeichnis /var/www
5) Webserver Root ist /srv/http
6) Ich kann sowohl /home/www als auch /srv/http als Benutzer www im Host-OS mounten und beschreiben
7) Ich habe via Putty-Terminal innerhalb des Webserver-Roots Symlinks auf /home/www/Unterverzeichnis/Unterverzeichnis/... erstellt
4) Die Symlinks lassen sich unter Windows nicht öffnen. Auch scheint der Webserver selbst dieses Problem zu haben, da er mir komische Fehler anzeigt von nicht findbaren Dateien. Aber ich kann die Symlinks im Putty-Terminal betreten und lesen/schreiben

folgende SOLL-Situation:

1) 2 Benutzer auf dem Gast-OS sollen innerhalb des Webserver-Roots lesen/schreiben/ausführen können
2) Benutzer 1, der Webserver, wird ausgeführt als www-data:www-data und hostet ein PHP-Framework
3) Benutzer 2, ich, existiere als Systembenutzer www mit home-Verzeichnis /home/www unter welchem ich meinen Code liege habe, der in den Server versymlinkt werden soll
4) Da aus irgendeinem Grund immer nur ein Verzeichnis vom Gast-OS unter dem Host-OS gemountet werden kann, bin ich auf das Verzeichnis /srv/http fixiert, da das mein Server ist. Jedoch bräuchte ich parallel auch /home/www gemountet, um meinen Code zu editieren
5) Mit dem Gast-OS gemountet als User www:www-data möchte ich sowohl auf dem Server als auch in meinem Home-Verzeichnis Dateien bearbeiten können. Das kann ich auch, solange ich nicht mit Symlinks arbeiten muss

Meine Samba-Config:


[global]
server string = %h server (Samba)
map to guest = Bad User
unix password sync = Yes
syslog = 3
syslog only = Yes
max log size = 1000
dns proxy = No
usershare allow guests = Yes

[homes]
comment = Home Directories
valid users = %S
read only = No
create mask = 0644
directory mask = 0750
guest ok = Yes

Warum klappt das mit den Symlinks nicht? Ist meine Config falsch? Wie muss ich es richtig machen?

2

26.03.2015, 00:38

Die Symlinks lassen sich unter Windows nicht öffnen.
Das ist normal, weil Windows das in dieser Form nicht kennt, und die Symlinks außerdem ja nur im lokalen Dateibaum des Linux-Rechners funktionieren. Selbst wenn Windows etwas damit anfangen könnte, würde es das Ziel im eigenen Dateibaum suchen. Das wäre selbst unter zwei Linux-Rechnern der gleiche Effekt. Kurz: Symlinks kannst du nicht auf ander Rechner exportieren.

Auch scheint der Webserver selbst dieses Problem zu haben
Dieses nicht, aber ein anderes. Der Apache kann Symlinks nur folgen, wenn ihm das erlaubt wird ("Options +FollowSymlinks" bzw. besser und sicherer: "SymLinksIfOwnerMatch", was bei deiner Konfiguration allerdings Probleme machen könnte.)
Normalerweise lässt man den Webserver aber nicht in home-Verzeichnisse kriechen, sondern sperrt ihn schön kontrolliert ein. Gerade wenn er noch dazu Scripte ausführen kann.
Also, wenn dann umgekehrt: Die Files im Server-Verzeichnis und in deinem home einen Symlink dorthin, damit du mit Putty auch daran basteln kannst.
mir is wurscht