Skip to main content

Linux System : Free Employee Monitoring with Automatic Screenshots



Introduction : 

Automatic screen-shots of Linux system directly import on your web server with Linux samba server service and scrot command.

1) Setup web panel UI on your web server :
 
Get web panel PHP/HTML code from Github URL: https://github.com/raj412/Employee-Monitoring-for-Linux-System

It’s work in Linux server LAMP environment(no need database for this configuration )

Defult login username password is admin/1234. You can change username/passwrod from login.php file in line number #6

Login Page :




Dashboard :




Screenshot Page :




2) Samba server configuration on web server :

I. Install Samba on your server where you setup Linux screenshot log system web panel.

sudo apt-get update
sudo apt-get install samba

II. Set a password for your user in Samba

sudo smbpasswd -a <user_name>

III. Share gallery-images folder from you web panel.

This is my web panel gallery-images path /var/www/html/linuxscreenshot/gallery-images

IV. Edit the file "/etc/samba/smb.conf"

[<folder_name>]
path = /var/www/html/linuxscreenshot/gallery-images.
valid users = <user_name>
read only = no

V. Restart the samba service
  
sudo service smbd restart



3) Install cifs-utils in employees Linux system :
 
CIFS-UTILS use for mount network shared folder in system.

Run this command for install cifs service in Linux system.

sudo apt-get install cifs-utils

4) Install scrot in employees Linux system:

Scrot use for tacking screenshot of current display of Linux system.

Run this command for install scrot service in Linux system.

sudo apt-get install scrot

You check with run scrot [image-name].png


5) Add Linux script in employees Linux system:

Employee system username is user1

linux system mount point is /var/opt/img/ (You can use mount point as you       like)

Network shared location : //serverhost/gallery-images/user1/

Samba username/password : smabauser/sambapw
    
    Linux script like this.
---------------------------------------------------------------------------------- 
#!/bin/sh

LOCATION="$(date +/var/opt/img/%Y/%m/%d)"

if mountpoint -q /var/opt/img

then

mkdir -p $LOCATION
cd $LOCATION
DISPLAY=:0 scrot '%Y-%m-%d-%H%M.jpg' -q 20

else
     sudo mount -t cifs //serverhost/gallery-images/user1/  /var/opt/img/ -o                user=smabauser,password=sambapw,iocharset=utf8,uid=user1

mkdir -p $LOCATION
cd $LOCATION

DISPLAY=:0 scrot '%Y-%m-%d-%H%M.jpg' -q 20

fi

----------------------------------------------------------------------------- 

Save this file as auto.sh 


6) Set corn job for auto.sh in employee system:
 
Add corn job for run auto.sh file every 5 mints

Open corn with run command

Crontab -e

   Add this line
   
   */5 * * * * sh /path/of/shfile/auto.sh


This auto.sh file automatically run every 5 mints and script take screenshot with scrot command and upload on mounted network shared drive.

Thanks for being here. Comment it below if you have query

Comments