
Я настроил его Apache Guacamole 0.9.14
на своем CentOS 7
компьютере nginx
как обратный прокси-сервер.
Я хочу предоставить ограниченный доступ некоторым моим сотрудникам к некоторым моим серверам через ssh
.
Некоторые из них SFTP
включены, и для предотвращения преднамеренного или случайного саботажа я редактирую функцию загрузки гуакамоле, чтобы загружать копию файла, загруженного на сам сервер гуакамоле, вместе с целевым сервером.
Мне было интересно, можно ли создать копию файлов, поступающих на целевые серверы через wget
, curl
и т. д.
Если бы я мог контролировать определенные команды на целевых серверах и выполнять некоторые действия перед их выполнением (например, резервное копирование файлов на сервере Гуакамоле перед выполнением любой rm -rf
команды или создание копии файла 'wget'
ed на сервере Гуакамоле), это было бы здорово.
Существует более тысячи серверов с различными ОС Linux, поэтому редактирование любого сервера, кроме самого сервера guacamole, невозможно.
Есть идеи, как контролировать команды перед выполнением на сервере гуакамоле, особенно на ssh
?
Я сам ответил на свой вопрос, но, прочитав мой ответ, вы поймете, что на самом деле я не ответил на свой вопрос, поэтому я не принимаю свой, и любые лучшие идеи приветствуются.
решение1
Я не смог найти способа достичь своей цели, но нашел немного хитрый способ сделать это на своих серверах.
Я изменил некоторые из своих команд следующим образом wget
и wget2
написал свою собственную wget
:
#!/bin/bash
wget2 $1 -P /tmp > /dev/null 2>&1 & wget2 $1
Еще немного пояснений:
Я перешел /usr/bin/wget
на , /usr/bin/wget2
поэтому у меня есть оригинал wget
, а затем написал свой собственный wget
, который при загрузке ссылки на этот каталог также загружает копию в /tmp
папку, которая не показывает никакого вывода в командной строке.
Я знаю, что пользователь может понять, wget2
что процесс запущен, когда он/она его выполняет ps
(перечисляет процессы), но меня это не волнует, потому что он знает, что я контролирую:)
Это как раз случай аудита.