This functionality is currently still in beta.
Linux-users
Playbooks can manage linux-users for FAST-managed servers by updating the yaml configuration files and starting AWX jobs. This functionality is split into 3 different components: Users , Groups and Keys .
The linux-users
section in the group_vars files starts with ssh:
Playbooks cannot manage Users , Groups and Keys that are not defined in the group_vars files.
Users
With playbooks you can add, update and remove ssh users on a server. The passwords for these users are stored within a vault. User passwords can also be changed from NewAdmin, from the user detail page.
The ssh users
section in the group_vars files is located within the linux-users
section and starts with users:
- The following data is stored for ssh users :
-
- password only stored within the vault
-
- password for the user
- homedir required
-
- home directory for the user
- group
-
- primary user group, see Groups
- groups
-
- user groups the user is part of, see Groups
- uid
-
- id of the user
- authorized_keys
-
- ssh keys of the user, see Keys
- shell required
-
- shell for the user, options:
/bin/bash,/bin/sh,/bin/falseand/usr/sbin/nologin,
- shell for the user, options:
Playbooks also keeps track of the UID's of a ssh user , to account for system-users the UID's created by playbooks start from 10001
Groups
Along with ssh users , playbooks can also manage ssh user groups .
The ssh user groups
section in the group_vars files is located within the linux-users
section and starts with groups:
- The following data is stored for ssh user groups :
-
- gid
-
- id of the group
Again, just like with the ssh users to account for system ssh user groups the id's created by playbooks start from 10001
Keys
With playbooks you can manage ssh keys to gain access to a FAST-managed server.
The ssh users
section is located within the all.yml file and starts with publickeys:
- The following data is stored for ssh keys :
-
- id
-
- name of the ssh key
- key
-
- the public keys
Examples
{server_group}.yml
ssh:
groups:
webdevgroup01: { }
webdevgroup02: { }
users:
regularuser:
homedir: /home/regularuser
shell: /bin/bash
uid: 10001
systemuser:
homedir: /home/systemuser
shell: /bin/bash
uid: 668
all.yml
publickeys:
test: ssh-rsa ...