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,,monica@lew.co,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,,monica@lew.co,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,,decker@lew.co,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
User report can be generated with the last modified date and modified by username, available from Ezeelogin version 7.45.0. How to upgrade the Ezeelogin version to the latest?
Example:
php /usr/local/ezlogin/eztool.php -user_report -out filename.csv
username,firstname,lastname,email,usergroup,status,last_login_at,last_login_from,user_created,last_modified,last_modified_by,user_expiry,servername,ip,description,servergroup,ssh_user
ezadmin,Administrator,,admin@ez.com,Admins,Active,"2026-03-04 06:44:09",192.168.0.178,"2026-03-05 00:20:18",,,Never,cred,10.10.1.40,,"production servers",nesvin
ezadmin,Administrator,,admin@ez.com,Admins,Active,"2026-03-04 06:44:09",192.168.0.178,"2026-03-05 00:20:18",,,Never,sevv,10.10.1.24,,"production servers",root
alex,alex,user,alex@ez.com,Dummy,Active,"2026-03-03 09:09:26",10.10.1.23,"2026-03-03 06:43:09",,,Never,,,,,
john,john,user,john@ez.com,Dummy,Active,,,"2026-03-03 07:38:15","2026-03-04 06:57:26","ezadmin (1)",Never,,,,,
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 Ezeelogin version: 7.43.0
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,,alex@ez.ocm,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,,alex@ez.ocm,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,,alex@ez.ocm,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,,alex@ez.ocm,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 Ezeelogin version: 7.43.0
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 Ezeelogin version: 7.43.0
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_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",
E) How to get the list of users that have access to a user group ?
E.1. Run the following command to display the list of all gateway users along with their assigned user group:
root@gateway:# mysql -u root -p -e "USE $(grep -oP 'db_name\s+\K\S+' /usr/local/etc/ezlogin/ez.conf); SELECT u.username, ug.name AS usergroup, u.created, u.last_login_at, u.status FROM $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)users u JOIN $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)usergroups ug ON u.usergroup_id = ug.id ORDER BY ug.name, u.username;"
Enter password:
+----------+-----------+---------------------+---------------------+--------+
| username | usergroup | created | last_login_at | status |
+----------+-----------+---------------------+---------------------+--------+
| ezadmin | Admins | 2026-03-05 00:20:18 | 2026-03-04 06:44:09 | 1 |
| alex | Dummy | 2026-03-03 06:43:09 | 2026-03-03 09:09:26 | 1 |
| john | Dummy | 2026-03-03 07:38:15 | NULL | 1 |
+----------+-----------+---------------------+---------------------+--------+
E.2. Run the following command to display the list of all gateway users have access to specfic user group. Replace user_group_name with correct user group name:
root@gateway:# mysql -u root -p -e "USE $(grep -oP 'db_name\s+\K\S+' /usr/local/etc/ezlogin/ez.conf); SELECT u.username, ug.name AS usergroup, u.created, u.last_login_at, u.status FROM $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)users u JOIN $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)usergroups ug ON u.usergroup_id = ug.id WHERE ug.name = 'user_group_name';"
Example:
root@gateway:# mysql -u root -p -e "USE $(grep -oP 'db_name\s+\K\S+' /usr/local/etc/ezlogin/ez.conf); SELECT u.username, ug.name AS usergroup, u.created, u.last_login_at, u.status FROM $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)users u JOIN $(grep -oP 'db_prefix\s+\K\S+' /usr/local/etc/ezlogin/ez.conf)usergroups ug ON u.usergroup_id = ug.id WHERE ug.name = 'Dummy';"
Enter password:
+----------+-----------+---------------------+---------------------+--------+
| username | usergroup | created | last_login_at | status |
+----------+-----------+---------------------+---------------------+--------+
| alex | Dummy | 2026-03-03 06:43:09 | 2026-03-03 09:09:26 | 1 |
| john | Dummy | 2026-03-03 07:38:15 | NULL | 1 |
+----------+-----------+---------------------+---------------------+--------+
F) How to get the list of usernames and user group names that have access to a server group (UserGroup - ServerGroup)?
This is available from Ezeelogin version: 7.46.0
F.1. Run the following command to generate reports for all server group.
root@gateway:# php /usr/local/ezlogin/eztool.php -servergroup_access_report -out report.csv
F.2. Run the following command to generate reports of one server group.
root@gateway:# php /usr/local/ezlogin/eztool.php -servergroup_access_report 'server group name' -out report.csv
F.3. Run the following command to generate reports of multiple server group.
root@gateway:# php /usr/local/ezlogin/eztool.php -servergroup_access_report 'server group name 1','server group name 2' -out report.csv
For example, the following script generates the report for all one server group in Ezeelogin to the report.csv file.
root@gateway:# php /usr/local/ezlogin/eztool.php -servergroup_access_report 'development servers' -out 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
The content of the report.csv file is shown below.
root@gateway:# cat report.csv
servergroup,usergroup,username,user_created,user_last_login,acl
"development servers",Admins,ezadmin,"2026-04-23 10:48:17","2026-05-27 05:03:01","usergroup - servergroup"
G) How to get detailed information about user modification activities?
This is available from Ezeelogin version: 7.46.0
Detailed information will be shown only if the Detailed Audit Log option is enabled. Refer to the detailed audit log article for more information.
Run the following script on gateway server to generate reports for user.
root@gateway:~# php /usr/local/ezlogin/eztool.php -user_modifications username -out report.csv
For example, the following script generates the report for all users in Ezeelogin to the report.csv file.
root@gateway:~# php /usr/local/ezlogin/eztool.php -user_modifications tony -out 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
The content of the report.csv file is shown below.
root@gateway:# cat report.csv
updated_at,updated_by_user_id,updated_by_username,objective,description
"2026-05-27 10:55:35",1,ezadmin,"Updated: tony (25)",
"2026-05-27 10:56:07",1,ezadmin,"Updated: tony (25)",
"2026-05-27 10:59:17",1,ezadmin,"Updated: tony (25)","CHANGES:
status:
FROM:
0
TO:
1
change_pw:
FROM:
0
TO:
1
"