Скрытые скриншоты в linux - scrot

Иногда (почти всегда) работодатель следит за тем, как сотрудник использует компьютеры.
В моей компании, где 95% компьютеров используют ОС Ubuntu, решение использовало scrot (SCReenshOT) - простую утилиту захвата экрана из командной строки.

команда для его установки
$ sudo apt install -y scrot

### ( step 01 )
### создать необходимые папки
mkdir -p /etc/.scrot; mkdir -p /mnt/desktop-sc; chmod 733 /mnt/desktop-sc;

### ( step 02 )
### desktop-sc_mount_credentials - создание файла для учетных данных, монтирование папки со скриншотами
(echo "username=sharedfolder_login"; echo "password=sharedfolder_pass";) > /etc/.scrot/.desktop-sc_mount_credentials;
chmod -R 700 /etc/.scrot/.desktop-sc_mount_credentials; chown root:root /etc/.scrot/.desktop-sc_mount_credentials;

### ( step 03 )
### записать путь к общей папке в /etc/fstab
head -n $(nl -ba /etc/fstab | grep UUID| tail -1 | awk '{print $1}') /etc/fstab > /tmp/fstab-clean;
cat /tmp/fstab-clean > /etc/fstab; (echo ""; echo "# Other projects screenshots folder"; echo "//10.0.0.10/screenshots/$(hostname | tr [:lower:] [:upper:]) /mnt/desktop-sc cifs uid=1001,gid=1001,credentials=/etc/.scrot/.desktop-sc_mount_credentials,file_mode=0333,dir_mode=0333 0";) >> /etc/fstab;

### ( step 04 )
### desktop-sc.sh - создание скрипта, который делает скриншоты
echo " while true; do scrot -d 120 -q 20 '/mnt/desktop-sc/%Y-%m-%d-%H-%M-%S.jpg'; done " > /etc/.scrot/desktop-sc.sh;
chmod 555 /etc/.scrot/desktop-sc.sh;

### ( step 05 )
### desktop-sc.desktop - создание ярлыка загрузки desktop-sc.sh
(echo '[Desktop Entry]';\
echo 'Type=Application';\
echo 'Hidden=false';\
echo 'NoDisplay=true';\
echo 'X-GNOME-Autostart-enabled=true';\
echo 'Name[en_US]=desktop-sc';\
echo 'Name=desktop-sc';\
echo 'Comment[en_US]=desktop-sc';\
echo 'Comment=desktop-sc';\
echo 'Exec=/etc/.scrot/desktop-sc.sh';) > /etc/.scrot/desktop-sc.desktop;
chmod 664 /etc/.scrot/desktop-sc.desktop;
cp /etc/.scrot/desktop-sc.desktop /etc/xdg/autostart/;

что касается скрипта, который делает скриншоты, то все, но в процессе работы заметил, что мошоночный отросток часто сам замыкается из-за различных ошибок.
Чтобы решить эту проблему, мы создали еще один скрипт, который проверяет и решает возможные проблемы.

### ( step 06 )
### /etc/.scrot/desktop-sc_status.sh - создание скрипта, который проверяет и решает проблемы с desktop-sc.sh
(echo '### wait 30 seconds to avoid startup errors';\
echo 'sleep 30 ;';\
echo '';\
echo '### check if SCROT works';\
echo 'if [ $(ps aux| grep scrot| grep -c mnt ) = '1' ]; then';\
echo 'sleep 0;';\
echo 'else';\
echo '### if SCROT does not work normally, closes all possible scrot processes';\
echo 'kill -9 $(ps aux | grep desktop-sc | awk '{print $2}'|xargs |sed -e 's/ / /g') ;';\
echo 'kill -9 $(ps aux | grep mnt | awk '{print $2}'|xargs |sed -e 's/ / /g') ;';\
echo ' ### wait 5 minutes for the rest of the processes to close';\
echo ' sleep 300 ;';\
echo '### check if SCROT works';\
echo ' if [ $(ps aux| grep scrot| grep -c mnt ) -gt '1' ]; then';\
echo ' sleep 0;';\
echo ' else';\
echo '### if SCROT does not work at all, it sets a "scrot" process that cannot be closed without Log-Out';\
echo ' $(while true; do scrot -d 120 -q 20 '/mnt/desktop-sc/%Y-%m-%d-%H-%M-%S.jpg' ; done) & ';\
echo ' sleep 122;';\
echo ' fi;';\
echo 'fi;';\
echo '';\
echo 'if [ $(ps aux |grep scrot |grep -c mnt ) = '1' ] && [ $(df -h |grep -c mnt ) = '1' ]; then';\
echo 'sleep 3600 && /etc/.scrot/desktop-sc_status.sh & exit ;';\
echo 'else';\
echo 'sleep 0;';\
echo 'fi; ';) > /etc/.scrot/desktop-sc_status.sh;
chmod 555 /etc/.scrot/desktop-sc_status.sh;

### ( step 07 )
### desktop-sc_status.desktop - создание ярлыка загрузки desktop-sc_status.sh
(echo '[Desktop Entry]';\
echo 'Type=Application';\
echo 'Hidden=false';\
echo 'NoDisplay=true';\
echo 'X-GNOME-Autostart-enabled=true';\
echo 'Name[en_US]=desktop-sc_status';\
echo 'Name=desktop-sc_status';\
echo 'Comment[en_US]=desktop-sc_status';\
echo 'Comment=desktop-sc_status';\
echo 'Exec=/etc/.scrot/desktop-sc_status.sh';) > /etc/.scrot/desktop-sc_status.desktop;
chmod 664 /etc/.scrot/desktop-sc_status.desktop;
cp /etc/.scrot/desktop-sc_status.desktop /etc/xdg/autostart/;

~  Fin ~

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества