An interactive, menu-driven Ansible role for comprehensive Linux user management. This role provides a CLI-based interactive interface for managing users, groups, SSH keys, and sudo privileges across your infrastructure.
- Features
- Requirements
- Interactive Operation
- Role Variables
- Default Configuration
- Example Playbook
- Operation Guides
- Security & Compliance
- Troubleshooting
- Contributing
- License
- Author
- 🖥️ Interactive Menu System - User-friendly CLI interface with numbered options
- 👤 Complete User Lifecycle - Create, update, and delete user accounts
- 👥 Advanced Group Management - Pre-defined groups (developers, devops) with specific GIDs
- 🔐 Secure Password Policies - Configurable password complexity and aging policies
- 🗝️ SSH Key Management - Deploy and manage authorized SSH keys
- ⚡ Sudo Privileges - Granular sudo access control with secure sudoers.d management
- 📊 Comprehensive Audit Logging - Track all user management operations with retention policies
- 🛡️ Security Hardened - Configurable UID ranges, password policies, and lockout settings
- ⚙️ Multiple Shell Options - Support for various shells with descriptive names
- ⏱️ Timeout Control - Configurable operation timeout for long-running tasks
- Ansible 2.9 or higher
- Python 3.6+ on control node and managed hosts
| Distribution | Versions |
|---|---|
| RHEL/CentOS | 7, 8, 9 |
| Ubuntu | 18.04, 20.04, 22.04, 24.04 |
| Debian | 10, 11, 12 |
| Amazon Linux | 2, 2023 |
become: yes(root/sudo access required on target hosts)
When you run the playbook, you'll be presented with this interactive menu: