Linux User Provisioning & Audit Scripts

via Freelancer ·

Budget / SalaryHourly project
TypeFreelance project
LocationRemote
Posted1 hour ago
I want a small, well-structured toolkit of Bash scripts that automate three routine but sensitive tasks on my Linux servers and come with clear, client-ready documentation.

The first script, bulk_user_create.sh, must read a pipe-delimited CSV (username|email|role|department) and for each line create the user, add them to the right primary or secondary groups, set a strong random temporary password, force a password change at first login, and log every step to both stdout and /var/log for traceability.

The second, user_audit_report.sh, should perform a quick security sweep: list all regular accounts, flag anything that holds UID 0 besides root, highlight users whose passwords never expire, and output a neatly formatted report that I can email or drop into a SIEM.

The third, set_shared_permissions.sh, will accept a team folder path and group name, apply SGID on the directory tree, and create inheritable ACLs so new files always get the correct shared permissions. Again, full logging is required.

A concise README.md needs to tie everything together—usage examples, design rationale, and a short “next steps” section I can use to upsell ongoing hardening or support services.

Deliverables
• bulk_user_create.sh
• user_audit_report.sh
• set_shared_permissions.sh
• README.md with the above content

Acceptance criteria
• Clean POSIX-compliant Bash; no external dependencies beyond coreutils, shadow-utils, acl.
• Works on recent Ubuntu and CentOS/RHEL.
• Handles the exact CSV layout specified and stops with a clear error if the format is off.
• Logs are timestamped and rotate-friendly.
• All scripts pass shellcheck without warnings.
linux shell script mysql ubuntu documentation automation bash system administration
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.