Zum Hauptinhalt springen

nine-manage-vhosts mit Multiuser

Auf Managed Servern stellt Nine dir das CLI Tool nine-manage-vhosts zur Verwaltung von Webseiten zur Verfügung. Mittels nine-manage-vhosts kannst du 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 kannst du 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 kannst du 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.