arillso.system.access role – Access management with multi-entry-point support

Note

This role is part of the arillso.system collection (version 1.0.5).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it use: ansible-galaxy collection install arillso.system.

To use it in a playbook, specify: arillso.system.access.

Entry point groups – Group management entry point

Synopsis

  • Entry point for managing groups

  • Handles group creation and removal

Parameters

Parameter

Comments

access_groups

list / elements=dictionary

List of groups to manage

Default: []

gid

integer

Group ID

name

string / required

Group name

state

string

Group state

Choices:

  • "present" ← (default)

  • "absent"

system

boolean

System group

Choices:

  • false ← (default)

  • true

Entry point main – Access management with multi-entry-point support

Synopsis

  • Manages system access including users, groups, sudo and SSH

  • Supports granular control via entry points

  • Security-focused with validation and backup options

Parameters

Parameter

Comments

access_backup_configs

boolean

Backup configuration files before changes

Choices:

  • false

  • true ← (default)

access_debug_mode

boolean

Enable debug output for troubleshooting

Choices:

  • false ← (default)

  • true

access_groups

list / elements=dictionary

List of groups to manage

Default: []

gid

integer

Group ID

name

string / required

Group name

state

string

Group state

Choices:

  • "present" ← (default)

  • "absent"

system

boolean

System group

Choices:

  • false ← (default)

  • true

access_groups_enabled

boolean

Enable group management entry point

Choices:

  • false

  • true ← (default)

access_retry_count

integer

Number of retry attempts for tasks

Default: 3

access_retry_delay

integer

Delay in seconds between retry attempts

Default: 5

access_services_to_restart

list / elements=string

Additional services to restart after access changes

Default: []

access_ssh_agent_forwarding

boolean

Enable SSH agent forwarding

Choices:

  • false ← (default)

  • true

access_ssh_allow_groups

list / elements=string

List of groups allowed to connect via SSH

Default: []

access_ssh_allow_users

list / elements=string

List of users allowed to connect via SSH

Default: []

access_ssh_challenge_response_authentication

boolean

Enable challenge-response authentication

Choices:

  • false ← (default)

  • true

access_ssh_client_alive_count_max

integer

Maximum client alive messages without response

Default: 3

access_ssh_client_alive_interval

integer

Interval in seconds for client alive messages

Default: 300

access_ssh_compression

boolean

Enable SSH compression

Choices:

  • false ← (default)

  • true

access_ssh_config_extra

dictionary

Extra SSH configuration options as key-value pairs

Default: {}

access_ssh_deny_groups

list / elements=string

List of groups denied SSH access

Default: []

access_ssh_deny_users

list / elements=string

List of users denied SSH access

Default: []

access_ssh_gateway_ports

boolean

Allow remote hosts to connect to forwarded ports

Choices:

  • false ← (default)

  • true

access_ssh_gssapi_authentication

boolean

Enable GSSAPI authentication

Choices:

  • false ← (default)

  • true

access_ssh_kerberos_authentication

boolean

Enable Kerberos authentication

Choices:

  • false ← (default)

  • true

access_ssh_keys

list / elements=dictionary

List of SSH keys to manage

Default: []

exclusive

boolean

Remove all other keys

Choices:

  • false ← (default)

  • true

key

string / required

SSH public key

key_options

string

SSH key options

state

string

Key state

Choices:

  • "present" ← (default)

  • "absent"

user

string / required

Username

access_ssh_keys_enabled

boolean

Enable SSH key management entry point

Choices:

  • false

  • true ← (default)

access_ssh_listen_addresses

list / elements=string

List of addresses for SSH to listen on

Default: []

access_ssh_log_level

string

SSH daemon log level

Default: "INFO"

access_ssh_login_grace_time

integer

Time in seconds to authenticate before disconnecting

Default: 60

access_ssh_max_auth_tries

integer

Maximum authentication attempts per connection

Default: 3

access_ssh_max_sessions

integer

Maximum number of open sessions per connection

Default: 10

access_ssh_max_startups

string

Maximum concurrent unauthenticated connections

Default: "10:30:60"

access_ssh_password_authentication

boolean

Enable password authentication

Choices:

  • false ← (default)

  • true

access_ssh_permit_empty_passwords

boolean

Permit empty passwords

Choices:

  • false ← (default)

  • true

access_ssh_permit_root_login

string

Permit root login

Choices:

  • "yes"

  • "no"

  • "prohibit-password" ← (default)

  • "forced-commands-only"

access_ssh_permit_tunnel

boolean

Allow tunnel device forwarding

Choices:

  • false ← (default)

  • true

access_ssh_permit_user_environment

boolean

Allow users to set environment variables

Choices:

  • false ← (default)

  • true

access_ssh_port

integer

SSH port

Default: 22

access_ssh_pubkey_authentication

boolean

Enable public key authentication

Choices:

  • false

  • true ← (default)

access_ssh_restart_on_change

boolean

Restart SSH service when configuration changes

Choices:

  • false

  • true ← (default)

access_ssh_server_enabled

boolean

Enable SSH server configuration entry point

Choices:

  • false

  • true ← (default)

access_ssh_service_enabled

boolean

Enable SSH service

Choices:

  • false

  • true ← (default)

access_ssh_service_state

string

SSH service state

Choices:

  • "started" ← (default)

  • "stopped"

  • "restarted"

  • "reloaded"

access_ssh_subsystem_sftp

string

Path to SFTP server binary

Default: "/usr/lib/openssh/sftp-server"

access_ssh_syslog_facility

string

Syslog facility for SSH daemon

Default: "AUTH"

access_ssh_tcp_forwarding

boolean

Enable TCP forwarding

Choices:

  • false

  • true ← (default)

access_ssh_tcp_keep_alive

boolean

Enable TCP keepalive messages

Choices:

  • false

  • true ← (default)

access_ssh_x11_forwarding

boolean

Enable X11 forwarding

Choices:

  • false ← (default)

  • true

access_sudoers

list / elements=dictionary

List of sudoers entries

Default: []

commands

string

Commands allowed

Default: "ALL"

group

string

Group to grant sudo access

hosts

string

Hosts where rule applies

Default: "ALL"

name

string / required

Entry name (for filename)

nopasswd

boolean

Allow without password

Choices:

  • false ← (default)

  • true

runas

string

Users to run commands as

Default: "ALL"

setenv

boolean

Allow setting environment

Choices:

  • false ← (default)

  • true

state

string

Sudoers entry state

Choices:

  • "present" ← (default)

  • "absent"

user

string

User to grant sudo access

access_sudoers_enabled

boolean

Enable sudoers management entry point

Choices:

  • false

  • true ← (default)

access_sudoers_file_group

string

Group of sudoers files

Default: "root"

access_sudoers_file_mode

string

File mode for sudoers files

Default: "0440"

access_sudoers_file_owner

string

Owner of sudoers files

Default: "root"

access_sudoers_validate

boolean

Validate sudoers syntax with visudo

Choices:

  • false

  • true ← (default)

access_user_create_home_default

boolean

Create home directory by default for new users

Choices:

  • false

  • true ← (default)

access_user_shell_default

string

Default shell for new users

Default: "/bin/bash"

access_user_update_password_default

string

Default password update policy for users

Default: "on_create"

access_users

list / elements=dictionary

List of users to manage

Default: []

comment

string

User comment (GECOS)

create_home

boolean

Create home directory

Choices:

  • false

  • true ← (default)

group

string

Primary group

groups

list / elements=string

List of supplementary groups

home

string

Home directory

name

string / required

Username

password

string

Encrypted password hash

remove

boolean

Remove home directory when state=absent

Choices:

  • false ← (default)

  • true

shell

string

User shell

Default: "/bin/bash"

ssh_keys

list / elements=dictionary

SSH keys for this user

exclusive

boolean

Remove all other keys

Choices:

  • false ← (default)

  • true

key

string / required

SSH public key

key_options

string

SSH key options

state

string

Key state

Choices:

  • "present" ← (default)

  • "absent"

user

string

Username (optional, defaults to parent user’s name)

state

string

User state

Choices:

  • "present" ← (default)

  • "absent"

system

boolean

System user

Choices:

  • false ← (default)

  • true

uid

integer

User ID

update_password

string

When to update password

Choices:

  • "always"

  • "on_create" ← (default)

access_users_enabled

boolean

Enable user management entry point

Choices:

  • false

  • true ← (default)

access_validate_ssh_config

boolean

Validate SSH config before applying

Choices:

  • false

  • true ← (default)

access_validate_sudoers

boolean

Validate sudoers files before applying

Choices:

  • false

  • true ← (default)

Entry point ssh – SSH server configuration entry point

Synopsis

  • Entry point for SSH server configuration

  • Handles sshd_config and service management

Parameters

Parameter

Comments

access_ssh_agent_forwarding

boolean

Enable SSH agent forwarding

Choices:

  • false ← (default)

  • true

access_ssh_allow_groups

list / elements=string

List of groups allowed to connect via SSH

Default: []

access_ssh_allow_users

list / elements=string

List of users allowed to connect via SSH

Default: []

access_ssh_challenge_response_authentication

boolean

Enable challenge-response authentication

Choices:

  • false ← (default)

  • true

access_ssh_client_alive_count_max

integer

Maximum client alive messages without response

Default: 3

access_ssh_client_alive_interval

integer

Interval in seconds for client alive messages

Default: 300

access_ssh_compression

boolean

Enable SSH compression

Choices:

  • false ← (default)

  • true

access_ssh_config_extra

dictionary

Extra SSH configuration options as key-value pairs

Default: {}

access_ssh_deny_groups

list / elements=string

List of groups denied SSH access

Default: []

access_ssh_deny_users

list / elements=string

List of users denied SSH access

Default: []

access_ssh_gateway_ports

boolean

Allow remote hosts to connect to forwarded ports

Choices:

  • false ← (default)

  • true

access_ssh_gssapi_authentication

boolean

Enable GSSAPI authentication

Choices:

  • false ← (default)

  • true

access_ssh_kerberos_authentication

boolean

Enable Kerberos authentication

Choices:

  • false ← (default)

  • true

access_ssh_listen_addresses

list / elements=string

List of addresses for SSH to listen on

Default: []

access_ssh_log_level

string

SSH daemon log level

Default: "INFO"

access_ssh_login_grace_time

integer

Time in seconds to authenticate before disconnecting

Default: 60

access_ssh_max_auth_tries

integer

Maximum authentication attempts per connection

Default: 3

access_ssh_max_sessions

integer

Maximum number of open sessions per connection

Default: 10

access_ssh_max_startups

string

Maximum concurrent unauthenticated connections

Default: "10:30:60"

access_ssh_password_authentication

boolean

Enable password authentication

Choices:

  • false ← (default)

  • true

access_ssh_permit_empty_passwords

boolean

Permit empty passwords

Choices:

  • false ← (default)

  • true

access_ssh_permit_root_login

string

Permit root login

Choices:

  • "yes"

  • "no"

  • "prohibit-password" ← (default)

  • "forced-commands-only"

access_ssh_permit_tunnel

boolean

Allow tunnel device forwarding

Choices:

  • false ← (default)

  • true

access_ssh_permit_user_environment

boolean

Allow users to set environment variables

Choices:

  • false ← (default)

  • true

access_ssh_port

integer

SSH port

Default: 22

access_ssh_pubkey_authentication

boolean

Enable public key authentication

Choices:

  • false

  • true ← (default)

access_ssh_restart_on_change

boolean

Restart SSH service when configuration changes

Choices:

  • false

  • true ← (default)

access_ssh_service_enabled

boolean

Enable SSH service

Choices:

  • false

  • true ← (default)

access_ssh_service_state

string

SSH service state

Choices:

  • "started" ← (default)

  • "stopped"

  • "restarted"

  • "reloaded"

access_ssh_subsystem_sftp

string

Path to SFTP server binary

Default: "/usr/lib/openssh/sftp-server"

access_ssh_syslog_facility

string

Syslog facility for SSH daemon

Default: "AUTH"

access_ssh_tcp_forwarding

boolean

Enable TCP forwarding

Choices:

  • false

  • true ← (default)

access_ssh_tcp_keep_alive

boolean

Enable TCP keepalive messages

Choices:

  • false

  • true ← (default)

access_ssh_x11_forwarding

boolean

Enable X11 forwarding

Choices:

  • false ← (default)

  • true

access_validate_ssh_config

boolean

Validate SSH config before applying

Choices:

  • false

  • true ← (default)

Entry point ssh_keys – SSH key management entry point

Synopsis

  • Entry point for managing SSH authorized keys

  • Handles SSH key deployment for users

Parameters

Parameter

Comments

access_ssh_keys

list / elements=dictionary

List of SSH keys to manage

Default: []

exclusive

boolean

Remove all other keys

Choices:

  • false ← (default)

  • true

key

string / required

SSH public key

key_options

string

SSH key options

state

string

Key state

Choices:

  • "present" ← (default)

  • "absent"

user

string / required

Username

Entry point sudoers – Sudoers management entry point

Synopsis

  • Entry point for managing sudoers configuration

  • Handles sudo access control

Parameters

Parameter

Comments

access_sudoers

list / elements=dictionary

List of sudoers entries

Default: []

commands

string

Commands allowed

Default: "ALL"

group

string

Group to grant sudo access

hosts

string

Hosts where rule applies

Default: "ALL"

name

string / required

Entry name (for filename)

nopasswd

boolean

Allow without password

Choices:

  • false ← (default)

  • true

runas

string

Users to run commands as

Default: "ALL"

setenv

boolean

Allow setting environment

Choices:

  • false ← (default)

  • true

state

string

Sudoers entry state

Choices:

  • "present" ← (default)

  • "absent"

user

string

User to grant sudo access

access_sudoers_file_group

string

Group of sudoers files

Default: "root"

access_sudoers_file_mode

string

File mode for sudoers files

Default: "0440"

access_sudoers_file_owner

string

Owner of sudoers files

Default: "root"

access_sudoers_validate

boolean

Validate sudoers syntax with visudo

Choices:

  • false

  • true ← (default)

access_validate_sudoers

boolean

Validate sudoers files before applying

Choices:

  • false

  • true ← (default)

Entry point users – User management entry point

Synopsis

  • Entry point for managing user accounts

  • Handles user creation, modification and removal

Parameters

Parameter

Comments

access_user_create_home_default

boolean

Create home directory by default for new users

Choices:

  • false

  • true ← (default)

access_user_shell_default

string

Default shell for new users

Default: "/bin/bash"

access_user_update_password_default

string

Default password update policy for users

Default: "on_create"

access_users

list / elements=dictionary

List of users to manage

Default: []

comment

string

User comment (GECOS)

create_home

boolean

Create home directory

Choices:

  • false

  • true ← (default)

group

string

Primary group

groups

list / elements=string

List of supplementary groups

home

string

Home directory

name

string / required

Username

password

string

Encrypted password hash

remove

boolean

Remove home directory when state=absent

Choices:

  • false ← (default)

  • true

shell

string

User shell

Default: "/bin/bash"

ssh_keys

list / elements=dictionary

SSH keys for this user

exclusive

boolean

Remove all other keys

Choices:

  • false ← (default)

  • true

key

string / required

SSH public key

key_options

string

SSH key options

state

string

Key state

Choices:

  • "present" ← (default)

  • "absent"

user

string

Username (optional, defaults to parent user’s name)

state

string

User state

Choices:

  • "present" ← (default)

  • "absent"

system

boolean

System user

Choices:

  • false ← (default)

  • true

uid

integer

User ID

update_password

string

When to update password

Choices:

  • "always"

  • "on_create" ← (default)