Update check last login script with better reporting and csv/json output
Now for each ssh group we report last login/account create stats. Add the main user group to output Add unlock user commands for locked users Add CSV and JSON formatted output
This commit is contained in:
60
Readme.md
60
Readme.md
@@ -257,6 +257,66 @@ The script can be put into the crontab and run once a month, it prints to STDOUT
|
||||
0 2 1 * * root /root/users/bin/check_last_login.sh | mail -s "User Account check: $(hostname)"
|
||||
```
|
||||
|
||||
For processable output there is a "csv" and "json" option to output the data in CSV or JSON format
|
||||
|
||||
Example csv
|
||||
|
||||
```csv
|
||||
Hostname,Username,Main Group,SSH Group,Account Created Date,Account Age,Last Login Date,Last Login Age,Login Source,Never Logged In,Status
|
||||
some.host,name_a,staff,sshallow,2021-11-18,764,,,,true,[!] Never logged in: account created 764 days ago
|
||||
some.host,name_b,staff,sshallow,2021-11-15,767,2023-12-20 22:18:36,1,ssh,false,OK [ssh]
|
||||
...
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"Info": {
|
||||
"Hostname": "host.name",
|
||||
"Date": "2023-12-21 13:11:45",
|
||||
"MaxAgeLogin": 90,
|
||||
"MaxAgeCreate": 30
|
||||
},
|
||||
"Users": [
|
||||
{
|
||||
"Username": "name_a",
|
||||
"SshGroup": "sshallow",
|
||||
"MainGroup": "staff",
|
||||
"SubGroups": [],
|
||||
"AccountCreatedDate": "2021-11-18",
|
||||
"AccountAge": "764",
|
||||
"LastLoginDate": "",
|
||||
"LastLoginAge": "",
|
||||
"LoginSource": "",
|
||||
"NeverLoggedIn": true,
|
||||
"Status": "[!] Never logged in: account created 764 days ago"
|
||||
},
|
||||
{
|
||||
"Username": "name_b",
|
||||
"SshGroup": "sshallow",
|
||||
"MainGroup": "staff",
|
||||
"SubGroups": [
|
||||
"sudo",
|
||||
"users",
|
||||
"ikea",
|
||||
"harley",
|
||||
"aeon",
|
||||
"primaham",
|
||||
"nisshin",
|
||||
"nissan",
|
||||
"pfizer"
|
||||
],
|
||||
"AccountCreatedDate": "2021-11-15",
|
||||
"AccountAge": "767",
|
||||
"LastLoginDate": "2023-12-20 22:18:36",
|
||||
"LastLoginAge": "1",
|
||||
"LoginSource": "ssh",
|
||||
"NeverLoggedIn": false,
|
||||
"Status": "OK [ssh]"
|
||||
},
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Delete users
|
||||
|
||||
`bin/delete_user.sh -t -b <user 1> <user 2> ...`
|
||||
|
||||
Reference in New Issue
Block a user