How to generate user reports as CSV files in Ezeelogin?
Exporting Remote Server Access, Access Control, and User Group–Server Group Reports as CSV Files
Overview: This article explains how to generate CSV reports of gateway users, detailing their remote server access, access control permissions and usergroup-servergroup access.
A) How to generate an remote server access report for a gateway user?
A.1.Run the following script on gateway server to generate reports for all users.
root@gateway:# php /usr/local/ezlogin/eztool.php -user_report -out filename.csv
root@gateway:# php /usr/local/ezlogin/eztool.php -user_report username -out filename.csv
root@gateway:# php /usr/local/ezlogin/eztool.php -user_report username1,username2 -out filename.csv
root@gateway:# php /usr/local/ezlogin/eztool.php -user_report -out allreport.csv
#########################
# Ezeelogin Tool #
#########################
Checking environment... The memory limit is less than 4 GB. If the script crashes abruptly without any errors, try increasing the PHP memory limit.
done (1736)
Checking license... done (1991)
Enter the Ezeelogin administrator password: Admin!2345
Note: Running the below scripts will prompt for the Ezeelogin administrator password. The Ezeelogin administrator password (super admin user) is the user's password created at the time of installation.
root@gateway:# cat allreport.csv
username,firstname,lastname,email,usergroup,status,last_login_at,last_login_from,user_created,user_expiry,servername,IP,description,servergroup,ssh_user
admin,Administrator,,,Admins,Active,"2021-12-10 04:50:15",192.168.29.29,"2021-12-01 06:26:09",Never,gw.ezee.co,192.168.29.178,,linux-servers,tech
admin,Administrator,,,Admins,Active,"2021-12-10 04:50:15",192.168.29.29,"2021-12-01 06:26:09",Never,sub-jake-linu16,192.168.29.254,,linux-servers,root
admin,Administrator,,,Admins,Active,"2021-12-10 04:50:15",192.168.29.29,"2021-12-01 06:26:09",Never,Ad-wind-RDP,192.168.29.79,,RDP-machine,Administrator
monica,monica,,[email protected],Dummy,Active,"2021-12-01 07:29:04",127.0.0.1,"2021-12-01 07:27:47",Never,gw.ezee.co,192.168.29.178,,linux-servers,jake
monica,monica,,[email protected],Dummy,Active,"2021-12-01 07:29:04",127.0.0.1,"2021-12-01 07:27:47",Never,sub-jake-linu16,192.168.29.254,,linux-servers,jake
decker,decker,,[email protected],Dummy,Active,"2021-12-01 07:46:24",127.0.0.1,"2021-12-01 07:31:44",Never,sub-jake-linu16,192.168.29.254,,linux-servers,root
The following example shows how to view the list of servers that a user has.
root@gateway:# php /usr/local/ezlogin/eztool.php -user_report ezadmin -out ezadmin_report.csv
root@gateway:# cat ezadmin_report.csv
username,firstname,lastname,email,usergroup,status,last_login_at,last_login_from,user_created,user_expiry,servername,ip,description,servergroup,ssh_user
ezadmin,Administrator,,,Admins,Active,"2022-12-08 06:44:01",192.168.1.3,"2022-12-06 11:12:30",Never,centos.server,192.168.1.2,,production.server,root
ezadmin,Administrator,,,Admins,Active,"2022-12-08 06:44:01",192.168.1.3,"2022-12-06 11:12:30",Never,ubuntu.server,192.168.1.1,,production.server,root
Run below MySQL command on gateway server to generate csv file with user login details.
root@gateway:# mysql -u root -p -e "USE $(grep -oP 'db_name\s+\K\S+' /usr/local/etc/ezlogin/ez.conf); select id,firstname,username,last_login_at,last_login_from from $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)users;" --batch --raw | sed 's/\t/,/g' > user_login_details.csv
B) How to generate an access control report for a gateway user (User -Actions)?
This is available from eztool version: 7.42.6
B.1. Run the following script on gateway server to generate reports for all users.
root@gateway:# php /usr/local/ezlogin/eztool.php -user_capability_report -out allreport.csv
B.2. Run the following script on gateway server to generate reports for single user.
root@gateway:# php /usr/local/ezlogin/eztool.php -user_capability_report username -out user_report.csv
B.3. Run the following script on gateway server to generate reports for multiple users.
root@gateway:# php /usr/local/ezlogin/eztool.php -user_capability_report user1,user2 -out user_report.csv
root@gateway:# php /usr/local/ezlogin/eztool.php -user_report alex -out alex_report.csv
#########################
# Ezeelogin Tool #
#########################
Checking environment... The memory limit is less than 4 GB. If the script crashes abruptly without any errors, try increasing the PHP memory limit.
done (1736)
Checking license... done (1991)
Enter the Ezeelogin administrator password: Admin!2345
root@gateway:# cat alex_report.csv
username,firstname,lastname,email,usergroup,status,last_login_at,last_login_from,user_created,user_expiry,module,feature
alex,alex,,[email protected],Dummy,Active,"2025-06-25 07:00:33",192.168.56.1,"2025-06-03 09:21:38",Never,"Gateway (aka Bastion Host)","Ezsh Shell"
alex,alex,,[email protected],Dummy,Active,"2025-06-25 07:00:33",192.168.56.1,"2025-06-03 09:21:38",Never,"Gateway (aka Bastion Host)","Allow Mosh (https://mosh.org)"
alex,alex,,[email protected],Dummy,Active,"2025-06-25 07:00:33",192.168.56.1,"2025-06-03 09:21:38",Never,"Gateway (aka Bastion Host)","Allow SCP"
alex,alex,,[email protected],Dummy,Active,"2025-06-25 07:00:33",192.168.56.1,"2025-06-03 09:21:38",Never,"Gateway (aka Bastion Host)","Allow SFTP"
C) How to generate a report of the ACLs showing user group–action mappings? (Usergroup - Actions)
This is available from eztool version: 7.42.6
C.1. Run the following script on gateway server to generate reports for all usergroups.
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_capability_report -out allreport.csv
C.2. Run the following script on gateway server to generate reports for single usergroup.
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_capability_report usergroup_name -out user_report.csv
C.3. Run the following script on gateway server to generate reports for multiple usergroup.
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_capability_report usergroup_name1,usergroup_name2-out user_report.csv
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_capability_report sysadmins -out sysadmins_report.csv
#########################
# Ezeelogin Tool #
#########################
Checking environment... The memory limit is less than 4 GB. If the script crashes abruptly without any errors, try increasing the PHP memory limit.
done (1736)
Checking license... done (1991)
Enter the Ezeelogin administrator password: Admin!2345
root@gateway:# cat sysadmins_report.csv
usergroup,description,module,feature
sysadmins,"sysadmins Group",Cluster,All
sysadmins,"sysadmins Group","Web Portals","Web Portal List"
sysadmins,"sysadmins Group","Web Portals","View Portal"
sysadmins,"sysadmins Group","Web Portals","Add Portal"
sysadmins,"sysadmins Group","Web Portals","Edit Portal"
sysadmins,"sysadmins Group","Web Portals","Delete Portal"
sysadmins,"sysadmins Group","Web Portals","Export Portals"
sysadmins,"sysadmins Group","Web Portals","Web Portal Login"
D) How to generate a report that shows the access control mapping between user groups and server groups(Usergroup - Servergroup)?
This is available from eztool version: 7.42.6
D.1. Run the following script on gateway server to generate reports for usergroups-servergroup.
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_report -out allreport.csv
D.2. Run the following script on gateway server to generate reports for single usergroup.
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_report usergroup_name -out user_report.csv
D.3. Run the following script on gateway server to generate reports for multiple usergroup.
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_report usergroup_name1,usergroup_name2 -out user_report.csv
root@gateway:# php /usr/local/ezlogin/eztool.php -usergroup_capability_report sysadmins -out sysadmins_report.csv
#########################
# Ezeelogin Tool #
#########################
Checking environment... The memory limit is less than 4 GB. If the script crashes abruptly without any errors, try increasing the PHP memory limit.
done (1736)
Checking license... done (1991)
Enter the Ezeelogin administrator password: Admin!2345
root@gateway:# cat sysadmins_report.csv
usergroup,usergroup_description,servergroup,servergroup_description
sysadmins,"sysadmins Group","production servers",
sysadmins,"sysadmins Group","staging servers",
sysadmins,"sysadmins Group","developement servers",
sysadmins,"sysadmins Group","eur_servers",
sysadmins,"sysadmins Group","server_CA",