bootstrap-vz/bootstrapvz/plugins/admin_user
Anders Ingemann f62c8ade99 Convert indentation from tabs to spaces (4)
Up until now I didn't see the point of using spaces for indentation.
However, the previous commit (a18bec3) was quite eye opening.
Given that python is an indentation aware language, the amount of
mistakes that went unnoticed because tabs and spaces were used
at the same time (tabs for indentation and spaces for alignment)
were unacceptable.

E101,W191 have been re-enable in the tox flake8 checker and
the documentation has been modified accordingly.

The following files have been left as-is:
* bootstrapvz/common/assets/extlinux/extlinux.conf
* bootstrapvz/common/assets/init.d/expand-root
* bootstrapvz/common/assets/init.d/generate-ssh-hostkeys
* bootstrapvz/common/assets/init.d/squeeze/generate-ssh-hostkeys
* bootstrapvz/plugins/docker_daemon/assets/init.d/docker
* bootstrapvz/providers/ec2/assets/bin/growpart
* bootstrapvz/providers/ec2/assets/grub.d/40_custom
* bootstrapvz/providers/ec2/assets/init.d/ec2-get-credentials
* bootstrapvz/providers/ec2/assets/init.d/ec2-run-user-data
* docs/_static/taskoverview.coffee
* docs/_static/taskoverview.less
* tests/unit/subprocess.sh
2016-06-04 11:38:16 +02:00
..
__init__.py Convert indentation from tabs to spaces (4) 2016-06-04 11:38:16 +02:00
manifest-schema.yml [admin_user]: Added support for password and static pubkey auth 2016-02-06 00:39:20 -08:00
README.rst Compat with new sphinx 2016-03-04 01:21:52 +01:00
tasks.py Convert indentation from tabs to spaces (4) 2016-06-04 11:38:16 +02:00

Admin user
----------

This plugin creates a user with passwordless sudo privileges. It also
disables the SSH root login. There are three ways to grant access to
the admin user:
-  Use the EC2 public key (EC2 machines only)
-  Set a password for the user
-  Provide a SSH public key to allow remote SSH login

If the EC2 init scripts are installed, the script for fetching the
SSH authorized keys will be adjusted to match the username
specified in ``username``.

If a password is provided (the ``password`` setting),
this plugin sets the admin password, which also re-enables
SSH password login (off by default in Jessie or newer).

If the optional setting ``pubkey`` is present (it should be a full path
to a SSH public key), you will be able to log in to the admin user account
using the corresponding private key
(this disables the EC2 public key injection mechanism).

The ``password`` and ``pubkey`` settings can be used at the same time.

Settings
~~~~~~~~

-  ``username``: The username of the account to create. ``required``
-  ``password``: An optional password for the account to create. ``optional``
-  ``pubkey``:   The full path to an SSH public key to allow
   remote access into the admin account. ``optional``

Example:

.. code-block:: yaml

    ---
    plugins:
      admin_user:
        username: admin
        password: s3cr3t
        pubkey: /home/bootstrap-vz/.ssh/id_rsa