Zum Hauptinhalt springen

nine-manage-vhosts mit Multiuser

Auf Managed Servern stellt Nine Ihnen das CLI Tool nine-manage-vhosts zur Verwaltung von Webseiten zur Verfügung. Mittels nine-manage-vhosts können Sie zusätzliche Benutzer erstellen.

Dieser Artikel beschreibt die Verwendung der Benutzerverwaltung von nine-manage-vhosts.

Benutzerverwaltung

Um die Sicherheit für Webapplikationen zu erhöhen, können diese mit separaten Systembenutzern voneinander getrennt werden. Bei der Bestellung des Servers legt Nine standardmässig den Benutzer www-data an, mittels nine-manage-vhosts können Sie nach Bedarf weitere Benutzer erstellen.

Mit der Benutzerverwaltung von nine-manage-vhosts werden Benutzer wie folgt verwaltet:

www-data@server:~ $ sudo nine-manage-vhosts user <action>...

Als Aktion stehen create, update, remove und list zur Verfügung. Letzteres gibt eine Liste der aktuell bestehenden Benutzer aus:

www-data@server:~ $ sudo nine-manage-vhosts user list

NAME | HOMEDIR
------------|------------------
www-data | /home/www-data
www-example | /home/www-example

Beim Erstellen (create) oder Aktualisieren (update) eines Benutzers stehen drei passwortbezogene Optionen zur Verfügung:

www-data@server:~ $ sudo nine-manage-vhosts user create www-example --no-password
www-data@server:~ $ sudo nine-manage-vhosts user create www-example --ask-password
www-data@server:~ $ sudo nine-manage-vhosts user create www-example --password=<password>

Mit der Option --no-password wird kein Passwort gesetzt und der Benutzer kann sich nicht per SSH oder SFTP einloggen. Dies ist nützlich, wenn man das Anmelden über SSH/SFTP zugunsten eines FTP-Zugangs deaktivieren möchte.

Die Option --ask-password fragt ein Passwortes ab, mittels --password kann ein Passwort direkt auf der Kommandozeile angegeben werden. Letzteres ermöglicht die Automatisierung der Erstellung zusätzlicher Benutzer.

VirtualHost mit eigenem Benutzer einrichten

Ein VirtualHost kann bei der Erstellung einem Benutzer zugewiesen werden. Hierzu muss die Option --user verwendet werden:

www-data@server:~ $ sudo nine-manage-vhosts virtual-host create example.org
--user=www-example

In diesem Beispiel wird der VirtualHost mit der Domain example.org unter dem Benutzer www-example im Ordner /home/www-example/example.org erstellt.

Mit www-data auf alle weiteren Benutzer zugreifen

Der Benutzer www-data fungiert als eine Art "Super-User". www-data wird zur Erstellung von Vhosts und weiteren Benutzern (nine-manage-vhosts), zur Erstellung von Datenbanken (nine-manage-databases) oder für den Zugriff auf Datensicherungen (nine-backup) oder Datenbanksicherungen verwendet.

Da der Zugriff mittels Kennwörtern möglichst vermieden werden sollte, haben wir dem Benutzer www-data die Möglichkeit eingeräumt, in andere Benutzerkonten wechseln zu können.

So kann bspw. ein SSH Private-Key für einen neu angelegten Benutzer hinterlegt werden, ohne dass ein Kennwort für den Benutzer erstellt oder geteilt werden muss.

Benutzer wechseln

Als Benutzer www-data können Sie den Wrapper nine-su mittels sudo ausführen, um so in einen anderen wechseln zu können:

www-data@server:~ $ whoami
www-data
www-data@server:~ $ sudo nine-su www-example
www-example@server:~$ whoami
www-example
www-example@server:~$

Der Wrapper akzeptiert neben dem Benutzernamen (www-xyz) keine weiteren Parameter.