Einrichten einer gemeinsam genutzten Entwicklungsmaschine

Einrichten einer gemeinsam genutzten Entwicklungsmaschine

Ich habe einen Servercomputer mit 10 Benutzern. Betriebssystem: Ubuntu 12.04.3 LTS 64bit

Diese Benutzer sind Entwickler (hauptsächlich Webentwickler: HTML+JS+PHP+MYSQL)

Ich habe ihnen die Remote-Anmeldung über XRDP und VNC erlaubt.

Jetzt funktioniert alles gut, aber das Problem in /var/www

Welche Berechtigung ist für dieses Verzeichnis geeignet, damit sie keine Probleme haben, wenn sie Code untereinander austauschen, obwohl sie keine Root-Benutzer sind? Alle sind einfache Benutzer.

Ich muss wissen, ob es eine sichere Möglichkeit gibt, den Quellcode gemeinsam zu nutzen und gleichzeitig jedem sein eigenes Repository zu geben. Ich freue mich über jede Idee.

Antwort1

Sie fügen alle diese Benutzer in dieselbe GRUPPE ein

usermod -g {group} {user}

Auf diese Weise haben alle Benutzer die gleichen Berechtigungen. Wir verwenden im Allgemeinen die Gruppe, mit der Apache eingerichtet ist (www-data oder apache).

Alle Änderungen der Berechtigungen für eine Datei oder ein Verzeichnis in der Gruppe wirken sich auf alle aus.

Im Allgemeinen können Dateien in /var/www/ mindestens 664 haben. Und Verzeichnisse 775. Setzen Sie keines davon auf 777, aber Sie können noch niedriger gehen.

Antwort2

Eine andere Methode (aufgrund der Prämie :))

Sie können dies auf diese Weise tun, wenn Sie nicht alle Benutzer im selben Webroot behalten möchten. Sie können verschiedene Verzeichnisse als Webroot-Aliase für das Verzeichnis /var/www/ erstellen. Angenommen, Sie haben zwei Benutzer, u1 und u2.

Ich nehme an, du hast apace2 bereits installiert, wenn nicht, mach essudo apt-get install apache2

Ich werde die Verzeichnisse /home/u1/web und /home/u2/web zum Webroot der Benutzer u1 und u2 machen.

sudo chmod 775 home/u1/web
sudo chmod 775 home/u2/web

sudo gedit /etc/apache2/sites-available/default

Erstellen Sie einen Alias ​​(fügen Sie der Datei Folgendes hinzu) für den Benutzer u1:

Alias /u1 /home/u1/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

Erstellen Sie einen Alias ​​(fügen Sie der Datei Folgendes hinzu) für den Benutzer u2:

Alias /u2 /home/u2/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

Jetzt kann jeder Benutzer auf sein Web-Root zugreifen, indem er seinen Webbrowser auf localhost/u1 für Benutzer u1 und localhost/u2 für Benutzer u2 richtet.

Antwort3

Sie können es folgendermaßen machen:

  1. Erstellen Sie für jeden Benutzer ein Verzeichnis innerhalb von /var/www
  2. Ändern Sie den Besitzer jedes Verzeichnisses in den zugehörigen Benutzer und die Gruppe in die Gruppe „www-data“.

    sudo chown user1:www-data /var/www/user1

    sudo chown user2:www-data /var/www/user2

  3. Ändern Sie die Berechtigungen für jedes Verzeichnis auf 750, damit kein Benutzer die Dateien anderer Benutzer manipulieren kann, die Möglichkeit zum Öffnen der HTML-Dateien anderer im Browser mithilfe der Berechtigungen der WWW-Datengruppe jedoch erhalten bleibt.


verwandte Informationen