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:
- Erstellen Sie für jeden Benutzer ein Verzeichnis innerhalb von /var/www
Ä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
Ä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.