Одному из наших поставщиков необходимо устранить проблему с приложением, выполнив удаленный вход на один из наших серверов. Им потребуется root-доступ, который я планирую предоставить через ssh и sudo.
Я обычно доверяю поставщику, иначе я бы не стал рассматривать это, но я хотел бы иметь некоторый журнал их действий.
Я пробовал установить судошь, но не смог запустить его из-за ошибок сегментации. Поиск дал несколько советов и подсказок, но серьезных вариантов не было.
Как я могу регистрировать весь вводимый вывод оболочки, созданный пользователем или sudo?
sudo
делает некоторые записи. Вы также можете ограничить, какие команды они могут использовать. Вы можете использовать возможность ведения журнала screen
(плюс его многоэкранный режим). Вы даже можете использовать мой Bash функции регистрации. Комбинация этого обеспечит несколько уровней страхования.
В конце концов, сложно помешать пользователю с привилегиями root обойти подобные вещи, так что будьте осторожны.
Не могли бы вы поделиться доступом к своему рабочему столу через что-то вроде vnc или альтернативы и не разрешить им доступ к консоли через ваш компьютер. Таким образом, вы можете сидеть и смотреть и точно видеть, что они делают?
script
"сделает машинописный текст терминальной сессии"
кажется, записывает все, что может быть удобно, но немного разваливается, если вы используете VIM или другие вещи, которые искажают VT.
Другая мысль, которая приходит на ум, - предоставить подрядчику данные для входа в «полностью безопасную учетную запись» (например, учетную запись без каких-либо разрешений) и заставить его запустить screen -x
для подключения к уже запущенной корневой оболочке (которую вы настроили и за которой следите). -исполнителю никогда не нужно знать пароли root или иметь доступ к sudo
и вы можете смотреть (и записывать, используя script
) все, что они делают.