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.